@wisemen/wise-invoicing-web 0.0.3 → 0.0.4
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/{BillingDocumentDetailViewDataProvider-CwonTh2r.js → BillingDocumentDetailViewDataProvider-pePmiXWb.js} +332 -332
- package/dist/{BillingDocumentPdf-GWCCjE6F.js → BillingDocumentPdf-Dg5JlQE1.js} +8 -8
- package/dist/{CreditNoteDetailViewDataProvider-CaucKK9o.js → CreditNoteDetailViewDataProvider-C-A0jyVr.js} +5 -5
- package/dist/{CreditNotePdfViewDataProvider-CDkvm-3m.js → CreditNotePdfViewDataProvider-DNUvFVDj.js} +2 -2
- package/dist/{CustomFieldValueText-CC9spLWf.js → CustomFieldValueText-DDQq-975.js} +1 -1
- package/dist/{DunningCaseDetailViewDataProvider-1Ui9yqUb.js → DunningCaseDetailViewDataProvider-0WV-7-vg.js} +110 -113
- package/dist/DunningCaseOverviewView-CHdzfbhb.js +553 -0
- package/dist/{DunningCaseReminderPdfViewDataProvider-CVnr9ge6.js → DunningCaseReminderPdfViewDataProvider-DcM-7ECg.js} +4 -1
- package/dist/DunningCaseSendDialog-DBtwr2ue.js +350 -0
- package/dist/{InvoiceDetailViewDataProvider-DfRDFCEb.js → InvoiceDetailViewDataProvider-BDL9lAWe.js} +175 -174
- package/dist/{InvoiceOverviewViewDataProvider-CNK7H5r2.js → InvoiceOverviewViewDataProvider-B_jrcC_8.js} +54 -54
- package/dist/{InvoicePdfView-CrWU8Xa-.js → InvoicePdfView-Bygb-9z6.js} +2 -2
- package/dist/{InvoicePdfViewDataProvider-nHZoeRxn.js → InvoicePdfViewDataProvider-nBk3XNrE.js} +2 -2
- package/dist/{InvoicePublicPdfViewDataProvider-CXWSg2pq.js → InvoicePublicPdfViewDataProvider-DHJP_-7-.js} +2 -2
- package/dist/{IssuerSettingsViewDataProvider-DcA6rgOJ.js → IssuerSettingsViewDataProvider-Dk_Q6w6f.js} +2 -2
- package/dist/ReminderSettingsViewDataProvider-CDBjfU7R.js +668 -0
- package/dist/{billingDocumentDetail.transformer-tmy9Tf_b.js → billingDocumentDetail.transformer-zMTbka5p.js} +1 -1
- package/dist/composables/invoicingConfig.composable.d.ts +0 -2
- package/dist/{creditNoteDetail.query-BM2saU0n.js → creditNoteDetail.query-BZqgZRSu.js} +2 -2
- package/dist/{documentTitle.composable-D7XA-8iJ.js → documentTitle.composable-CeaFddr1.js} +28 -30
- package/dist/{invoicingConfig.composable-AjojW4qE.js → i18n.lib-DUbAMBRb.js} +8 -66
- package/dist/index.js +156 -157
- package/dist/{invoice.service-PsmVGGTR.js → invoice.service-ChHEtXBA.js} +13 -13
- package/dist/{invoiceDeliveryStatus.util-CL8K78pD.js → invoiceDeliveryStatus.util-BsA-MlA3.js} +27 -27
- package/dist/{invoiceDetail.query-D2eFdE0j.js → invoiceDetail.query-O_CGvdwg.js} +1 -1
- package/dist/invoicingConfig.composable-c6w_aMm1.js +60 -0
- package/dist/{issuerSettings.query-d5i7Wd7j.js → issuerSettings.query-RqtrZFaB.js} +1 -1
- package/dist/modules/dunning-case/api/queries/dunningCaseIndex.query.d.ts +0 -1
- package/dist/modules/dunning-case/use-cases/send/components/DunningCaseBulkSendStat.vue.d.ts +9 -0
- package/dist/modules/dunning-case/use-cases/send/components/DunningCaseBulkSendSummary.vue.d.ts +8 -0
- package/dist/modules/dunning-case/use-cases/send/components/DunningCaseSendFeeRow.vue.d.ts +8 -0
- package/dist/modules/dunning-case/use-cases/send/components/DunningCaseSendInvoiceRow.vue.d.ts +8 -0
- package/dist/modules/dunning-case/use-cases/send/components/DunningCaseSendInvoiceSummary.vue.d.ts +8 -0
- package/dist/modules/dunning-case/use-cases/send/components/DunningCaseSendRecipientAlert.vue.d.ts +7 -0
- package/dist/modules/dunning-case/use-cases/send/composables/dunningCaseReminderSubject.composable.d.ts +6 -0
- package/dist/modules/dunning-case/use-cases/send/composables/dunningCaseSendRecipient.composable.d.ts +16 -0
- package/dist/modules/dunning-case/use-cases/send/utils/dunningCaseSend.util.d.ts +13 -0
- package/dist/modules/dunning-case/use-cases/settings/components/ReminderLadderFeeNotice.vue.d.ts +3 -0
- package/dist/modules/dunning-case/use-cases/settings/components/ReminderLadderPanel.vue.d.ts +12 -0
- package/dist/modules/dunning-case/use-cases/settings/components/ReminderLadderRow.vue.d.ts +26 -0
- package/dist/modules/dunning-case/use-cases/settings/components/ReminderLadderTimeline.vue.d.ts +13 -0
- package/dist/modules/dunning-case/use-cases/settings/components/ReminderTemplateTabs.vue.d.ts +20 -0
- package/dist/modules/dunning-case/use-cases/settings/components/ReminderTemplatesPanel.vue.d.ts +24 -0
- package/dist/modules/dunning-case/use-cases/settings/composables/reminderLadder.composable.d.ts +41 -0
- package/dist/{reminderConfig.query-C7I3M2pu.js → reminderConfig.query-DzTN2AvU.js} +87 -100
- package/package.json +1 -1
- package/dist/DunningCaseOverviewView-Bvwaj4_y.js +0 -507
- package/dist/PermissionGuard-DDw-lDGL.js +0 -301
- package/dist/ReminderSettingsViewDataProvider-C4qz2Rli.js +0 -502
- package/dist/composables/permission-guard/permissionGuard.composable.d.ts +0 -4
- package/dist/modules/dunning-case/api/queries/dunningCaseIndex.query.spec.d.ts +0 -1
- package/dist/ui/permission-guard/PermissionGuard.vue.d.ts +0 -22
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { l as
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
1
|
+
import { l as e, m as t, s as n, t as r } from "./api.util-Dm_TQedZ.js";
|
|
2
|
+
import { S as i, g as a, h as o, i as s, l as c, m as l, n as u, o as d, r as f, s as p, t as m, x as h } from "./documentTitle.composable-CeaFddr1.js";
|
|
3
|
+
import { n as g, r as _, t as v } from "./useCurrencyFormat.composable-MtZaqKnO.js";
|
|
4
|
+
import { r as y, t as b } from "./invoice.service-ChHEtXBA.js";
|
|
5
|
+
import { o as x } from "./billingDocumentDetail.transformer-zMTbka5p.js";
|
|
6
|
+
import { n as ee } from "./invoicingConfig.composable-c6w_aMm1.js";
|
|
7
7
|
import { n as te } from "./address.transformer-B8C0pwT1.js";
|
|
8
8
|
import { A as ne, B as S, E as re, F as ie, I as ae, N as oe, P as C, U as se, V as ce, X as le, Y as ue, _ as de, b as fe, f as pe, j as me, m as he, n as ge, nt as _e, o as ve, p as ye, q as be, r as xe, s as Se, t as Ce, tt as we, u as Te, w as Ee, y as De, z as Oe } from "./dist-DP8KNFVD.js";
|
|
9
9
|
import { n as ke } from "./dist-YTXTCfo1.js";
|
|
10
|
-
import { n as Ae, t as je } from "./CustomFieldValueText-
|
|
10
|
+
import { n as Ae, t as je } from "./CustomFieldValueText-DDQq-975.js";
|
|
11
11
|
import { t as Me } from "./DataProvider-CfHLB3rH.js";
|
|
12
12
|
import { t as Ne } from "./formango.util-D5c2ql--.js";
|
|
13
13
|
import { t as Pe } from "./_plugin-vue_export-helper-B3ysoDQm.js";
|
|
14
14
|
import { t as Fe } from "./dashboard-BaWGNEek.js";
|
|
15
|
-
import { n as Ie, r as Le, t as Re } from "./BillingDocumentPdf-
|
|
15
|
+
import { n as Ie, r as Le, t as Re } from "./BillingDocumentPdf-Dg5JlQE1.js";
|
|
16
16
|
import { useViewModels as ze } from "@wisemen/vue-core-actions";
|
|
17
17
|
import { RouterLink as Be, useRouter as Ve } from "vue-router";
|
|
18
18
|
import He, { z as w } from "zod";
|
|
@@ -40,26 +40,26 @@ function bn(e) {
|
|
|
40
40
|
var xn = class {
|
|
41
41
|
value;
|
|
42
42
|
colorMap = /* @__PURE__ */ new Map([
|
|
43
|
-
[
|
|
44
|
-
[
|
|
45
|
-
[
|
|
46
|
-
[
|
|
47
|
-
[
|
|
48
|
-
[
|
|
49
|
-
[
|
|
50
|
-
[
|
|
51
|
-
[
|
|
43
|
+
[l.CREDITED, "success"],
|
|
44
|
+
[l.DRAFT, "gray"],
|
|
45
|
+
[l.FINALIZED, "brand"],
|
|
46
|
+
[l.OVERDUE, "error"],
|
|
47
|
+
[l.OVERPAID, "warning"],
|
|
48
|
+
[l.PAID, "success"],
|
|
49
|
+
[l.PROTESTED, "warning"],
|
|
50
|
+
[l.READY, "blue"],
|
|
51
|
+
[l.SENT, "purple"]
|
|
52
52
|
]);
|
|
53
53
|
i18nKeyMap = /* @__PURE__ */ new Map([
|
|
54
|
-
[
|
|
55
|
-
[
|
|
56
|
-
[
|
|
57
|
-
[
|
|
58
|
-
[
|
|
59
|
-
[
|
|
60
|
-
[
|
|
61
|
-
[
|
|
62
|
-
[
|
|
54
|
+
[l.CREDITED, "wise_invoicing.invoice.status.credited"],
|
|
55
|
+
[l.DRAFT, "wise_invoicing.invoice.status.draft"],
|
|
56
|
+
[l.FINALIZED, "wise_invoicing.invoice.status.finalized"],
|
|
57
|
+
[l.OVERDUE, "wise_invoicing.invoice.status.overdue"],
|
|
58
|
+
[l.OVERPAID, "wise_invoicing.invoice.status.overpaid"],
|
|
59
|
+
[l.PAID, "wise_invoicing.invoice.status.paid"],
|
|
60
|
+
[l.PROTESTED, "wise_invoicing.invoice.status.protested"],
|
|
61
|
+
[l.READY, "wise_invoicing.invoice.status.ready"],
|
|
62
|
+
[l.SENT, "wise_invoicing.invoice.status.sent"]
|
|
63
63
|
]);
|
|
64
64
|
constructor(e) {
|
|
65
65
|
this.value = e;
|
|
@@ -70,39 +70,39 @@ var xn = class {
|
|
|
70
70
|
get translationKey() {
|
|
71
71
|
return this.i18nKeyMap.get(this.value) ?? "wise_invoicing.invoice.status.draft";
|
|
72
72
|
}
|
|
73
|
-
}, Sn = new Set(Object.values(
|
|
73
|
+
}, Sn = new Set(Object.values(a)), Cn = class i {
|
|
74
74
|
static async confirmUpload(e, t) {
|
|
75
|
-
let
|
|
75
|
+
let i = await r.fromPromise(n({
|
|
76
76
|
body: { blurHash: t },
|
|
77
77
|
path: { file: e }
|
|
78
78
|
}));
|
|
79
|
-
return
|
|
79
|
+
return r.void(i);
|
|
80
80
|
}
|
|
81
81
|
static async getDownloadUrl(e) {
|
|
82
|
-
let
|
|
82
|
+
let n = await t({
|
|
83
83
|
parseAs: "blob",
|
|
84
84
|
responseStyle: "fields",
|
|
85
85
|
path: { file: e }
|
|
86
86
|
});
|
|
87
|
-
return
|
|
87
|
+
return n.data === void 0 ? null : n.response.url;
|
|
88
88
|
}
|
|
89
|
-
static async getFileInfo(
|
|
90
|
-
return (await
|
|
91
|
-
name:
|
|
92
|
-
mimeType:
|
|
89
|
+
static async getFileInfo(t, n) {
|
|
90
|
+
return (await r.fromPromise(e({ body: {
|
|
91
|
+
name: t,
|
|
92
|
+
mimeType: i.normalizeMimeType(n)
|
|
93
93
|
} }))).map((e) => ({
|
|
94
94
|
uuid: e.data.uuid,
|
|
95
95
|
uploadUrl: e.data.uploadUrl
|
|
96
96
|
}));
|
|
97
97
|
}
|
|
98
98
|
static normalizeMimeType(e) {
|
|
99
|
-
return Sn.has(e) ? e :
|
|
99
|
+
return Sn.has(e) ? e : a.APPLICATION_OCTET_STREAM;
|
|
100
100
|
}
|
|
101
|
-
static preprocess(
|
|
102
|
-
let
|
|
103
|
-
return
|
|
104
|
-
lastModified:
|
|
105
|
-
type:
|
|
101
|
+
static preprocess(e) {
|
|
102
|
+
let t = i.normalizeMimeType(e.type);
|
|
103
|
+
return e.type === t ? Promise.resolve(e) : Promise.resolve(new File([e], e.name, {
|
|
104
|
+
lastModified: e.lastModified,
|
|
105
|
+
type: t
|
|
106
106
|
}));
|
|
107
107
|
}
|
|
108
108
|
}, wn = "wise-invoicing.billing-document.finalize-confirmation.skip";
|
|
@@ -375,78 +375,78 @@ var En = /* @__PURE__ */ N({
|
|
|
375
375
|
},
|
|
376
376
|
setup(e) {
|
|
377
377
|
let t = e, n = [
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
378
|
+
s.INVOICE_CREATED,
|
|
379
|
+
s.INVOICE_UPDATED,
|
|
380
|
+
s.INVOICE_FINALIZED,
|
|
381
|
+
s.INVOICE_SENT,
|
|
382
|
+
s.CREDIT_NOTE_CREATED,
|
|
383
|
+
s.CREDIT_NOTE_UPDATED
|
|
384
384
|
], r = T(), i = ke(), a = D(() => t.entries.filter(o));
|
|
385
385
|
function o(e) {
|
|
386
386
|
return n.includes(e.action);
|
|
387
387
|
}
|
|
388
|
-
function
|
|
388
|
+
function c(e, t) {
|
|
389
389
|
return e.find((e) => e.role === t);
|
|
390
390
|
}
|
|
391
|
-
function
|
|
391
|
+
function l(e) {
|
|
392
392
|
if (e !== void 0 && (e.uuid !== t.currentBillingDocument.uuid || e.role !== t.currentBillingDocument.role)) switch (e.role) {
|
|
393
|
-
case
|
|
393
|
+
case f.INVOICE: return {
|
|
394
394
|
name: "invoicing-invoice-detail",
|
|
395
395
|
params: { invoiceUuid: e.uuid }
|
|
396
396
|
};
|
|
397
|
-
case
|
|
397
|
+
case f.CREDIT_NOTE: return {
|
|
398
398
|
name: "invoicing-credit-note-detail",
|
|
399
399
|
params: { creditNoteUuid: e.uuid }
|
|
400
400
|
};
|
|
401
401
|
}
|
|
402
402
|
}
|
|
403
|
-
function
|
|
403
|
+
function d(e) {
|
|
404
404
|
return {
|
|
405
405
|
text: e,
|
|
406
406
|
variant: "text"
|
|
407
407
|
};
|
|
408
408
|
}
|
|
409
|
-
function
|
|
409
|
+
function p(e, t) {
|
|
410
410
|
let n = {
|
|
411
411
|
text: e,
|
|
412
412
|
variant: "emphasis"
|
|
413
413
|
};
|
|
414
414
|
return t !== void 0 && (n.to = t), n;
|
|
415
415
|
}
|
|
416
|
-
function
|
|
417
|
-
let t =
|
|
418
|
-
return
|
|
416
|
+
function m(e) {
|
|
417
|
+
let t = c(e, f.INVOICE);
|
|
418
|
+
return p(t?.label ?? r.t("wise_invoicing.invoice.detail.activity_log.draft_invoice"), l(t));
|
|
419
419
|
}
|
|
420
420
|
function h(e) {
|
|
421
|
-
let t =
|
|
422
|
-
return
|
|
421
|
+
let t = c(e, f.CREDIT_NOTE);
|
|
422
|
+
return p(t?.label ?? r.t("wise_invoicing.invoice.detail.activity_log.draft_credit"), l(t));
|
|
423
423
|
}
|
|
424
424
|
function g(e) {
|
|
425
425
|
switch (e.action) {
|
|
426
|
-
case
|
|
427
|
-
case
|
|
428
|
-
case
|
|
429
|
-
case
|
|
430
|
-
case
|
|
431
|
-
|
|
432
|
-
|
|
426
|
+
case s.INVOICE_CREATED: return [m(e.entities), d(r.t("wise_invoicing.invoice.detail.activity_log.action.invoice_created"))];
|
|
427
|
+
case s.INVOICE_UPDATED: return [m(e.entities), d(r.t("wise_invoicing.invoice.detail.activity_log.action.invoice_updated"))];
|
|
428
|
+
case s.INVOICE_FINALIZED: return [m(e.entities), d(r.t("wise_invoicing.invoice.detail.activity_log.action.invoice_finalized"))];
|
|
429
|
+
case s.INVOICE_SENT: return [m(e.entities), d(r.t("wise_invoicing.invoice.detail.activity_log.action.invoice_sent"))];
|
|
430
|
+
case s.CREDIT_NOTE_CREATED: return [
|
|
431
|
+
m(e.entities),
|
|
432
|
+
d(r.t("wise_invoicing.invoice.detail.activity_log.action.credit_note_created")),
|
|
433
433
|
h(e.entities)
|
|
434
434
|
];
|
|
435
|
-
case
|
|
435
|
+
case s.CREDIT_NOTE_UPDATED: return [h(e.entities), d(r.t("wise_invoicing.invoice.detail.activity_log.action.credit_note_updated"))];
|
|
436
436
|
}
|
|
437
437
|
}
|
|
438
438
|
function _(e) {
|
|
439
439
|
switch (e.action) {
|
|
440
|
-
case
|
|
441
|
-
case
|
|
442
|
-
case
|
|
443
|
-
case
|
|
444
|
-
case
|
|
445
|
-
case
|
|
440
|
+
case s.INVOICE_FINALIZED: return ae;
|
|
441
|
+
case s.INVOICE_SENT: return _e;
|
|
442
|
+
case s.INVOICE_UPDATED:
|
|
443
|
+
case s.CREDIT_NOTE_UPDATED: return C;
|
|
444
|
+
case s.CREDIT_NOTE_CREATED: return se;
|
|
445
|
+
case s.INVOICE_CREATED: return ce;
|
|
446
446
|
}
|
|
447
447
|
}
|
|
448
448
|
function v(e) {
|
|
449
|
-
return e.actorType ===
|
|
449
|
+
return e.actorType === u.USER && e.actor !== null && ([e.actor.firstName, e.actor.lastName].filter(Boolean).join(" ") || e.actor.email) || r.t("wise_invoicing.invoice.detail.activity_log.actor.system");
|
|
450
450
|
}
|
|
451
451
|
function y(e) {
|
|
452
452
|
return i.toDateTime(e.createdAt);
|
|
@@ -542,7 +542,7 @@ var En = /* @__PURE__ */ N({
|
|
|
542
542
|
__name: "BillingDocumentDetailSidebarOriginalInvoiceSection",
|
|
543
543
|
props: { originalInvoice: {} },
|
|
544
544
|
setup(e) {
|
|
545
|
-
let t = e, n = T(), r =
|
|
545
|
+
let t = e, n = T(), r = _(), i = D(() => {
|
|
546
546
|
if (t.originalInvoice === null) return null;
|
|
547
547
|
let e = new xn(t.originalInvoice.status);
|
|
548
548
|
return {
|
|
@@ -626,7 +626,7 @@ var En = /* @__PURE__ */ N({
|
|
|
626
626
|
//#region src/modules/invoice/api/mutations/invoiceUpdateAttachments.mutation.ts
|
|
627
627
|
function Hn() {
|
|
628
628
|
return vt({
|
|
629
|
-
queryFn: (e) =>
|
|
629
|
+
queryFn: (e) => b.updateAttachments(e.params.invoiceUuid, e.body),
|
|
630
630
|
queryKeysToInvalidate: { invoiceDetail: { invoiceUuid: (e) => e.invoiceUuid } }
|
|
631
631
|
});
|
|
632
632
|
}
|
|
@@ -687,7 +687,7 @@ var Un = w.object({
|
|
|
687
687
|
props: { billingDocument: {} },
|
|
688
688
|
setup(e) {
|
|
689
689
|
let t = e, n = T(), r = _n(), i = Hn(), a = vn({
|
|
690
|
-
initialState: D(() =>
|
|
690
|
+
initialState: D(() => y.toForm(t.billingDocument.attachments)),
|
|
691
691
|
schema: Wn,
|
|
692
692
|
onSubmit: async (e) => {
|
|
693
693
|
let n = await i.execute({
|
|
@@ -826,20 +826,20 @@ function rr(e) {
|
|
|
826
826
|
//#endregion
|
|
827
827
|
//#region src/ui/billing-document/table/billingDocumentLineItemsTable.context.ts
|
|
828
828
|
var [ir, ar] = rr("BillingDocumentLineItemsTable"), or = [
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
829
|
+
i._0,
|
|
830
|
+
i._6,
|
|
831
|
+
i._12,
|
|
832
|
+
i._21
|
|
833
833
|
], sr = [
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
834
|
+
h.PIECE,
|
|
835
|
+
h.HOUR,
|
|
836
|
+
h.DAY,
|
|
837
|
+
h.KILOMETER,
|
|
838
|
+
h.KILOGRAM,
|
|
839
|
+
h.METER,
|
|
840
|
+
h.CUBIC_METER,
|
|
841
|
+
h.SQUARE_METER,
|
|
842
|
+
h.LITRE
|
|
843
843
|
], H = class {
|
|
844
844
|
static buildBillingDocumentLineItemsPayload(e, t) {
|
|
845
845
|
let n = [], r = /* @__PURE__ */ new Map(), i = [], a = 1;
|
|
@@ -899,7 +899,7 @@ var [ir, ar] = rr("BillingDocumentLineItemsTable"), or = [
|
|
|
899
899
|
amount: null,
|
|
900
900
|
description: null,
|
|
901
901
|
percentage: e,
|
|
902
|
-
type:
|
|
902
|
+
type: c.PERCENTAGE
|
|
903
903
|
};
|
|
904
904
|
}
|
|
905
905
|
static createBillingDocumentLineItemDisplayRows(e, t) {
|
|
@@ -929,7 +929,7 @@ var [ir, ar] = rr("BillingDocumentLineItemsTable"), or = [
|
|
|
929
929
|
quantity: this.getSignedQuantity(e, t.quantity),
|
|
930
930
|
type: "line",
|
|
931
931
|
unit: t.unit,
|
|
932
|
-
unitPrice:
|
|
932
|
+
unitPrice: v(t.unitPrice.amount, t.unitPrice.precision),
|
|
933
933
|
vatRate: t.vatRate
|
|
934
934
|
};
|
|
935
935
|
}
|
|
@@ -986,7 +986,7 @@ var [ir, ar] = rr("BillingDocumentLineItemsTable"), or = [
|
|
|
986
986
|
quantity: t.quantity,
|
|
987
987
|
unit: t.unit,
|
|
988
988
|
unitPrice: {
|
|
989
|
-
amount:
|
|
989
|
+
amount: g(t.unitPrice, e.precision),
|
|
990
990
|
currency: e.currency,
|
|
991
991
|
precision: e.precision
|
|
992
992
|
},
|
|
@@ -1013,11 +1013,11 @@ var [ir, ar] = rr("BillingDocumentLineItemsTable"), or = [
|
|
|
1013
1013
|
customFields: [],
|
|
1014
1014
|
description: null,
|
|
1015
1015
|
discountPercentage: null,
|
|
1016
|
-
quantity: e.documentType ===
|
|
1016
|
+
quantity: e.documentType === o.CREDIT_NOTE ? -1 : 1,
|
|
1017
1017
|
type: "line",
|
|
1018
|
-
unit:
|
|
1019
|
-
unitPrice:
|
|
1020
|
-
vatRate:
|
|
1018
|
+
unit: h.PIECE,
|
|
1019
|
+
unitPrice: v(0, e.precision),
|
|
1020
|
+
vatRate: i._21
|
|
1021
1021
|
};
|
|
1022
1022
|
}
|
|
1023
1023
|
static deleteSelectedRows(e, t) {
|
|
@@ -1073,7 +1073,7 @@ var [ir, ar] = rr("BillingDocumentLineItemsTable"), or = [
|
|
|
1073
1073
|
return r === -1 ? t : r;
|
|
1074
1074
|
}
|
|
1075
1075
|
static getSignedQuantity(e, t) {
|
|
1076
|
-
return e !==
|
|
1076
|
+
return e !== o.CREDIT_NOTE || t <= 0 ? t : -t;
|
|
1077
1077
|
}
|
|
1078
1078
|
static groupSelectedRows(e, t, n) {
|
|
1079
1079
|
let r = e.filter((e) => this.isLineRow(e) && t.has(e.id)).map((e) => ({
|
|
@@ -1334,16 +1334,16 @@ var [ir, ar] = rr("BillingDocumentLineItemsTable"), or = [
|
|
|
1334
1334
|
}
|
|
1335
1335
|
}), vr = class {
|
|
1336
1336
|
static getDisplayGrossLineTotal(e, t, n) {
|
|
1337
|
-
return e ===
|
|
1337
|
+
return e === o.CREDIT_NOTE && n ? Math.abs(t) : this.getDisplayNumber(e, t);
|
|
1338
1338
|
}
|
|
1339
1339
|
static getDisplayMonetary(e, t) {
|
|
1340
|
-
return e !==
|
|
1340
|
+
return e !== o.CREDIT_NOTE || t.amount <= 0 ? t : {
|
|
1341
1341
|
...t,
|
|
1342
1342
|
amount: -t.amount
|
|
1343
1343
|
};
|
|
1344
1344
|
}
|
|
1345
1345
|
static getDisplayNumber(e, t) {
|
|
1346
|
-
return e !==
|
|
1346
|
+
return e !== o.CREDIT_NOTE || t <= 0 ? t : -t;
|
|
1347
1347
|
}
|
|
1348
1348
|
}, yr = ["aria-label"], br = { class: "w-72 py-xxs" }, xr = { class: "text-sm font-semibold text-primary" }, Sr = { class: "text-xs text-tertiary" }, Cr = { class: "text-sm font-semibold text-primary" }, wr = { class: "text-xs text-tertiary" }, Tr = /* @__PURE__ */ N({
|
|
1349
1349
|
__name: "BillingDocumentLineItemsInsertIndicator",
|
|
@@ -1609,7 +1609,7 @@ var [ir, ar] = rr("BillingDocumentLineItemsTable"), or = [
|
|
|
1609
1609
|
},
|
|
1610
1610
|
emits: ["toggleCollapse"],
|
|
1611
1611
|
setup(e, { emit: t }) {
|
|
1612
|
-
let n = e, r = t, i = T(), a =
|
|
1612
|
+
let n = e, r = t, i = T(), a = _(), o = ar(), s = gn().create(Dr), c = ft("editFieldsRef"), l = I(n.group.name === ""), u = I("name"), d = D(() => n.group.name || i.t("wise_invoicing.invoice.detail.line_items.group_placeholder"));
|
|
1613
1613
|
function f(e, t) {
|
|
1614
1614
|
return Math.min(Math.max((e == null || e === "" ? t : e).length, 10), 64);
|
|
1615
1615
|
}
|
|
@@ -1625,7 +1625,7 @@ var [ir, ar] = rr("BillingDocumentLineItemsTable"), or = [
|
|
|
1625
1625
|
onSubmit: (e) => {
|
|
1626
1626
|
p(e) && o.mutations.updateGroup(n.group.id, e);
|
|
1627
1627
|
}
|
|
1628
|
-
}), h = m.register("name"), g = m.register("description"),
|
|
1628
|
+
}), h = m.register("name"), g = m.register("description"), v = D(() => f(m.state.value.name, d.value)), y = D(() => f(m.state.value.description, i.t("wise_invoicing.invoice.detail.line_items.group_description_placeholder"))), b = D(() => o.rows.value.filter((e) => H.isLineRow(e) && e.groupId === n.group.id).map((e) => e.id)), x = D(() => b.value.length > 0 && b.value.every((e) => o.selection.isSelected(e))), ee = D(() => !x.value && b.value.some((e) => o.selection.isSelected(e)));
|
|
1629
1629
|
function te() {
|
|
1630
1630
|
let e = !x.value;
|
|
1631
1631
|
for (let t of b.value) e !== o.selection.isSelected(t) && o.selection.toggleRow(t);
|
|
@@ -1728,7 +1728,7 @@ var [ir, ar] = rr("BillingDocumentLineItemsTable"), or = [
|
|
|
1728
1728
|
id: S("name"),
|
|
1729
1729
|
label: R(i).t("wise_invoicing.invoice.detail.line_items.group_label"),
|
|
1730
1730
|
placeholder: R(i).t("wise_invoicing.invoice.detail.line_items.group_placeholder"),
|
|
1731
|
-
size:
|
|
1731
|
+
size: v.value,
|
|
1732
1732
|
"is-disabled": !R(o).isEditable.value,
|
|
1733
1733
|
class: "font-semibold",
|
|
1734
1734
|
variant: "ghost",
|
|
@@ -1850,17 +1850,17 @@ var [ir, ar] = rr("BillingDocumentLineItemsTable"), or = [
|
|
|
1850
1850
|
description: w.string().nullable(),
|
|
1851
1851
|
discountPercentage: w.number().min(0).max(100).nullable(),
|
|
1852
1852
|
quantity: w.number().positive().max(1e5),
|
|
1853
|
-
unit: w.enum(
|
|
1853
|
+
unit: w.enum(h),
|
|
1854
1854
|
unitPrice: w.number().nonnegative().max(5e11),
|
|
1855
|
-
vatRate: w.enum(
|
|
1855
|
+
vatRate: w.enum(i)
|
|
1856
1856
|
}), Wr = w.object({
|
|
1857
1857
|
name: w.string().trim().min(1),
|
|
1858
1858
|
description: w.string().nullable(),
|
|
1859
1859
|
discountPercentage: w.number().min(0).max(100).nullable(),
|
|
1860
1860
|
quantity: w.number().negative().min(-1e5),
|
|
1861
|
-
unit: w.enum(
|
|
1861
|
+
unit: w.enum(h),
|
|
1862
1862
|
unitPrice: w.number().nonnegative().max(5e11),
|
|
1863
|
-
vatRate: w.enum(
|
|
1863
|
+
vatRate: w.enum(i)
|
|
1864
1864
|
}), Gr = class {
|
|
1865
1865
|
static findByDefinition(e, t) {
|
|
1866
1866
|
return e.find((e) => e.definitionUuid === t) ?? null;
|
|
@@ -1873,51 +1873,51 @@ var [ir, ar] = rr("BillingDocumentLineItemsTable"), or = [
|
|
|
1873
1873
|
//#region src/modules/custom-field/composables/customFieldValueModel.composable.ts
|
|
1874
1874
|
function Kr(e) {
|
|
1875
1875
|
let { currency: t, definition: n, precision: r, value: i } = e, a = D({
|
|
1876
|
-
get: () => i.value?.type ===
|
|
1876
|
+
get: () => i.value?.type === p.TEXT ? i.value.value : null,
|
|
1877
1877
|
set: (e) => {
|
|
1878
1878
|
i.value = e === null || e.trim() === "" ? null : {
|
|
1879
1879
|
definitionUuid: n().uuid,
|
|
1880
|
-
type:
|
|
1880
|
+
type: p.TEXT,
|
|
1881
1881
|
value: e
|
|
1882
1882
|
};
|
|
1883
1883
|
}
|
|
1884
1884
|
}), o = D({
|
|
1885
|
-
get: () => i.value?.type ===
|
|
1885
|
+
get: () => i.value?.type === p.TEXT_ARRAY ? i.value.value : [],
|
|
1886
1886
|
set: (e) => {
|
|
1887
1887
|
i.value = e.length === 0 ? null : {
|
|
1888
1888
|
definitionUuid: n().uuid,
|
|
1889
|
-
type:
|
|
1889
|
+
type: p.TEXT_ARRAY,
|
|
1890
1890
|
value: e
|
|
1891
1891
|
};
|
|
1892
1892
|
}
|
|
1893
1893
|
}), s = D({
|
|
1894
|
-
get: () => i.value?.type ===
|
|
1894
|
+
get: () => i.value?.type === p.NUMBER ? i.value.value : null,
|
|
1895
1895
|
set: (e) => {
|
|
1896
1896
|
i.value = e === null ? null : {
|
|
1897
1897
|
definitionUuid: n().uuid,
|
|
1898
|
-
type:
|
|
1898
|
+
type: p.NUMBER,
|
|
1899
1899
|
value: e
|
|
1900
1900
|
};
|
|
1901
1901
|
}
|
|
1902
1902
|
}), c = D({
|
|
1903
|
-
get: () => i.value?.type ===
|
|
1903
|
+
get: () => i.value?.type === p.BOOLEAN && i.value.value,
|
|
1904
1904
|
set: (e) => {
|
|
1905
1905
|
i.value = {
|
|
1906
1906
|
definitionUuid: n().uuid,
|
|
1907
|
-
type:
|
|
1907
|
+
type: p.BOOLEAN,
|
|
1908
1908
|
value: e
|
|
1909
1909
|
};
|
|
1910
1910
|
}
|
|
1911
1911
|
}), l = D({
|
|
1912
|
-
get: () => i.value?.type ===
|
|
1912
|
+
get: () => i.value?.type === p.DATE && i.value.value instanceof wt.PlainDate ? i.value.value : null,
|
|
1913
1913
|
set: (e) => {
|
|
1914
1914
|
i.value = e === null ? null : {
|
|
1915
1915
|
definitionUuid: n().uuid,
|
|
1916
|
-
type:
|
|
1916
|
+
type: p.DATE,
|
|
1917
1917
|
value: e
|
|
1918
1918
|
};
|
|
1919
1919
|
}
|
|
1920
|
-
}), u = D(() => i.value?.type ===
|
|
1920
|
+
}), u = D(() => i.value?.type === p.TIMESTAMP ? i.value.value.toZonedDateTimeISO(wt.Now.timeZoneId()) : null);
|
|
1921
1921
|
function d(e, t) {
|
|
1922
1922
|
if (e === null) {
|
|
1923
1923
|
i.value = null;
|
|
@@ -1925,7 +1925,7 @@ function Kr(e) {
|
|
|
1925
1925
|
}
|
|
1926
1926
|
i.value = {
|
|
1927
1927
|
definitionUuid: n().uuid,
|
|
1928
|
-
type:
|
|
1928
|
+
type: p.TIMESTAMP,
|
|
1929
1929
|
value: e.toZonedDateTime({
|
|
1930
1930
|
plainTime: t ?? new wt.PlainTime(),
|
|
1931
1931
|
timeZone: wt.Now.timeZoneId()
|
|
@@ -1937,52 +1937,52 @@ function Kr(e) {
|
|
|
1937
1937
|
set: (e) => {
|
|
1938
1938
|
d(e, u.value?.toPlainTime() ?? null);
|
|
1939
1939
|
}
|
|
1940
|
-
}),
|
|
1940
|
+
}), m = D({
|
|
1941
1941
|
get: () => u.value?.toPlainTime() ?? null,
|
|
1942
1942
|
set: (e) => {
|
|
1943
1943
|
d(u.value?.toPlainDate() ?? null, e);
|
|
1944
1944
|
}
|
|
1945
|
-
}),
|
|
1946
|
-
get: () => i.value?.type ===
|
|
1945
|
+
}), h = D({
|
|
1946
|
+
get: () => i.value?.type === p.SINGLE_SELECT ? i.value.value : null,
|
|
1947
1947
|
set: (e) => {
|
|
1948
1948
|
i.value = e === null ? null : {
|
|
1949
1949
|
definitionUuid: n().uuid,
|
|
1950
|
-
type:
|
|
1950
|
+
type: p.SINGLE_SELECT,
|
|
1951
1951
|
value: e
|
|
1952
1952
|
};
|
|
1953
1953
|
}
|
|
1954
|
-
}),
|
|
1955
|
-
get: () => i.value?.type ===
|
|
1954
|
+
}), _ = D({
|
|
1955
|
+
get: () => i.value?.type === p.MULTI_SELECT ? i.value.value : [],
|
|
1956
1956
|
set: (e) => {
|
|
1957
1957
|
i.value = e.length === 0 ? null : {
|
|
1958
1958
|
definitionUuid: n().uuid,
|
|
1959
|
-
type:
|
|
1959
|
+
type: p.MULTI_SELECT,
|
|
1960
1960
|
value: e
|
|
1961
1961
|
};
|
|
1962
1962
|
}
|
|
1963
|
-
}),
|
|
1963
|
+
}), y = D(() => i.value?.type === p.MONETARY ? i.value.value.precision : r());
|
|
1964
1964
|
return {
|
|
1965
1965
|
timestampDate: f,
|
|
1966
|
-
timestampTime:
|
|
1966
|
+
timestampTime: m,
|
|
1967
1967
|
boolean: c,
|
|
1968
1968
|
date: l,
|
|
1969
1969
|
monetary: D({
|
|
1970
|
-
get: () => i.value?.type ===
|
|
1970
|
+
get: () => i.value?.type === p.MONETARY ? v(i.value.value.amount, y.value) : null,
|
|
1971
1971
|
set: (e) => {
|
|
1972
1972
|
i.value = e === null ? null : {
|
|
1973
1973
|
definitionUuid: n().uuid,
|
|
1974
|
-
type:
|
|
1974
|
+
type: p.MONETARY,
|
|
1975
1975
|
value: {
|
|
1976
|
-
amount:
|
|
1976
|
+
amount: g(e, y.value),
|
|
1977
1977
|
currency: t(),
|
|
1978
|
-
precision:
|
|
1978
|
+
precision: y.value
|
|
1979
1979
|
}
|
|
1980
1980
|
};
|
|
1981
1981
|
}
|
|
1982
1982
|
}),
|
|
1983
|
-
multiSelect:
|
|
1983
|
+
multiSelect: _,
|
|
1984
1984
|
number: s,
|
|
1985
|
-
singleSelect:
|
|
1985
|
+
singleSelect: h,
|
|
1986
1986
|
text: a,
|
|
1987
1987
|
textArray: o
|
|
1988
1988
|
};
|
|
@@ -2012,18 +2012,18 @@ var qr = /* @__PURE__ */ N({
|
|
|
2012
2012
|
value: n
|
|
2013
2013
|
}), a = D(() => {
|
|
2014
2014
|
let e = Ae.getLabel(t.definition, r.locale.value);
|
|
2015
|
-
return t.definition.type ===
|
|
2015
|
+
return t.definition.type === p.MONETARY ? `${e} (${t.currency})` : e;
|
|
2016
2016
|
}), o = D(() => ({
|
|
2017
2017
|
isDisabled: t.isDisabled ?? !1,
|
|
2018
2018
|
isLabelHidden: t.isLabelHidden ?? !1,
|
|
2019
2019
|
isRequired: t.definition.isRequired,
|
|
2020
2020
|
helpText: t.definition.description === null ? null : Ae.getLocalizedValue(t.definition.description, r.locale.value),
|
|
2021
2021
|
label: a.value
|
|
2022
|
-
})), s = D(() => mn(t.definition.choices.toSorted((e, t) => e.order - t.order).map((e) => e.value))), c = D(() => n.value?.type ===
|
|
2022
|
+
})), s = D(() => mn(t.definition.choices.toSorted((e, t) => e.order - t.order).map((e) => e.value))), c = D(() => n.value?.type === p.DATE ? n.value.value === "infinity" ? r.t("wise_invoicing.custom_field.date.infinity") : n.value.value === "-infinity" ? r.t("wise_invoicing.custom_field.date.negative_infinity") : null : null);
|
|
2023
2023
|
function l(e) {
|
|
2024
2024
|
return Ae.getChoiceLabel(t.definition, e, r.locale.value);
|
|
2025
2025
|
}
|
|
2026
|
-
return (e, n) => t.definition.type === R(
|
|
2026
|
+
return (e, n) => t.definition.type === R(p).TEXT ? (F(), O(R(sn), P({
|
|
2027
2027
|
key: 0,
|
|
2028
2028
|
modelValue: R(i).text.value,
|
|
2029
2029
|
"onUpdate:modelValue": n[0] ||= (e) => R(i).text.value = e
|
|
@@ -2034,7 +2034,7 @@ var qr = /* @__PURE__ */ N({
|
|
|
2034
2034
|
"modelValue",
|
|
2035
2035
|
"placeholder",
|
|
2036
2036
|
"size"
|
|
2037
|
-
])) : t.definition.type === R(
|
|
2037
|
+
])) : t.definition.type === R(p).TEXT_ARRAY ? (F(), O(R(on), P({
|
|
2038
2038
|
key: 1,
|
|
2039
2039
|
modelValue: R(i).textArray.value,
|
|
2040
2040
|
"onUpdate:modelValue": n[1] ||= (e) => R(i).textArray.value = e
|
|
@@ -2045,15 +2045,15 @@ var qr = /* @__PURE__ */ N({
|
|
|
2045
2045
|
"modelValue",
|
|
2046
2046
|
"placeholder",
|
|
2047
2047
|
"size"
|
|
2048
|
-
])) : t.definition.type === R(
|
|
2048
|
+
])) : t.definition.type === R(p).NUMBER ? (F(), O(R(Xt), P({
|
|
2049
2049
|
key: 2,
|
|
2050
2050
|
modelValue: R(i).number.value,
|
|
2051
2051
|
"onUpdate:modelValue": n[2] ||= (e) => R(i).number.value = e
|
|
2052
|
-
}, o.value, { placeholder: t.placeholder }), null, 16, ["modelValue", "placeholder"])) : t.definition.type === R(
|
|
2052
|
+
}, o.value, { placeholder: t.placeholder }), null, 16, ["modelValue", "placeholder"])) : t.definition.type === R(p).BOOLEAN ? (F(), O(R(tn), P({
|
|
2053
2053
|
key: 3,
|
|
2054
2054
|
modelValue: R(i).boolean.value,
|
|
2055
2055
|
"onUpdate:modelValue": n[3] ||= (e) => R(i).boolean.value = e
|
|
2056
|
-
}, o.value), null, 16, ["modelValue"])) : t.definition.type === R(
|
|
2056
|
+
}, o.value), null, 16, ["modelValue"])) : t.definition.type === R(p).DATE ? (F(), O(R(Pt), P({
|
|
2057
2057
|
key: 4,
|
|
2058
2058
|
modelValue: R(i).date.value,
|
|
2059
2059
|
"onUpdate:modelValue": n[4] ||= (e) => R(i).date.value = e
|
|
@@ -2066,7 +2066,7 @@ var qr = /* @__PURE__ */ N({
|
|
|
2066
2066
|
"hint",
|
|
2067
2067
|
"placeholder",
|
|
2068
2068
|
"size"
|
|
2069
|
-
])) : t.definition.type === R(
|
|
2069
|
+
])) : t.definition.type === R(p).TIMESTAMP ? (F(), O(R(B), {
|
|
2070
2070
|
key: 5,
|
|
2071
2071
|
align: "start",
|
|
2072
2072
|
gap: "xs"
|
|
@@ -2097,7 +2097,7 @@ var qr = /* @__PURE__ */ N({
|
|
|
2097
2097
|
"size"
|
|
2098
2098
|
])]),
|
|
2099
2099
|
_: 1
|
|
2100
|
-
})) : t.definition.type === R(
|
|
2100
|
+
})) : t.definition.type === R(p).SINGLE_SELECT ? (F(), O(R(Qt), P({
|
|
2101
2101
|
key: 6,
|
|
2102
2102
|
modelValue: R(i).singleSelect.value,
|
|
2103
2103
|
"onUpdate:modelValue": n[7] ||= (e) => R(i).singleSelect.value = e
|
|
@@ -2111,7 +2111,7 @@ var qr = /* @__PURE__ */ N({
|
|
|
2111
2111
|
"items",
|
|
2112
2112
|
"placeholder",
|
|
2113
2113
|
"size"
|
|
2114
|
-
])) : t.definition.type === R(
|
|
2114
|
+
])) : t.definition.type === R(p).MULTI_SELECT ? (F(), O(R(Qt), P({
|
|
2115
2115
|
key: 7,
|
|
2116
2116
|
modelValue: R(i).multiSelect.value,
|
|
2117
2117
|
"onUpdate:modelValue": n[8] ||= (e) => R(i).multiSelect.value = e
|
|
@@ -2125,7 +2125,7 @@ var qr = /* @__PURE__ */ N({
|
|
|
2125
2125
|
"items",
|
|
2126
2126
|
"placeholder",
|
|
2127
2127
|
"size"
|
|
2128
|
-
])) : t.definition.type === R(
|
|
2128
|
+
])) : t.definition.type === R(p).MONETARY ? (F(), O(R(Xt), P({
|
|
2129
2129
|
key: 8,
|
|
2130
2130
|
modelValue: R(i).monetary.value,
|
|
2131
2131
|
"onUpdate:modelValue": n[9] ||= (e) => R(i).monetary.value = e
|
|
@@ -2258,7 +2258,7 @@ var qr = /* @__PURE__ */ N({
|
|
|
2258
2258
|
}),
|
|
2259
2259
|
emits: ["update:modelValue"],
|
|
2260
2260
|
setup(e) {
|
|
2261
|
-
let t = e, n = dt(e, "modelValue"), r = T(), i =
|
|
2261
|
+
let t = e, n = dt(e, "modelValue"), r = T(), i = _(), a = Kr({
|
|
2262
2262
|
currency: () => t.currency,
|
|
2263
2263
|
definition: () => t.definition,
|
|
2264
2264
|
precision: () => t.precision,
|
|
@@ -2267,7 +2267,7 @@ var qr = /* @__PURE__ */ N({
|
|
|
2267
2267
|
label: Ae.getChoiceLabel(t.definition, e.value, r.locale.value),
|
|
2268
2268
|
value: e.value
|
|
2269
2269
|
})));
|
|
2270
|
-
return (e, r) => t.definition.type === R(
|
|
2270
|
+
return (e, r) => t.definition.type === R(p).TEXT ? (F(), O(Pr, {
|
|
2271
2271
|
key: 0,
|
|
2272
2272
|
id: t.id,
|
|
2273
2273
|
modelValue: R(a).text.value,
|
|
@@ -2282,7 +2282,7 @@ var qr = /* @__PURE__ */ N({
|
|
|
2282
2282
|
"modelValue",
|
|
2283
2283
|
"is-disabled",
|
|
2284
2284
|
"label"
|
|
2285
|
-
])) : t.definition.type === R(
|
|
2285
|
+
])) : t.definition.type === R(p).NUMBER ? (F(), O(Jr, {
|
|
2286
2286
|
key: 1,
|
|
2287
2287
|
id: t.id,
|
|
2288
2288
|
modelValue: R(a).number.value,
|
|
@@ -2297,7 +2297,7 @@ var qr = /* @__PURE__ */ N({
|
|
|
2297
2297
|
"modelValue",
|
|
2298
2298
|
"is-disabled",
|
|
2299
2299
|
"label"
|
|
2300
|
-
])) : t.definition.type === R(
|
|
2300
|
+
])) : t.definition.type === R(p).MONETARY ? (F(), O(Jr, {
|
|
2301
2301
|
key: 2,
|
|
2302
2302
|
id: t.id,
|
|
2303
2303
|
modelValue: R(a).monetary.value,
|
|
@@ -2316,7 +2316,7 @@ var qr = /* @__PURE__ */ N({
|
|
|
2316
2316
|
"label",
|
|
2317
2317
|
"prefix",
|
|
2318
2318
|
"suffix"
|
|
2319
|
-
])) : t.definition.type === R(
|
|
2319
|
+
])) : t.definition.type === R(p).SINGLE_SELECT ? (F(), O(Xr, {
|
|
2320
2320
|
key: 3,
|
|
2321
2321
|
id: t.id,
|
|
2322
2322
|
modelValue: R(a).singleSelect.value,
|
|
@@ -2369,43 +2369,43 @@ var qr = /* @__PURE__ */ N({
|
|
|
2369
2369
|
line: {},
|
|
2370
2370
|
net: {}
|
|
2371
2371
|
},
|
|
2372
|
-
setup(
|
|
2373
|
-
let
|
|
2372
|
+
setup(e) {
|
|
2373
|
+
let t = e, n = T(), r = _(), i = ee(), a = gn().create(Dr), s = ar(), c = or.map((e) => ({
|
|
2374
2374
|
label: `${Number(e)}%`,
|
|
2375
2375
|
value: e
|
|
2376
|
-
})),
|
|
2377
|
-
label:
|
|
2376
|
+
})), l = sr.map((e) => ({
|
|
2377
|
+
label: n.t(`wise_invoicing.invoice.detail.line_items.units.${e}`),
|
|
2378
2378
|
value: e
|
|
2379
|
-
})),
|
|
2380
|
-
initialState: D(() => oe(
|
|
2381
|
-
schema:
|
|
2379
|
+
})), u = D(() => r.getSymbol(s.meta.value.currency)), d = D(() => s.meta.value.documentType === o.CREDIT_NOTE).value ? Wr : Ur, f = D(() => !s.isEditable.value || t.line.isDiscount), p = vn({
|
|
2380
|
+
initialState: D(() => oe(t.line)),
|
|
2381
|
+
schema: d,
|
|
2382
2382
|
onSubmit: (e) => {
|
|
2383
|
-
C(
|
|
2383
|
+
C(t.line, e) || s.mutations.updateAllFields(t.line.id, e);
|
|
2384
2384
|
}
|
|
2385
|
-
}),
|
|
2385
|
+
}), m = p.register("name"), h = p.register("description"), g = p.register("quantity"), v = p.register("unit"), y = p.register("unitPrice"), b = p.register("discountPercentage"), x = p.register("vatRate"), te = D(() => s.lineCustomFieldDefinitions.value.map((e) => ({
|
|
2386
2386
|
definition: e,
|
|
2387
|
-
value: Gr.findByDefinition(
|
|
2387
|
+
value: Gr.findByDefinition(t.line.customFields, e.uuid)
|
|
2388
2388
|
})));
|
|
2389
2389
|
function ne(e) {
|
|
2390
|
-
return `billing-document-line-items-${e}-${
|
|
2390
|
+
return `billing-document-line-items-${e}-${t.line.id}`;
|
|
2391
2391
|
}
|
|
2392
2392
|
function S() {
|
|
2393
|
-
return
|
|
2393
|
+
return t.line.name || t.line.description || n.t("wise_invoicing.invoice.detail.line_items.delete_dialog.line.unnamed");
|
|
2394
2394
|
}
|
|
2395
2395
|
async function re() {
|
|
2396
|
-
await
|
|
2396
|
+
await a.open({
|
|
2397
2397
|
name: S(),
|
|
2398
2398
|
type: "line",
|
|
2399
2399
|
onDeleteLine: () => {
|
|
2400
|
-
s.mutations.deleteLine(
|
|
2400
|
+
s.mutations.deleteLine(t.line.id);
|
|
2401
2401
|
}
|
|
2402
2402
|
});
|
|
2403
2403
|
}
|
|
2404
2404
|
function ie(e) {
|
|
2405
|
-
return
|
|
2405
|
+
return r.format(s.meta.value.currency, vr.getDisplayNumber(s.meta.value.documentType, e));
|
|
2406
2406
|
}
|
|
2407
2407
|
function ae(e) {
|
|
2408
|
-
return
|
|
2408
|
+
return r.format(s.meta.value.currency, vr.getDisplayGrossLineTotal(s.meta.value.documentType, e, t.line.isDiscount));
|
|
2409
2409
|
}
|
|
2410
2410
|
function oe(e) {
|
|
2411
2411
|
return {
|
|
@@ -2421,11 +2421,11 @@ var qr = /* @__PURE__ */ N({
|
|
|
2421
2421
|
function C(e, t) {
|
|
2422
2422
|
return e.name === t.name && e.description === t.description && e.quantity === t.quantity && e.unit === t.unit && e.unitPrice === t.unitPrice && (e.discountPercentage?.getValue() ?? null) === t.discountPercentage && e.vatRate === t.vatRate;
|
|
2423
2423
|
}
|
|
2424
|
-
return mt(() => [
|
|
2425
|
-
!s.isEditable.value || !
|
|
2426
|
-
}, { deep: !0 }), (e,
|
|
2427
|
-
"data-line-item-row-id":
|
|
2428
|
-
"data-appearing":
|
|
2424
|
+
return mt(() => [p.state.value, p.isValid.value], async () => {
|
|
2425
|
+
!s.isEditable.value || !p.isValid.value || C(t.line, p.state.value) || await p.submit();
|
|
2426
|
+
}, { deep: !0 }), (e, r) => (F(), A("tr", {
|
|
2427
|
+
"data-line-item-row-id": t.line.id,
|
|
2428
|
+
"data-appearing": t.isAppearing ? "true" : void 0,
|
|
2429
2429
|
class: "group/row h-11 border-b border-secondary align-middle transition-colors hover:bg-secondary motion-reduce:transition-none",
|
|
2430
2430
|
"data-line-item-row-type": "line",
|
|
2431
2431
|
"data-line-item-row": ""
|
|
@@ -2433,26 +2433,26 @@ var qr = /* @__PURE__ */ N({
|
|
|
2433
2433
|
R(s).isEditable.value ? (F(), A("td", $r, [M(kr)])) : k("", !0),
|
|
2434
2434
|
R(s).isEditable.value ? (F(), A("td", {
|
|
2435
2435
|
key: 1,
|
|
2436
|
-
class: Qe([
|
|
2436
|
+
class: Qe([t.line.groupId === null ? "px-xs" : "pr-xs pl-lg", "py-none text-center"])
|
|
2437
2437
|
}, [M(R(Ot), {
|
|
2438
2438
|
id: ne("select-row"),
|
|
2439
|
-
"model-value": R(s).selection.isSelected(
|
|
2440
|
-
label: R(
|
|
2439
|
+
"model-value": R(s).selection.isSelected(t.line.id),
|
|
2440
|
+
label: R(n).t("wise_invoicing.invoice.detail.line_items.item"),
|
|
2441
2441
|
"is-label-hidden": !0,
|
|
2442
2442
|
"is-disabled": !R(s).isEditable.value,
|
|
2443
|
-
"onUpdate:modelValue":
|
|
2443
|
+
"onUpdate:modelValue": r[0] ||= (e) => R(s).selection.toggleRow(t.line.id)
|
|
2444
2444
|
}, null, 8, [
|
|
2445
2445
|
"id",
|
|
2446
2446
|
"model-value",
|
|
2447
2447
|
"label",
|
|
2448
2448
|
"is-disabled"
|
|
2449
2449
|
])], 2)) : k("", !0),
|
|
2450
|
-
j("td", ei, [j("div", { class: Qe(
|
|
2450
|
+
j("td", ei, [j("div", { class: Qe(t.line.groupId === null ? void 0 : "\n ml-sm border-l-2 border-secondary pl-md\n ") }, [M(Pr, P({
|
|
2451
2451
|
id: ne("name"),
|
|
2452
|
-
label: R(
|
|
2453
|
-
placeholder: R(
|
|
2452
|
+
label: R(n).t("wise_invoicing.invoice.detail.line_items.item"),
|
|
2453
|
+
placeholder: R(n).t("wise_invoicing.invoice.detail.line_items.item_placeholder"),
|
|
2454
2454
|
"is-disabled": !R(s).isEditable.value
|
|
2455
|
-
}, R(Ne)(R(
|
|
2455
|
+
}, R(Ne)(R(m))), null, 16, [
|
|
2456
2456
|
"id",
|
|
2457
2457
|
"label",
|
|
2458
2458
|
"placeholder",
|
|
@@ -2460,10 +2460,10 @@ var qr = /* @__PURE__ */ N({
|
|
|
2460
2460
|
])], 2)]),
|
|
2461
2461
|
j("td", ti, [M(Pr, P({
|
|
2462
2462
|
id: ne("description"),
|
|
2463
|
-
label: R(
|
|
2464
|
-
placeholder: R(
|
|
2463
|
+
label: R(n).t("wise_invoicing.invoice.detail.line_items.item_description"),
|
|
2464
|
+
placeholder: R(n).t("wise_invoicing.invoice.detail.line_items.item_description_placeholder"),
|
|
2465
2465
|
"is-disabled": !R(s).isEditable.value
|
|
2466
|
-
}, R(Ne)(R(
|
|
2466
|
+
}, R(Ne)(R(h))), null, 16, [
|
|
2467
2467
|
"id",
|
|
2468
2468
|
"label",
|
|
2469
2469
|
"placeholder",
|
|
@@ -2496,9 +2496,9 @@ var qr = /* @__PURE__ */ N({
|
|
|
2496
2496
|
j("td", ni, [M(Jr, P({
|
|
2497
2497
|
id: ne("quantity"),
|
|
2498
2498
|
"is-disabled": !R(s).isEditable.value,
|
|
2499
|
-
label: R(
|
|
2499
|
+
label: R(n).t("wise_invoicing.invoice.detail.line_items.qty"),
|
|
2500
2500
|
step: "0.01"
|
|
2501
|
-
}, R(Ne)(R(
|
|
2501
|
+
}, R(Ne)(R(g))), null, 16, [
|
|
2502
2502
|
"id",
|
|
2503
2503
|
"is-disabled",
|
|
2504
2504
|
"label"
|
|
@@ -2506,9 +2506,9 @@ var qr = /* @__PURE__ */ N({
|
|
|
2506
2506
|
j("td", ri, [M(Xr, P({
|
|
2507
2507
|
id: ne("unit"),
|
|
2508
2508
|
"is-disabled": !R(s).isEditable.value,
|
|
2509
|
-
label: R(
|
|
2510
|
-
options: R(
|
|
2511
|
-
}, R(Ne)(R(
|
|
2509
|
+
label: R(n).t("wise_invoicing.invoice.detail.line_items.unit"),
|
|
2510
|
+
options: R(l)
|
|
2511
|
+
}, R(Ne)(R(v))), null, 16, [
|
|
2512
2512
|
"id",
|
|
2513
2513
|
"is-disabled",
|
|
2514
2514
|
"label",
|
|
@@ -2517,45 +2517,45 @@ var qr = /* @__PURE__ */ N({
|
|
|
2517
2517
|
j("td", ii, [M(Jr, P({
|
|
2518
2518
|
id: ne("unit-price"),
|
|
2519
2519
|
"is-disabled": !R(s).isEditable.value,
|
|
2520
|
-
label: R(
|
|
2521
|
-
prefix:
|
|
2522
|
-
suffix:
|
|
2520
|
+
label: R(n).t("wise_invoicing.invoice.detail.line_items.unit_price"),
|
|
2521
|
+
prefix: u.value.position === "prefix" ? u.value.symbol : void 0,
|
|
2522
|
+
suffix: u.value.position === "suffix" ? u.value.symbol : void 0,
|
|
2523
2523
|
min: "0",
|
|
2524
2524
|
step: "0.01"
|
|
2525
|
-
}, R(Ne)(R(
|
|
2525
|
+
}, R(Ne)(R(y))), null, 16, [
|
|
2526
2526
|
"id",
|
|
2527
2527
|
"is-disabled",
|
|
2528
2528
|
"label",
|
|
2529
2529
|
"prefix",
|
|
2530
2530
|
"suffix"
|
|
2531
2531
|
])]),
|
|
2532
|
-
R(
|
|
2532
|
+
R(i).isLineDiscountEnabled.value ? (F(), A("td", ai, [M(Jr, P({
|
|
2533
2533
|
id: ne("discount"),
|
|
2534
|
-
label: R(
|
|
2535
|
-
"is-disabled":
|
|
2534
|
+
label: R(n).t("wise_invoicing.invoice.detail.line_items.discount"),
|
|
2535
|
+
"is-disabled": f.value,
|
|
2536
2536
|
placeholder: "-",
|
|
2537
2537
|
min: "0",
|
|
2538
2538
|
max: "100",
|
|
2539
2539
|
step: "0.01",
|
|
2540
2540
|
suffix: "%"
|
|
2541
|
-
}, R(Ne)(R(
|
|
2541
|
+
}, R(Ne)(R(b))), null, 16, [
|
|
2542
2542
|
"id",
|
|
2543
2543
|
"label",
|
|
2544
2544
|
"is-disabled"
|
|
2545
2545
|
])])) : k("", !0),
|
|
2546
|
-
j("td", oi, L(ie(
|
|
2546
|
+
j("td", oi, L(ie(t.net)), 1),
|
|
2547
2547
|
j("td", si, [M(Xr, P({
|
|
2548
2548
|
id: ne("vat-rate"),
|
|
2549
2549
|
"is-disabled": !R(s).isEditable.value,
|
|
2550
|
-
label: R(
|
|
2551
|
-
options: R(
|
|
2552
|
-
}, R(Ne)(R(
|
|
2550
|
+
label: R(n).t("wise_invoicing.invoice.detail.line_items.vat"),
|
|
2551
|
+
options: R(c)
|
|
2552
|
+
}, R(Ne)(R(x))), null, 16, [
|
|
2553
2553
|
"id",
|
|
2554
2554
|
"is-disabled",
|
|
2555
2555
|
"label",
|
|
2556
2556
|
"options"
|
|
2557
2557
|
])]),
|
|
2558
|
-
j("td", ci, L(ae(
|
|
2558
|
+
j("td", ci, L(ae(t.gross)), 1),
|
|
2559
2559
|
R(s).isEditable.value ? (F(), A("td", li, [M(R(B), {
|
|
2560
2560
|
justify: "end",
|
|
2561
2561
|
gap: "xxs",
|
|
@@ -2564,9 +2564,9 @@ var qr = /* @__PURE__ */ N({
|
|
|
2564
2564
|
default: z(() => [M(R(Yt), {
|
|
2565
2565
|
icon: R(pe),
|
|
2566
2566
|
"is-disabled": !R(s).isEditable.value,
|
|
2567
|
-
label: R(
|
|
2567
|
+
label: R(n).t("wise_invoicing.invoice.detail.line_items.duplicate"),
|
|
2568
2568
|
variant: "tertiary",
|
|
2569
|
-
onClick:
|
|
2569
|
+
onClick: r[1] ||= (e) => R(s).mutations.duplicateLine(t.line.id)
|
|
2570
2570
|
}, null, 8, [
|
|
2571
2571
|
"icon",
|
|
2572
2572
|
"is-disabled",
|
|
@@ -2574,7 +2574,7 @@ var qr = /* @__PURE__ */ N({
|
|
|
2574
2574
|
]), M(R(Yt), {
|
|
2575
2575
|
icon: R(fe),
|
|
2576
2576
|
"is-disabled": !R(s).isEditable.value,
|
|
2577
|
-
label: R(
|
|
2577
|
+
label: R(n).t("wise_invoicing.invoice.detail.line_items.delete"),
|
|
2578
2578
|
variant: "destructive-tertiary",
|
|
2579
2579
|
onClick: re
|
|
2580
2580
|
}, null, 8, [
|
|
@@ -4204,120 +4204,120 @@ var ps = { class: "relative" }, ms = { class: "border-b border-secondary bg-seco
|
|
|
4204
4204
|
class: "pointer-events-none absolute inset-y-0 right-0 z-20 flex w-16 items-center justify-end bg-linear-to-l from-primary via-primary/90 to-transparent pr-xs"
|
|
4205
4205
|
}, Es = /* @__PURE__ */ N({
|
|
4206
4206
|
__name: "BillingDocumentLineItemsTableGrid",
|
|
4207
|
-
setup(
|
|
4208
|
-
let
|
|
4209
|
-
label: Ae.getLabel(e,
|
|
4207
|
+
setup(e) {
|
|
4208
|
+
let t = T(), n = ar(), r = ee(), i = D(() => n.lineCustomFieldDefinitions.value.map((e) => ({
|
|
4209
|
+
label: Ae.getLabel(e, t.locale.value),
|
|
4210
4210
|
widthInRem: 12
|
|
4211
|
-
}))),
|
|
4212
|
-
let e = ue(),
|
|
4211
|
+
}))), a = D(() => {
|
|
4212
|
+
let e = ue(), a = e.map((e) => H.createBillingDocumentLineItemTotals(e)), o = de(e.map((e) => e.quantity), 5, 8), s = de(e.map((e) => e.unitPrice), 7, 11), c = de(e.map((e) => e.discountPercentage?.getValue() ?? 0), 6.5, 9), l = de(a.map((e) => e.net), 8, 12), u = de(a.map((e) => e.gross), 8, 12), d = [
|
|
4213
4213
|
{
|
|
4214
|
-
isHidden: !
|
|
4214
|
+
isHidden: !n.isEditable.value,
|
|
4215
4215
|
widthInRem: 2.5
|
|
4216
4216
|
},
|
|
4217
4217
|
{
|
|
4218
|
-
isHidden: !
|
|
4218
|
+
isHidden: !n.isEditable.value,
|
|
4219
4219
|
widthInRem: 3
|
|
4220
4220
|
},
|
|
4221
4221
|
{
|
|
4222
|
-
label:
|
|
4222
|
+
label: t.t("wise_invoicing.invoice.detail.line_items.item"),
|
|
4223
4223
|
widthInRem: 16
|
|
4224
4224
|
},
|
|
4225
4225
|
{
|
|
4226
|
-
label:
|
|
4226
|
+
label: t.t("wise_invoicing.invoice.detail.line_items.item_description"),
|
|
4227
4227
|
widthInRem: 16
|
|
4228
4228
|
},
|
|
4229
|
-
...
|
|
4229
|
+
...i.value,
|
|
4230
4230
|
{
|
|
4231
4231
|
align: "right",
|
|
4232
|
-
label:
|
|
4232
|
+
label: t.t("wise_invoicing.invoice.detail.line_items.qty"),
|
|
4233
4233
|
widthInRem: o
|
|
4234
4234
|
},
|
|
4235
4235
|
{
|
|
4236
|
-
label:
|
|
4236
|
+
label: t.t("wise_invoicing.invoice.detail.line_items.unit"),
|
|
4237
4237
|
widthInRem: 7
|
|
4238
4238
|
},
|
|
4239
4239
|
{
|
|
4240
4240
|
align: "right",
|
|
4241
|
-
label:
|
|
4241
|
+
label: t.t("wise_invoicing.invoice.detail.line_items.unit_price"),
|
|
4242
4242
|
widthInRem: s
|
|
4243
4243
|
},
|
|
4244
|
-
...
|
|
4244
|
+
...r.isLineDiscountEnabled.value ? [{
|
|
4245
4245
|
align: "right",
|
|
4246
|
-
label:
|
|
4246
|
+
label: t.t("wise_invoicing.invoice.detail.line_items.discount"),
|
|
4247
4247
|
widthInRem: c
|
|
4248
4248
|
}] : [],
|
|
4249
4249
|
{
|
|
4250
4250
|
align: "right",
|
|
4251
|
-
label:
|
|
4251
|
+
label: t.t("wise_invoicing.invoice.detail.line_items.price_excl_vat"),
|
|
4252
4252
|
widthInRem: l
|
|
4253
4253
|
},
|
|
4254
4254
|
{
|
|
4255
|
-
label:
|
|
4255
|
+
label: t.t("wise_invoicing.invoice.detail.line_items.vat"),
|
|
4256
4256
|
widthInRem: 5
|
|
4257
4257
|
},
|
|
4258
4258
|
{
|
|
4259
4259
|
align: "right",
|
|
4260
|
-
label:
|
|
4260
|
+
label: t.t("wise_invoicing.invoice.detail.line_items.total"),
|
|
4261
4261
|
widthInRem: u
|
|
4262
4262
|
},
|
|
4263
4263
|
{
|
|
4264
|
-
isHidden: !
|
|
4264
|
+
isHidden: !n.isEditable.value,
|
|
4265
4265
|
minWidthInRem: 4.5
|
|
4266
4266
|
}
|
|
4267
4267
|
];
|
|
4268
|
-
return
|
|
4269
|
-
}),
|
|
4270
|
-
function
|
|
4271
|
-
let e =
|
|
4268
|
+
return n.isEditable.value ? d : d.filter((e) => !e.isHidden);
|
|
4269
|
+
}), o = D(() => a.value.length), s = D(() => a.value.filter((e) => e.label !== void 0)), c = D(() => Math.max(s.value.length - 1, 1)), l = n.displayRows, u = ft("tbodyRef"), d = ft("scrollContainerRef"), f = ft("tableRef"), p = I(!1), m = I(!1);
|
|
4270
|
+
function h() {
|
|
4271
|
+
let e = d.value;
|
|
4272
4272
|
if (e === null) {
|
|
4273
|
-
|
|
4273
|
+
p.value = !1, m.value = !1;
|
|
4274
4274
|
return;
|
|
4275
4275
|
}
|
|
4276
4276
|
let t = e.scrollWidth - e.clientWidth - e.scrollLeft;
|
|
4277
|
-
|
|
4277
|
+
p.value = e.scrollLeft > 1, m.value = t > 1;
|
|
4278
4278
|
}
|
|
4279
|
-
function
|
|
4280
|
-
let t =
|
|
4279
|
+
function g(e) {
|
|
4280
|
+
let t = d.value;
|
|
4281
4281
|
t !== null && t.scrollBy({
|
|
4282
4282
|
behavior: "smooth",
|
|
4283
4283
|
left: e * Math.max(t.clientWidth * .75, 320)
|
|
4284
4284
|
});
|
|
4285
4285
|
}
|
|
4286
|
-
St(
|
|
4287
|
-
let { isDragging:
|
|
4288
|
-
isEditable:
|
|
4286
|
+
St(d, h), St(f, h), nt(h);
|
|
4287
|
+
let { isDragging: _, dragVersion: v, restart: y } = fs({
|
|
4288
|
+
isEditable: n.isEditable,
|
|
4289
4289
|
moveLineByIndex: (e, t) => {
|
|
4290
|
-
|
|
4290
|
+
n.mutations.moveLineByIndex(pe(e), pe(t));
|
|
4291
4291
|
},
|
|
4292
|
-
saveNow:
|
|
4293
|
-
tbodyRef:
|
|
4292
|
+
saveNow: n.saveNow,
|
|
4293
|
+
tbodyRef: u
|
|
4294
4294
|
});
|
|
4295
|
-
function
|
|
4296
|
-
let t =
|
|
4297
|
-
return t === -1 ? null :
|
|
4295
|
+
function b(e) {
|
|
4296
|
+
let t = n.rows.value.findIndex((t) => t.id === e);
|
|
4297
|
+
return t === -1 ? null : n.mutations.addLine(t + 1);
|
|
4298
4298
|
}
|
|
4299
|
-
function
|
|
4300
|
-
let t =
|
|
4301
|
-
if (
|
|
4299
|
+
function x(e) {
|
|
4300
|
+
let t = n.rows.value, r = t.findIndex((t) => t.id === e);
|
|
4301
|
+
if (r === -1) return null;
|
|
4302
4302
|
let i = null;
|
|
4303
|
-
for (let e =
|
|
4303
|
+
for (let e = r - 1; e >= 0; --e) {
|
|
4304
4304
|
let n = t[e];
|
|
4305
4305
|
if (n !== void 0 && H.isLineRow(n)) {
|
|
4306
4306
|
i = n.id;
|
|
4307
4307
|
break;
|
|
4308
4308
|
}
|
|
4309
4309
|
}
|
|
4310
|
-
return
|
|
4310
|
+
return n.mutations.deleteLine(e), i;
|
|
4311
4311
|
}
|
|
4312
4312
|
let te = gi({
|
|
4313
|
-
isEditable:
|
|
4314
|
-
addLineBelow:
|
|
4315
|
-
deleteEmptyLine:
|
|
4316
|
-
duplicateLine: (e) =>
|
|
4317
|
-
tbodyRef:
|
|
4313
|
+
isEditable: n.isEditable,
|
|
4314
|
+
addLineBelow: b,
|
|
4315
|
+
deleteEmptyLine: x,
|
|
4316
|
+
duplicateLine: (e) => n.mutations.duplicateLine(e),
|
|
4317
|
+
tbodyRef: u
|
|
4318
4318
|
}), ne = I(0);
|
|
4319
|
-
mt(
|
|
4320
|
-
ne.value += 1, await Ze(),
|
|
4319
|
+
mt(v, async () => {
|
|
4320
|
+
ne.value += 1, await Ze(), y();
|
|
4321
4321
|
}, { flush: "post" });
|
|
4322
4322
|
let S = I(/* @__PURE__ */ new Set()), re = I(null), ie;
|
|
4323
4323
|
tt(() => {
|
|
@@ -4328,16 +4328,16 @@ var ps = { class: "relative" }, ms = { class: "border-b border-secondary bg-seco
|
|
|
4328
4328
|
}
|
|
4329
4329
|
let oe = D(() => {
|
|
4330
4330
|
let e = /* @__PURE__ */ new Map();
|
|
4331
|
-
for (let t of
|
|
4332
|
-
let
|
|
4333
|
-
e.set(t.line.groupId,
|
|
4331
|
+
for (let t of l.value) if (H.isLineRow(t.line) && t.line.groupId !== null && t.gross !== null) {
|
|
4332
|
+
let r = e.get(t.line.groupId) ?? 0, i = vr.getDisplayGrossLineTotal(n.meta.value.documentType, t.gross, t.line.isDiscount);
|
|
4333
|
+
e.set(t.line.groupId, r + i);
|
|
4334
4334
|
}
|
|
4335
4335
|
return e;
|
|
4336
|
-
}), C = D(() =>
|
|
4336
|
+
}), C = D(() => l.value.filter((e) => {
|
|
4337
4337
|
if (!H.isLineRow(e.line)) return !0;
|
|
4338
4338
|
let { groupId: t } = e.line;
|
|
4339
4339
|
return t === null || !S.value.has(t);
|
|
4340
|
-
})), se = D(() => `${
|
|
4340
|
+
})), se = D(() => `${a.value.reduce((e, t) => e + (t.widthInRem ?? t.minWidthInRem ?? 0), 0)}rem`);
|
|
4341
4341
|
function ce(e) {
|
|
4342
4342
|
let t = new Set(S.value);
|
|
4343
4343
|
t.has(e) ? (t.delete(e), fe(e)) : t.add(e), S.value = t;
|
|
@@ -4348,7 +4348,7 @@ var ps = { class: "relative" }, ms = { class: "border-b border-secondary bg-seco
|
|
|
4348
4348
|
t.delete(e), S.value = t, fe(e);
|
|
4349
4349
|
}
|
|
4350
4350
|
function ue() {
|
|
4351
|
-
return
|
|
4351
|
+
return n.rows.value.filter((e) => H.isLineRow(e));
|
|
4352
4352
|
}
|
|
4353
4353
|
function de(e, t, n) {
|
|
4354
4354
|
let r = e.reduce((e, t) => Math.max(e, String(t).length), 0);
|
|
@@ -4360,102 +4360,102 @@ var ps = { class: "relative" }, ms = { class: "border-b border-secondary bg-seco
|
|
|
4360
4360
|
}, 260);
|
|
4361
4361
|
}
|
|
4362
4362
|
function pe(e) {
|
|
4363
|
-
if (e >= C.value.length) return
|
|
4363
|
+
if (e >= C.value.length) return l.value.length;
|
|
4364
4364
|
let t = C.value[e];
|
|
4365
|
-
if (t === void 0) return
|
|
4366
|
-
let n =
|
|
4367
|
-
return n === -1 ?
|
|
4365
|
+
if (t === void 0) return l.value.length;
|
|
4366
|
+
let n = l.value.findIndex((e) => e.line.id === t.line.id);
|
|
4367
|
+
return n === -1 ? l.value.length : n;
|
|
4368
4368
|
}
|
|
4369
4369
|
function me(e) {
|
|
4370
4370
|
let t = C.value[e - 1]?.line;
|
|
4371
4371
|
if (t !== void 0 && H.isGroupRow(t) && S.value.has(t.id)) {
|
|
4372
|
-
let e =
|
|
4372
|
+
let e = l.value.findIndex((e) => e.line.id === t.id);
|
|
4373
4373
|
if (e !== -1) return e + 1;
|
|
4374
4374
|
}
|
|
4375
4375
|
return pe(e);
|
|
4376
4376
|
}
|
|
4377
4377
|
function he(e) {
|
|
4378
|
-
let t = pe(e), n =
|
|
4378
|
+
let t = pe(e), n = l.value[t - 1]?.line, r = l.value[t]?.line;
|
|
4379
4379
|
return !(n !== void 0 && H.isGroupRow(n) || r !== void 0 && H.isLineRow(r) && r.groupId !== null);
|
|
4380
4380
|
}
|
|
4381
4381
|
async function _e(e) {
|
|
4382
4382
|
await Ze();
|
|
4383
|
-
let t =
|
|
4383
|
+
let t = u.value?.querySelector(`input[id="billing-document-line-items-name-${e}"]`);
|
|
4384
4384
|
t?.focus(), t?.select();
|
|
4385
4385
|
}
|
|
4386
4386
|
function ve(e) {
|
|
4387
|
-
if (!
|
|
4388
|
-
let t =
|
|
4389
|
-
|
|
4387
|
+
if (!n.isEditable.value) return;
|
|
4388
|
+
let t = n.mutations.addLine(me(e)), r = n.rows.value.find((e) => e.id === t);
|
|
4389
|
+
r !== void 0 && H.isLineRow(r) && r.groupId !== null && le(r.groupId), _e(t);
|
|
4390
4390
|
}
|
|
4391
4391
|
function ye(e) {
|
|
4392
|
-
|
|
4392
|
+
n.isEditable.value && he(e) && n.mutations.addGroup(pe(e));
|
|
4393
4393
|
}
|
|
4394
|
-
return (e,
|
|
4394
|
+
return (e, r) => (F(), A("div", ps, [
|
|
4395
4395
|
j("div", {
|
|
4396
4396
|
ref_key: "scrollContainerRef",
|
|
4397
|
-
ref:
|
|
4398
|
-
class: Qe([R(
|
|
4397
|
+
ref: d,
|
|
4398
|
+
class: Qe([R(_) ? "select-none" : void 0, "overflow-x-auto overflow-y-hidden"]),
|
|
4399
4399
|
"data-test-id": "billing-document-line-items-scroll-container",
|
|
4400
|
-
onScroll:
|
|
4400
|
+
onScroll: h
|
|
4401
4401
|
}, [j("table", {
|
|
4402
4402
|
ref_key: "tableRef",
|
|
4403
|
-
ref:
|
|
4403
|
+
ref: f,
|
|
4404
4404
|
style: et({
|
|
4405
4405
|
minWidth: se.value,
|
|
4406
4406
|
width: "100%"
|
|
4407
4407
|
}),
|
|
4408
4408
|
class: "table-fixed text-left"
|
|
4409
4409
|
}, [
|
|
4410
|
-
j("colgroup", null, [(F(!0), A(E, null, ot(
|
|
4410
|
+
j("colgroup", null, [(F(!0), A(E, null, ot(a.value, (e, t) => (F(), A("col", {
|
|
4411
4411
|
key: t,
|
|
4412
4412
|
style: et(e.widthInRem === void 0 ? {} : { width: `${e.widthInRem}rem` })
|
|
4413
4413
|
}, null, 4))), 128))]),
|
|
4414
4414
|
j("thead", null, [j("tr", ms, [
|
|
4415
|
-
R(
|
|
4416
|
-
R(
|
|
4415
|
+
R(n).isEditable.value ? (F(), A("th", hs)) : k("", !0),
|
|
4416
|
+
R(n).isEditable.value ? (F(), A("th", gs, [M(R(Ot), {
|
|
4417
4417
|
id: "billing-document-line-items-select-all",
|
|
4418
|
-
"model-value": R(
|
|
4419
|
-
"is-indeterminate": R(
|
|
4420
|
-
label: R(
|
|
4418
|
+
"model-value": R(n).selection.allSelected.value || R(n).selection.indeterminate.value,
|
|
4419
|
+
"is-indeterminate": R(n).selection.indeterminate.value,
|
|
4420
|
+
label: R(t).t("wise_invoicing.invoice.detail.line_items.item"),
|
|
4421
4421
|
"is-label-hidden": !0,
|
|
4422
|
-
"is-disabled": !R(
|
|
4423
|
-
"onUpdate:modelValue":
|
|
4422
|
+
"is-disabled": !R(n).isEditable.value,
|
|
4423
|
+
"onUpdate:modelValue": r[0] ||= (e) => R(n).selection.toggleAll()
|
|
4424
4424
|
}, null, 8, [
|
|
4425
4425
|
"model-value",
|
|
4426
4426
|
"is-indeterminate",
|
|
4427
4427
|
"label",
|
|
4428
4428
|
"is-disabled"
|
|
4429
4429
|
])])) : k("", !0),
|
|
4430
|
-
(F(!0), A(E, null, ot(
|
|
4430
|
+
(F(!0), A(E, null, ot(s.value, (e, t) => (F(), A("th", {
|
|
4431
4431
|
key: t,
|
|
4432
4432
|
class: Qe([e.align === "right" ? "text-right" : "text-left", "h-11 px-lg py-sm text-xs font-semibold text-tertiary"]),
|
|
4433
4433
|
scope: "col"
|
|
4434
4434
|
}, L(e.label), 3))), 128)),
|
|
4435
|
-
R(
|
|
4435
|
+
R(n).isEditable.value ? (F(), A("th", _s)) : k("", !0)
|
|
4436
4436
|
])]),
|
|
4437
4437
|
(F(), A("tbody", {
|
|
4438
4438
|
key: ne.value,
|
|
4439
4439
|
ref_key: "tbodyRef",
|
|
4440
|
-
ref:
|
|
4441
|
-
onKeydownCapture:
|
|
4440
|
+
ref: u,
|
|
4441
|
+
onKeydownCapture: r[3] ||= (...e) => R(te).onKeydown && R(te).onKeydown(...e)
|
|
4442
4442
|
}, [
|
|
4443
|
-
(F(!0), A(E, null, ot(C.value, (e,
|
|
4444
|
-
colspan:
|
|
4443
|
+
(F(!0), A(E, null, ot(C.value, (e, r) => (F(), A(E, { key: e.line.id }, [R(n).isEditable.value ? ht((F(), A("tr", vs, [j("td", {
|
|
4444
|
+
colspan: o.value,
|
|
4445
4445
|
class: "relative h-0 overflow-visible p-none"
|
|
4446
4446
|
}, [M(Tr, {
|
|
4447
|
-
"can-add-group": he(
|
|
4448
|
-
label: R(
|
|
4449
|
-
onAddLine: (e) => ve(
|
|
4450
|
-
onAddGroup: (e) => ye(
|
|
4447
|
+
"can-add-group": he(r),
|
|
4448
|
+
label: R(t).t("wise_invoicing.invoice.detail.line_items.insert_line"),
|
|
4449
|
+
onAddLine: (e) => ve(r),
|
|
4450
|
+
onAddGroup: (e) => ye(r)
|
|
4451
4451
|
}, null, 8, [
|
|
4452
4452
|
"can-add-group",
|
|
4453
4453
|
"label",
|
|
4454
4454
|
"onAddLine",
|
|
4455
4455
|
"onAddGroup"
|
|
4456
|
-
])], 8, ys)], 512)), [[pt, !R(
|
|
4456
|
+
])], 8, ys)], 512)), [[pt, !R(_)]]) : k("", !0), R(H).isGroupRow(e.line) ? (F(), O(Hr, {
|
|
4457
4457
|
key: 1,
|
|
4458
|
-
"content-column-span":
|
|
4458
|
+
"content-column-span": c.value,
|
|
4459
4459
|
group: e.line,
|
|
4460
4460
|
"is-collapsed": S.value.has(e.line.id),
|
|
4461
4461
|
total: oe.value.get(e.line.id) ?? null,
|
|
@@ -4478,40 +4478,40 @@ var ps = { class: "relative" }, ms = { class: "border-b border-secondary bg-seco
|
|
|
4478
4478
|
"gross",
|
|
4479
4479
|
"is-appearing"
|
|
4480
4480
|
]))], 64))), 128)),
|
|
4481
|
-
C.value.length > 0 && R(
|
|
4482
|
-
colspan:
|
|
4481
|
+
C.value.length > 0 && R(n).isEditable.value ? ht((F(), A("tr", bs, [j("td", {
|
|
4482
|
+
colspan: o.value,
|
|
4483
4483
|
class: "relative h-5 overflow-visible p-none"
|
|
4484
4484
|
}, [M(Tr, {
|
|
4485
4485
|
"can-add-group": he(C.value.length),
|
|
4486
|
-
label: R(
|
|
4486
|
+
label: R(t).t("wise_invoicing.invoice.detail.line_items.insert_line"),
|
|
4487
4487
|
placement: "end",
|
|
4488
|
-
onAddLine:
|
|
4489
|
-
onAddGroup:
|
|
4490
|
-
}, null, 8, ["can-add-group", "label"])], 8, xs)], 512)), [[pt, !R(
|
|
4491
|
-
C.value.length === 0 && !R(
|
|
4492
|
-
colspan:
|
|
4488
|
+
onAddLine: r[1] ||= (e) => ve(C.value.length),
|
|
4489
|
+
onAddGroup: r[2] ||= (e) => ye(C.value.length)
|
|
4490
|
+
}, null, 8, ["can-add-group", "label"])], 8, xs)], 512)), [[pt, !R(_)]]) : k("", !0),
|
|
4491
|
+
C.value.length === 0 && !R(n).isEditable.value ? (F(), A("tr", Ss, [j("td", {
|
|
4492
|
+
colspan: o.value,
|
|
4493
4493
|
class: "px-lg py-xl text-center"
|
|
4494
4494
|
}, [M(R(V), {
|
|
4495
|
-
text: R(
|
|
4495
|
+
text: R(t).t("wise_invoicing.invoice.detail.line_items.empty"),
|
|
4496
4496
|
class: "text-sm text-tertiary"
|
|
4497
4497
|
}, null, 8, ["text"])], 8, Cs)])) : k("", !0)
|
|
4498
4498
|
], 32))
|
|
4499
4499
|
], 4)], 34),
|
|
4500
|
-
|
|
4500
|
+
p.value ? (F(), A("div", ws, [M(R(Yt), {
|
|
4501
4501
|
icon: R(De),
|
|
4502
|
-
label: R(
|
|
4502
|
+
label: R(t).t("wise_invoicing.invoice.detail.line_items.scroll_left"),
|
|
4503
4503
|
class: "pointer-events-auto shadow-md",
|
|
4504
4504
|
size: "sm",
|
|
4505
4505
|
variant: "secondary",
|
|
4506
|
-
onClick:
|
|
4506
|
+
onClick: r[4] ||= (e) => g(-1)
|
|
4507
4507
|
}, null, 8, ["icon", "label"])])) : k("", !0),
|
|
4508
|
-
|
|
4508
|
+
m.value ? (F(), A("div", Ts, [M(R(Yt), {
|
|
4509
4509
|
icon: R(ge),
|
|
4510
|
-
label: R(
|
|
4510
|
+
label: R(t).t("wise_invoicing.invoice.detail.line_items.scroll_right"),
|
|
4511
4511
|
class: "pointer-events-auto shadow-md",
|
|
4512
4512
|
size: "sm",
|
|
4513
4513
|
variant: "secondary",
|
|
4514
|
-
onClick:
|
|
4514
|
+
onClick: r[5] ||= (e) => g(1)
|
|
4515
4515
|
}, null, 8, ["icon", "label"])])) : k("", !0)
|
|
4516
4516
|
]));
|
|
4517
4517
|
}
|
|
@@ -4570,7 +4570,7 @@ var js = /*#__PURE__*/ Pe(Os, [["render", As]]), Ms = /* @__PURE__ */ N({
|
|
|
4570
4570
|
__name: "BillingDocumentLineItemsTotals",
|
|
4571
4571
|
props: { billingDocument: {} },
|
|
4572
4572
|
setup(e) {
|
|
4573
|
-
let t = e, n = T(), r =
|
|
4573
|
+
let t = e, n = T(), r = _();
|
|
4574
4574
|
function i(e) {
|
|
4575
4575
|
return r.formatMonetary(vr.getDisplayMonetary(t.billingDocument.type, e));
|
|
4576
4576
|
}
|
|
@@ -4584,10 +4584,10 @@ var js = /*#__PURE__*/ Pe(Os, [["render", As]]), Ms = /* @__PURE__ */ N({
|
|
|
4584
4584
|
label: n.t("wise_invoicing.invoice.detail.line_items.total"),
|
|
4585
4585
|
net: i(t.billingDocument.effectiveNet),
|
|
4586
4586
|
vat: i(t.billingDocument.vatAmount)
|
|
4587
|
-
}]),
|
|
4587
|
+
}]), s = D(() => t.billingDocument.type === o.STANDARD), c = D(() => {
|
|
4588
4588
|
if (t.billingDocument.totalDiscountAmount === null) return "-";
|
|
4589
4589
|
let e = i(t.billingDocument.totalDiscountAmount);
|
|
4590
|
-
return t.billingDocument.type ===
|
|
4590
|
+
return t.billingDocument.type === o.STANDARD ? `-${e}` : e;
|
|
4591
4591
|
}), l = D(() => n.t("wise_invoicing.invoice.detail.totals.vat_rounding_tooltip"));
|
|
4592
4592
|
return (e, r) => (F(), O(R(B), {
|
|
4593
4593
|
align: "end",
|
|
@@ -4688,7 +4688,7 @@ var js = /*#__PURE__*/ Pe(Os, [["render", As]]), Ms = /* @__PURE__ */ N({
|
|
|
4688
4688
|
class: "w-auto"
|
|
4689
4689
|
}, {
|
|
4690
4690
|
default: z(() => [
|
|
4691
|
-
|
|
4691
|
+
s.value ? (F(), O(R(B), {
|
|
4692
4692
|
key: 0,
|
|
4693
4693
|
align: "center",
|
|
4694
4694
|
justify: "between",
|
|
@@ -4701,7 +4701,7 @@ var js = /*#__PURE__*/ Pe(Os, [["render", As]]), Ms = /* @__PURE__ */ N({
|
|
|
4701
4701
|
class: "text-xs font-medium text-secondary",
|
|
4702
4702
|
"disable-tooltip": ""
|
|
4703
4703
|
}, null, 8, ["text"]), M(R(V), {
|
|
4704
|
-
text:
|
|
4704
|
+
text: c.value,
|
|
4705
4705
|
as: "div",
|
|
4706
4706
|
class: "text-sm font-medium whitespace-nowrap text-primary",
|
|
4707
4707
|
"disable-tooltip": ""
|
|
@@ -4778,7 +4778,7 @@ function Ps(e, t) {
|
|
|
4778
4778
|
return Number.isFinite(e) ? e : t;
|
|
4779
4779
|
}
|
|
4780
4780
|
function Fs(e) {
|
|
4781
|
-
return e === null || e === 0 ? null : new
|
|
4781
|
+
return e === null || e === 0 ? null : new x(e);
|
|
4782
4782
|
}
|
|
4783
4783
|
function Is(e, t) {
|
|
4784
4784
|
let n = e[t - 1], r = e[t];
|
|
@@ -4952,7 +4952,7 @@ function Rs(e) {
|
|
|
4952
4952
|
//#endregion
|
|
4953
4953
|
//#region src/ui/billing-document/table/composables/useBillingDocumentLineItemsEditor.composable.ts
|
|
4954
4954
|
function zs(e) {
|
|
4955
|
-
let t = I([]), n = I(""), r = I(!1), i = D(() => e.customFieldDefinitions?.() ?? []), a = D(() => Ae.filterByEntityType(i.value,
|
|
4955
|
+
let t = I([]), n = I(""), r = I(!1), i = D(() => e.customFieldDefinitions?.() ?? []), a = D(() => Ae.filterByEntityType(i.value, d.INVOICE_LINE)), o = D(() => Ae.filterByEntityType(i.value, d.INVOICE_LINE_GROUP)), s = D(() => H.createBillingDocumentLineItemsMeta(e.billingDocument())), c = D(() => e.canEdit === void 0 ? e.billingDocument().status === l.DRAFT || e.billingDocument().status === l.READY : e.canEdit.value), u = D(() => H.createBillingDocumentLineItemRowsKey(t.value)), f = D(() => u.value !== n.value), p = D(() => t.value.some((e) => !H.isTransientEmptyLineRow(e) && !H.isBillingDocumentLineItemRowValid(e))), m = D(() => H.createBillingDocumentLineItemsServerSnapshot(e.billingDocument())), h = Rs({ rows: () => t.value }), g = D(() => t.value.map((e) => {
|
|
4956
4956
|
if (H.isGroupRow(e)) return {
|
|
4957
4957
|
discount: null,
|
|
4958
4958
|
gross: null,
|
|
@@ -4977,21 +4977,21 @@ function zs(e) {
|
|
|
4977
4977
|
selection: h,
|
|
4978
4978
|
meta: s
|
|
4979
4979
|
}), v = Ns({
|
|
4980
|
-
hasInvalidRows:
|
|
4980
|
+
hasInvalidRows: p,
|
|
4981
4981
|
hasSaveError: r,
|
|
4982
|
-
isDirty:
|
|
4982
|
+
isDirty: f,
|
|
4983
4983
|
isEditable: c,
|
|
4984
4984
|
isSaving: e.isSaving,
|
|
4985
4985
|
baselineRowsKey: n,
|
|
4986
4986
|
rows: t,
|
|
4987
|
-
rowsKey:
|
|
4987
|
+
rowsKey: u,
|
|
4988
4988
|
updateLines: e.updateLines,
|
|
4989
4989
|
meta: s
|
|
4990
4990
|
});
|
|
4991
4991
|
return mt(m, () => _.applyServerRows(), { immediate: !0 }), {
|
|
4992
|
-
hasInvalidRows:
|
|
4992
|
+
hasInvalidRows: p,
|
|
4993
4993
|
hasSaveError: r,
|
|
4994
|
-
isDirty:
|
|
4994
|
+
isDirty: f,
|
|
4995
4995
|
isEditable: c,
|
|
4996
4996
|
isSaving: v.isSaving,
|
|
4997
4997
|
customFieldDefinitions: i,
|
|
@@ -5049,7 +5049,7 @@ var Bs = /* @__PURE__ */ N({
|
|
|
5049
5049
|
breadcrumbs: {}
|
|
5050
5050
|
},
|
|
5051
5051
|
setup(e) {
|
|
5052
|
-
let t = e, n =
|
|
5052
|
+
let t = e, n = m();
|
|
5053
5053
|
return ze(D(() => [])), n.set(() => t.billingDocument.subject ?? t.billingDocument.sequence ?? t.title), (e, n) => (F(), O(Bs, {
|
|
5054
5054
|
breadcrumbs: t.breadcrumbs,
|
|
5055
5055
|
title: t.title
|
|
@@ -5064,7 +5064,7 @@ var Bs = /* @__PURE__ */ N({
|
|
|
5064
5064
|
//#endregion
|
|
5065
5065
|
//#region src/ui/billing-document/billingDocumentPdfPreviewRoute.util.ts
|
|
5066
5066
|
function Hs(e) {
|
|
5067
|
-
return e.type ===
|
|
5067
|
+
return e.type === o.CREDIT_NOTE ? {
|
|
5068
5068
|
name: "invoicing-credit-note-pdf-preview",
|
|
5069
5069
|
params: { creditNoteUuid: e.uuid }
|
|
5070
5070
|
} : {
|
|
@@ -5078,10 +5078,10 @@ var Us = { class: "text-sm font-semibold text-primary" }, Ws = { class: "w-10 te
|
|
|
5078
5078
|
__name: "BillingDocumentPdfViewer",
|
|
5079
5079
|
props: { billingDocument: {} },
|
|
5080
5080
|
setup(e) {
|
|
5081
|
-
let t = e, n = T(), r = Ve(), i = I(75), a = I(1),
|
|
5082
|
-
let e = t.billingDocument.externalRemarks !== null && t.billingDocument.externalRemarks.trim() !== "", n = Le.buildRows(t.billingDocument, { isCreditNote: t.billingDocument.type ===
|
|
5081
|
+
let t = e, n = T(), r = Ve(), i = I(75), a = I(1), s = I(null), c = D(() => {
|
|
5082
|
+
let e = t.billingDocument.externalRemarks !== null && t.billingDocument.externalRemarks.trim() !== "", n = Le.buildRows(t.billingDocument, { isCreditNote: t.billingDocument.type === o.CREDIT_NOTE });
|
|
5083
5083
|
return Le.paginateRows(n, { hasRemarks: e }).length;
|
|
5084
|
-
}), l = D(() => t.billingDocument.type ===
|
|
5084
|
+
}), l = D(() => t.billingDocument.type === o.CREDIT_NOTE ? n.t("wise_invoicing.common.credit_note_pdf") : n.t("wise_invoicing.common.invoice_pdf"));
|
|
5085
5085
|
function u() {
|
|
5086
5086
|
i.value = Math.min(qs, i.value + Js);
|
|
5087
5087
|
}
|
|
@@ -5089,7 +5089,7 @@ var Us = { class: "text-sm font-semibold text-primary" }, Ws = { class: "w-10 te
|
|
|
5089
5089
|
i.value = Math.max(Ks, i.value - Js);
|
|
5090
5090
|
}
|
|
5091
5091
|
function f() {
|
|
5092
|
-
return Array.from(
|
|
5092
|
+
return Array.from(s.value?.querySelectorAll("article") ?? []);
|
|
5093
5093
|
}
|
|
5094
5094
|
function p(e) {
|
|
5095
5095
|
let t = f()[e - 1];
|
|
@@ -5102,7 +5102,7 @@ var Us = { class: "text-sm font-semibold text-primary" }, Ws = { class: "w-10 te
|
|
|
5102
5102
|
a.value > 1 && p(a.value - 1);
|
|
5103
5103
|
}
|
|
5104
5104
|
function h() {
|
|
5105
|
-
a.value <
|
|
5105
|
+
a.value < c.value && p(a.value + 1);
|
|
5106
5106
|
}
|
|
5107
5107
|
function g() {
|
|
5108
5108
|
let e = r.resolve(Hs(t.billingDocument));
|
|
@@ -5110,7 +5110,7 @@ var Us = { class: "text-sm font-semibold text-primary" }, Ws = { class: "w-10 te
|
|
|
5110
5110
|
}
|
|
5111
5111
|
let _ = null;
|
|
5112
5112
|
function v() {
|
|
5113
|
-
if (
|
|
5113
|
+
if (s.value === null) return;
|
|
5114
5114
|
_?.disconnect();
|
|
5115
5115
|
let e = f();
|
|
5116
5116
|
if (e.length !== 0) {
|
|
@@ -5120,7 +5120,7 @@ var Us = { class: "text-sm font-semibold text-primary" }, Ws = { class: "w-10 te
|
|
|
5120
5120
|
t !== -1 && (a.value = t + 1);
|
|
5121
5121
|
}
|
|
5122
5122
|
}, {
|
|
5123
|
-
root:
|
|
5123
|
+
root: s.value,
|
|
5124
5124
|
threshold: .5
|
|
5125
5125
|
});
|
|
5126
5126
|
for (let t of e) _.observe(t);
|
|
@@ -5149,7 +5149,7 @@ var Us = { class: "text-sm font-semibold text-primary" }, Ws = { class: "w-10 te
|
|
|
5149
5149
|
}),
|
|
5150
5150
|
j("div", {
|
|
5151
5151
|
ref_key: "scrollContainer",
|
|
5152
|
-
ref:
|
|
5152
|
+
ref: s,
|
|
5153
5153
|
class: "flex min-h-0 w-full flex-1 flex-col overflow-y-auto bg-tertiary py-lg"
|
|
5154
5154
|
}, [j("div", {
|
|
5155
5155
|
style: et({ zoom: i.value / 100 }),
|
|
@@ -5173,7 +5173,7 @@ var Us = { class: "text-sm font-semibold text-primary" }, Ws = { class: "w-10 te
|
|
|
5173
5173
|
"label"
|
|
5174
5174
|
]),
|
|
5175
5175
|
M(R(Yt), {
|
|
5176
|
-
disabled: a.value >=
|
|
5176
|
+
disabled: a.value >= c.value,
|
|
5177
5177
|
icon: R(de),
|
|
5178
5178
|
label: R(n).t("wise_invoicing.common.pdf_viewer.next_page"),
|
|
5179
5179
|
size: "sm",
|
|
@@ -5184,7 +5184,7 @@ var Us = { class: "text-sm font-semibold text-primary" }, Ws = { class: "w-10 te
|
|
|
5184
5184
|
"icon",
|
|
5185
5185
|
"label"
|
|
5186
5186
|
]),
|
|
5187
|
-
j("p", Ws, L(a.value) + " / " + L(
|
|
5187
|
+
j("p", Ws, L(a.value) + " / " + L(c.value), 1)
|
|
5188
5188
|
]),
|
|
5189
5189
|
_: 1
|
|
5190
5190
|
}), M(R(B), { gap: "xs" }, {
|