@design.estate/dees-document 1.0.91
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_bundle/bundle.js +865 -0
- package/dist_bundle/bundle.js.map +7 -0
- package/dist_ts/00_commitinfo_data.d.ts +8 -0
- package/dist_ts/00_commitinfo_data.js +9 -0
- package/dist_ts/classes.pdfservice.d.ts +23 -0
- package/dist_ts/classes.pdfservice.js +39 -0
- package/dist_ts/helpers.d.ts +1 -0
- package/dist_ts/helpers.js +6 -0
- package/dist_ts/index.d.ts +2 -0
- package/dist_ts/index.js +3 -0
- package/dist_ts/paths.d.ts +4 -0
- package/dist_ts/paths.js +7 -0
- package/dist_ts/plugins.d.ts +9 -0
- package/dist_ts/plugins.js +13 -0
- package/dist_ts_web/00_commitinfo_data.d.ts +8 -0
- package/dist_ts_web/00_commitinfo_data.js +9 -0
- package/dist_ts_web/elements/contentinvoice.d.ts +34 -0
- package/dist_ts_web/elements/contentinvoice.js +335 -0
- package/dist_ts_web/elements/document.d.ts +20 -0
- package/dist_ts_web/elements/document.js +157 -0
- package/dist_ts_web/elements/index.d.ts +8 -0
- package/dist_ts_web/elements/index.js +9 -0
- package/dist_ts_web/elements/letterheader.d.ts +16 -0
- package/dist_ts_web/elements/letterheader.js +123 -0
- package/dist_ts_web/elements/page.d.ts +19 -0
- package/dist_ts_web/elements/page.js +144 -0
- package/dist_ts_web/elements/pagecontainer.d.ts +14 -0
- package/dist_ts_web/elements/pagecontainer.js +66 -0
- package/dist_ts_web/elements/pagecontent.d.ts +18 -0
- package/dist_ts_web/elements/pagecontent.js +144 -0
- package/dist_ts_web/elements/pagefooter.d.ts +16 -0
- package/dist_ts_web/elements/pagefooter.js +130 -0
- package/dist_ts_web/elements/pageheader.d.ts +16 -0
- package/dist_ts_web/elements/pageheader.js +95 -0
- package/dist_ts_web/elements/shared/demoletter.d.ts +2 -0
- package/dist_ts_web/elements/shared/demoletter.js +117 -0
- package/dist_ts_web/elements/shared/index.d.ts +5 -0
- package/dist_ts_web/elements/shared/index.js +6 -0
- package/dist_ts_web/index.d.ts +1 -0
- package/dist_ts_web/index.js +2 -0
- package/dist_ts_web/pages/index.d.ts +2 -0
- package/dist_ts_web/pages/index.js +3 -0
- package/dist_ts_web/pages/page1.d.ts +1 -0
- package/dist_ts_web/pages/page1.js +18 -0
- package/dist_ts_web/pages/page2.d.ts +1 -0
- package/dist_ts_web/pages/page2.js +5 -0
- package/dist_ts_web/plugins.d.ts +7 -0
- package/dist_ts_web/plugins.js +11 -0
- package/dist_watch/bundle.js +21871 -0
- package/dist_watch/bundle.js.map +7 -0
- package/dist_watch/index.html +28 -0
- package/license +19 -0
- package/npmextra.json +20 -0
- package/package.json +65 -0
- package/readme.md +7 -0
- package/ts/00_commitinfo_data.ts +8 -0
- package/ts/classes.pdfservice.ts +51 -0
- package/ts/helpers.ts +6 -0
- package/ts/index.ts +2 -0
- package/ts/paths.ts +9 -0
- package/ts/plugins.ts +26 -0
- package/ts_web/00_commitinfo_data.ts +8 -0
- package/ts_web/elements/contentinvoice.ts +385 -0
- package/ts_web/elements/document.ts +168 -0
- package/ts_web/elements/index.ts +8 -0
- package/ts_web/elements/letterheader.ts +125 -0
- package/ts_web/elements/page.ts +142 -0
- package/ts_web/elements/pagecontainer.ts +69 -0
- package/ts_web/elements/pagecontent.ts +147 -0
- package/ts_web/elements/pagefooter.ts +132 -0
- package/ts_web/elements/pageheader.ts +96 -0
- package/ts_web/elements/shared/demoletter.ts +121 -0
- package/ts_web/elements/shared/index.ts +6 -0
- package/ts_web/index.ts +1 -0
- package/ts_web/pages/index.ts +2 -0
- package/ts_web/pages/page1.ts +18 -0
- package/ts_web/pages/page2.ts +5 -0
- package/ts_web/plugins.ts +15 -0
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* autocreated commitinfo by @pushrocks/commitinfo
|
|
3
|
+
*/
|
|
4
|
+
export const commitinfo = {
|
|
5
|
+
name: '@fin2021_private/letter-catalog',
|
|
6
|
+
version: '1.0.90',
|
|
7
|
+
description: 'a catalog for creating documents like invoices'
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvMDBfY29tbWl0aW5mb19kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSxpQ0FBaUM7SUFDdkMsT0FBTyxFQUFFLFFBQVE7SUFDakIsV0FBVyxFQUFFLGdEQUFnRDtDQUM5RCxDQUFBIn0=
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import * as plugins from './plugins.js';
|
|
2
|
+
export interface IPdfServiceConstructorOptions {
|
|
3
|
+
}
|
|
4
|
+
/**
|
|
5
|
+
* a pdf service for generating pdfs
|
|
6
|
+
*/
|
|
7
|
+
export declare class PdfService {
|
|
8
|
+
options: IPdfServiceConstructorOptions;
|
|
9
|
+
smartpdfInstance: plugins.smartpdf.SmartPdf;
|
|
10
|
+
constructor(optionsArg: IPdfServiceConstructorOptions);
|
|
11
|
+
/**
|
|
12
|
+
* starts the PdfService
|
|
13
|
+
*/
|
|
14
|
+
start(): Promise<void>;
|
|
15
|
+
/**
|
|
16
|
+
* stops the PdfService
|
|
17
|
+
*/
|
|
18
|
+
stop(): Promise<void>;
|
|
19
|
+
/**
|
|
20
|
+
* creates an letter
|
|
21
|
+
*/
|
|
22
|
+
createPdfFromLetterObject(letterDataArg: plugins.tsclass.business.ILetter): Promise<plugins.tsclass.business.IPdf>;
|
|
23
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import * as plugins from './plugins.js';
|
|
2
|
+
import * as paths from './paths.js';
|
|
3
|
+
import * as helpers from './helpers.js';
|
|
4
|
+
/**
|
|
5
|
+
* a pdf service for generating pdfs
|
|
6
|
+
*/
|
|
7
|
+
export class PdfService {
|
|
8
|
+
constructor(optionsArg) {
|
|
9
|
+
this.options = optionsArg;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* starts the PdfService
|
|
13
|
+
*/
|
|
14
|
+
async start() {
|
|
15
|
+
this.smartpdfInstance = new plugins.smartpdf.SmartPdf();
|
|
16
|
+
await this.smartpdfInstance.start();
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* stops the PdfService
|
|
20
|
+
*/
|
|
21
|
+
async stop() {
|
|
22
|
+
await this.smartpdfInstance.stop();
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* creates an letter
|
|
26
|
+
*/
|
|
27
|
+
async createPdfFromLetterObject(letterDataArg) {
|
|
28
|
+
const html = `
|
|
29
|
+
<script type="module">
|
|
30
|
+
${await helpers.getBundleAsString()}
|
|
31
|
+
</script>
|
|
32
|
+
<dedocument-dedocument printMode letterData="${plugins.smartjson.stringifyBase64(letterDataArg)}"></dedocument-dedocument>
|
|
33
|
+
`;
|
|
34
|
+
// console.log(html);
|
|
35
|
+
const pdfResult = await this.smartpdfInstance.getA4PdfResultForHtmlString(html);
|
|
36
|
+
return pdfResult;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5wZGZzZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvY2xhc3Nlcy5wZGZzZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sY0FBYyxDQUFDO0FBQ3hDLE9BQU8sS0FBSyxLQUFLLE1BQU0sWUFBWSxDQUFDO0FBQ3BDLE9BQU8sS0FBSyxPQUFPLE1BQU0sY0FBYyxDQUFDO0FBTXhDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFVBQVU7SUFNckIsWUFBWSxVQUF5QztRQUNuRCxJQUFJLENBQUMsT0FBTyxHQUFHLFVBQVUsQ0FBQztJQUM1QixDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsS0FBSztRQUNoQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3hELE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxJQUFJO1FBQ2YsTUFBTSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLHlCQUF5QixDQUFDLGFBQStDO1FBQ3BGLE1BQU0sSUFBSSxHQUFHOztVQUVQLE1BQU0sT0FBTyxDQUFDLGlCQUFpQixFQUFFOztxREFFVSxPQUFPLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUM7S0FDaEcsQ0FBQztRQUNGLHFCQUFxQjtRQUNyQixNQUFNLFNBQVMsR0FBRyxNQUFNLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQywyQkFBMkIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoRixPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0NBQ0YifQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const getBundleAsString: () => Promise<string>;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import * as plugins from './plugins.js';
|
|
2
|
+
import * as paths from './paths.js';
|
|
3
|
+
export const getBundleAsString = async () => {
|
|
4
|
+
return plugins.smartfile.fs.toStringSync(paths.bundleFile);
|
|
5
|
+
};
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL2hlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSxjQUFjLENBQUM7QUFDeEMsT0FBTyxLQUFLLEtBQUssTUFBTSxZQUFZLENBQUM7QUFFcEMsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsS0FBSyxJQUFJLEVBQUU7SUFDMUMsT0FBTyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQzdELENBQUMsQ0FBQSJ9
|
package/dist_ts/index.js
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './helpers.js';
|
|
2
|
+
export * from './classes.pdfservice.js';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLHlCQUF5QixDQUFDIn0=
|
package/dist_ts/paths.js
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as plugins from './plugins.js';
|
|
2
|
+
export const packageDir = plugins.path.join(plugins.smartpath.get.dirnameFromImportMetaUrl(import.meta.url), '../');
|
|
3
|
+
export const nogitDir = plugins.path.join(packageDir, '.nogit/');
|
|
4
|
+
plugins.smartfile.fs.ensureDirSync(nogitDir);
|
|
5
|
+
export const bundleDir = plugins.path.join(packageDir, './dist_bundle');
|
|
6
|
+
export const bundleFile = plugins.path.join(bundleDir, './bundle.js');
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0aHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9wYXRocy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLGNBQWMsQ0FBQztBQUV4QyxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsd0JBQXdCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztBQUVwSCxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0FBQ2pFLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUU3QyxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLGVBQWUsQ0FBQyxDQUFDO0FBQ3hFLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsYUFBYSxDQUFDLENBQUMifQ==
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import * as path from 'path';
|
|
2
|
+
export { path };
|
|
3
|
+
import * as smartfile from '@push.rocks/smartfile';
|
|
4
|
+
import * as smartjson from '@push.rocks/smartjson';
|
|
5
|
+
import * as smartpath from '@push.rocks/smartpath';
|
|
6
|
+
import * as smartpdf from '@push.rocks/smartpdf';
|
|
7
|
+
export { smartfile, smartpath, smartjson, smartpdf, };
|
|
8
|
+
import * as tsclass from '@tsclass/tsclass';
|
|
9
|
+
export { tsclass, };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
// node native
|
|
2
|
+
import * as path from 'path';
|
|
3
|
+
export { path };
|
|
4
|
+
// @push.rocks/scope
|
|
5
|
+
import * as smartfile from '@push.rocks/smartfile';
|
|
6
|
+
import * as smartjson from '@push.rocks/smartjson';
|
|
7
|
+
import * as smartpath from '@push.rocks/smartpath';
|
|
8
|
+
import * as smartpdf from '@push.rocks/smartpdf';
|
|
9
|
+
export { smartfile, smartpath, smartjson, smartpdf, };
|
|
10
|
+
// @tsclass scope
|
|
11
|
+
import * as tsclass from '@tsclass/tsclass';
|
|
12
|
+
export { tsclass, };
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2lucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3BsdWdpbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYztBQUNkLE9BQU8sS0FBSyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBRTdCLE9BQU8sRUFDTCxJQUFJLEVBQ0wsQ0FBQTtBQUVELG9CQUFvQjtBQUNwQixPQUFPLEtBQUssU0FBUyxNQUFNLHVCQUF1QixDQUFDO0FBQ25ELE9BQU8sS0FBSyxTQUFTLE1BQU0sdUJBQXVCLENBQUM7QUFDbkQsT0FBTyxLQUFLLFNBQVMsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRCxPQUFPLEtBQUssUUFBUSxNQUFNLHNCQUFzQixDQUFDO0FBRWpELE9BQU8sRUFDTCxTQUFTLEVBQ1QsU0FBUyxFQUNULFNBQVMsRUFDVCxRQUFRLEdBQ1QsQ0FBQTtBQUVELGlCQUFpQjtBQUNqQixPQUFPLEtBQUssT0FBTyxNQUFNLGtCQUFrQixDQUFDO0FBRTVDLE9BQU8sRUFDTCxPQUFPLEdBQ1IsQ0FBQSJ9
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* autocreated commitinfo by @pushrocks/commitinfo
|
|
3
|
+
*/
|
|
4
|
+
export const commitinfo = {
|
|
5
|
+
name: '@design.estate/dees-document',
|
|
6
|
+
version: '1.0.90',
|
|
7
|
+
description: 'a catalog for creating documents like invoices'
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHNfd2ViLzAwX2NvbW1pdGluZm9fZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRztJQUN4QixJQUFJLEVBQUUsOEJBQThCO0lBQ3BDLE9BQU8sRUFBRSxRQUFRO0lBQ2pCLFdBQVcsRUFBRSxnREFBZ0Q7Q0FDOUQsQ0FBQSJ9
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* content for invoices
|
|
3
|
+
*/
|
|
4
|
+
import { DeesElement, type TemplateResult } from '@design.estate/dees-element';
|
|
5
|
+
import * as plugins from '../plugins.js';
|
|
6
|
+
declare global {
|
|
7
|
+
interface HTMLElementTagNameMap {
|
|
8
|
+
'dedocument-contentinvoice': DeContentInvoice;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
export declare class DeContentInvoice extends DeesElement {
|
|
12
|
+
static demo: () => TemplateResult<1>;
|
|
13
|
+
letterData: plugins.tsclass.business.ILetter;
|
|
14
|
+
constructor();
|
|
15
|
+
static styles: import("@design.estate/dees-element").CSSResult[];
|
|
16
|
+
render(): TemplateResult;
|
|
17
|
+
getTotalNet: () => number;
|
|
18
|
+
getTotalGross: () => number;
|
|
19
|
+
getVatGroups: () => {
|
|
20
|
+
vatPercentage: number;
|
|
21
|
+
items: plugins.tsclass.finance.IInvoice['items'];
|
|
22
|
+
vatAmountSum: number;
|
|
23
|
+
}[];
|
|
24
|
+
getContentNodes(): Promise<{
|
|
25
|
+
currentContent: HTMLElement;
|
|
26
|
+
trimmedContent: HTMLElement;
|
|
27
|
+
repeatedContent: HTMLElement;
|
|
28
|
+
}>;
|
|
29
|
+
getContentLength(): Promise<number>;
|
|
30
|
+
trimEndByOne(): Promise<void>;
|
|
31
|
+
trimStartToOffset(contentOffsetArg: number): Promise<void>;
|
|
32
|
+
firstUpdated(_changedProperties: Map<string | number | symbol, unknown>): Promise<void>;
|
|
33
|
+
attachInvoiceDom(): Promise<void>;
|
|
34
|
+
}
|
|
@@ -0,0 +1,335 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* content for invoices
|
|
3
|
+
*/
|
|
4
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
5
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
6
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
7
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
8
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
9
|
+
};
|
|
10
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
11
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
12
|
+
};
|
|
13
|
+
import { DeesElement, property, html, customElement, css, cssManager, unsafeCSS, render, } from '@design.estate/dees-element';
|
|
14
|
+
import * as domtools from '@design.estate/dees-domtools';
|
|
15
|
+
import * as plugins from '../plugins.js';
|
|
16
|
+
import * as shared from './shared/index.js';
|
|
17
|
+
export let DeContentInvoice = class DeContentInvoice extends DeesElement {
|
|
18
|
+
static { this.demo = () => html `
|
|
19
|
+
<style>
|
|
20
|
+
.demoContainer {
|
|
21
|
+
background: white;
|
|
22
|
+
padding: 50px;
|
|
23
|
+
}
|
|
24
|
+
</style>
|
|
25
|
+
<div class="demoContainer">
|
|
26
|
+
<dedocument-contentinvoice></dedocument-contentinvoice>
|
|
27
|
+
</div>
|
|
28
|
+
`; }
|
|
29
|
+
constructor() {
|
|
30
|
+
super();
|
|
31
|
+
this.getTotalNet = () => {
|
|
32
|
+
let totalNet = 0;
|
|
33
|
+
if (!this.letterData) {
|
|
34
|
+
return totalNet;
|
|
35
|
+
}
|
|
36
|
+
for (const item of this.letterData.content.invoiceData.items) {
|
|
37
|
+
totalNet += item.unitNetPrice * item.unitQuantity;
|
|
38
|
+
}
|
|
39
|
+
return totalNet;
|
|
40
|
+
};
|
|
41
|
+
this.getTotalGross = () => {
|
|
42
|
+
let totalVat = 0;
|
|
43
|
+
if (!this.letterData) {
|
|
44
|
+
return totalVat;
|
|
45
|
+
}
|
|
46
|
+
for (const taxgroup of this.getVatGroups()) {
|
|
47
|
+
totalVat += taxgroup.vatAmountSum;
|
|
48
|
+
}
|
|
49
|
+
return this.getTotalNet() + totalVat;
|
|
50
|
+
};
|
|
51
|
+
this.getVatGroups = () => {
|
|
52
|
+
const vatGroups = [];
|
|
53
|
+
if (!this.letterData) {
|
|
54
|
+
return vatGroups;
|
|
55
|
+
}
|
|
56
|
+
const taxAmounts = [];
|
|
57
|
+
for (const item of this.letterData.content.invoiceData.items) {
|
|
58
|
+
taxAmounts.includes(item.vatPercentage) ? null : taxAmounts.push(item.vatPercentage);
|
|
59
|
+
}
|
|
60
|
+
for (const taxAmount of taxAmounts) {
|
|
61
|
+
const matchingItems = this.letterData.content.invoiceData.items.filter((itemArg) => itemArg.vatPercentage === taxAmount);
|
|
62
|
+
let sum = 0;
|
|
63
|
+
for (const matchingItem of matchingItems) {
|
|
64
|
+
sum += matchingItem.unitNetPrice * matchingItem.unitQuantity * (taxAmount / 100);
|
|
65
|
+
}
|
|
66
|
+
vatGroups.push({
|
|
67
|
+
items: matchingItems,
|
|
68
|
+
vatPercentage: taxAmount,
|
|
69
|
+
vatAmountSum: Math.round(sum * 100) / 100,
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
return vatGroups;
|
|
73
|
+
};
|
|
74
|
+
domtools.DomTools.setupDomTools();
|
|
75
|
+
}
|
|
76
|
+
static { this.styles = [
|
|
77
|
+
domtools.elementBasic.staticStyles,
|
|
78
|
+
css `
|
|
79
|
+
:host {
|
|
80
|
+
color: #333;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
.trimmedContent {
|
|
84
|
+
display: none;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
.repeatedContent {
|
|
88
|
+
}
|
|
89
|
+
`,
|
|
90
|
+
]; }
|
|
91
|
+
render() {
|
|
92
|
+
return html `
|
|
93
|
+
<div class="trimmedContent"></div>
|
|
94
|
+
<div class="repeatedContent"></div>
|
|
95
|
+
<div class="currentContent"></div>
|
|
96
|
+
`;
|
|
97
|
+
}
|
|
98
|
+
async getContentNodes() {
|
|
99
|
+
await this.elementDomReady;
|
|
100
|
+
return {
|
|
101
|
+
currentContent: this.shadowRoot.querySelector('.currentContent'),
|
|
102
|
+
trimmedContent: this.shadowRoot.querySelector('.trimmedContent'),
|
|
103
|
+
repeatedContent: this.shadowRoot.querySelector('.repeatedContent'),
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
async getContentLength() {
|
|
107
|
+
await this.elementDomReady;
|
|
108
|
+
return (await this.getContentNodes()).currentContent.children.length;
|
|
109
|
+
}
|
|
110
|
+
async trimEndByOne() {
|
|
111
|
+
await this.elementDomReady;
|
|
112
|
+
this.shadowRoot
|
|
113
|
+
.querySelector('.trimmedContent')
|
|
114
|
+
.append((await this.getContentNodes()).currentContent.children.item((await this.getContentNodes()).currentContent.children.length - 1));
|
|
115
|
+
}
|
|
116
|
+
async trimStartToOffset(contentOffsetArg) {
|
|
117
|
+
await this.elementDomReady;
|
|
118
|
+
const beginningLength = (await this.getContentNodes()).currentContent.children.length;
|
|
119
|
+
while ((await this.getContentNodes()).currentContent.children.length !==
|
|
120
|
+
beginningLength - contentOffsetArg) {
|
|
121
|
+
(await this.getContentNodes()).trimmedContent.append((await this.getContentNodes()).currentContent.children.item(0));
|
|
122
|
+
console.log('hey' + this.shadowRoot.children.length);
|
|
123
|
+
}
|
|
124
|
+
if ((await this.getContentNodes()).currentContent.children
|
|
125
|
+
.item(0)
|
|
126
|
+
.classList.contains('needsDataHeader')) {
|
|
127
|
+
const trimmedContent = (await this.getContentNodes()).trimmedContent;
|
|
128
|
+
let startPoint = trimmedContent.children.length;
|
|
129
|
+
while (startPoint > 0) {
|
|
130
|
+
const element = trimmedContent.children.item(startPoint - 1);
|
|
131
|
+
if (element.classList.contains('dataHeader')) {
|
|
132
|
+
(await this.getContentNodes()).repeatedContent.append(element);
|
|
133
|
+
break;
|
|
134
|
+
}
|
|
135
|
+
startPoint--;
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
async firstUpdated(_changedProperties) {
|
|
140
|
+
super.firstUpdated(_changedProperties);
|
|
141
|
+
this.attachInvoiceDom();
|
|
142
|
+
}
|
|
143
|
+
async attachInvoiceDom() {
|
|
144
|
+
const contentNodes = await this.getContentNodes();
|
|
145
|
+
render(html `
|
|
146
|
+
<style>
|
|
147
|
+
.grid {
|
|
148
|
+
display: grid;
|
|
149
|
+
grid-template-columns: 40px auto 80px 80px 90px 90px;
|
|
150
|
+
}
|
|
151
|
+
.topLine {
|
|
152
|
+
margin-top: 5px;
|
|
153
|
+
background: #e7e7e7;
|
|
154
|
+
font-weight: bold;
|
|
155
|
+
}
|
|
156
|
+
.lineItem {
|
|
157
|
+
font-size: 12px;
|
|
158
|
+
padding: 5px;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
.invoiceLine {
|
|
162
|
+
border-bottom: 1px dotted #ccc;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
.sums {
|
|
166
|
+
margin-top: 5px;
|
|
167
|
+
font-size: 12px;
|
|
168
|
+
padding-left: 50%;
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
.sums .sumline {
|
|
172
|
+
margin-top: 3px;
|
|
173
|
+
display: grid;
|
|
174
|
+
grid-template-columns: auto 90px;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
.sums .sumline .label {
|
|
178
|
+
padding: 2px 5px;
|
|
179
|
+
border-right: 1px solid #ccc;
|
|
180
|
+
text-align: right;
|
|
181
|
+
font-weight: bold;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
.sums .sumline .value {
|
|
185
|
+
padding: 2px 5px;
|
|
186
|
+
font-weight: bold;
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
.divider {
|
|
190
|
+
margin-top: 8px;
|
|
191
|
+
border-top: 1px dotted #ccc;
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
.taxNote {
|
|
195
|
+
font-size: 12px;
|
|
196
|
+
padding: 4px;
|
|
197
|
+
background: #eeeeeb;
|
|
198
|
+
text-align: center;
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
.infoBox {
|
|
202
|
+
border-radius: 7px;
|
|
203
|
+
border: 1px solid #ddd;
|
|
204
|
+
border-left: 3px solid #c5e1a5;
|
|
205
|
+
padding: 8px;
|
|
206
|
+
margin-top: 16px;
|
|
207
|
+
line-height: 1.4em;
|
|
208
|
+
font-size: 16px;
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
.infoBox .label {
|
|
212
|
+
padding-bottom: 2px;
|
|
213
|
+
font-size: 12px;
|
|
214
|
+
font-weight: bold;
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
.paymentCode {
|
|
218
|
+
text-align: center;
|
|
219
|
+
border-left: 2px solid #666;
|
|
220
|
+
}
|
|
221
|
+
</style>
|
|
222
|
+
<div>We hereby invoice products and services provided to you by Lossless GmbH:</div>
|
|
223
|
+
<div class="grid topLine dataHeader">
|
|
224
|
+
<div class="lineItem">Item Pos.</div>
|
|
225
|
+
<div class="lineItem">Description</div>
|
|
226
|
+
<div class="lineItem">Quantity</div>
|
|
227
|
+
<div class="lineItem">Unit Type</div>
|
|
228
|
+
<div class="lineItem">Unit Net Price</div>
|
|
229
|
+
<div class="lineItem">Total Net Price</div>
|
|
230
|
+
</div>
|
|
231
|
+
${(() => {
|
|
232
|
+
let counter = 1;
|
|
233
|
+
return this.letterData?.content.invoiceData?.items?.map((invoiceItem) => html `
|
|
234
|
+
<div class="grid invoiceLine needsDataHeader">
|
|
235
|
+
<div class="lineItem">${counter++}</div>
|
|
236
|
+
<div class="lineItem">${invoiceItem.name}</div>
|
|
237
|
+
<div class="lineItem">${invoiceItem.unitQuantity}</div>
|
|
238
|
+
<div class="lineItem">${invoiceItem.unitType}</div>
|
|
239
|
+
<div class="lineItem">${invoiceItem.unitNetPrice} ${invoiceItem.currency}</div>
|
|
240
|
+
<div class="lineItem">
|
|
241
|
+
${invoiceItem.unitQuantity * invoiceItem.unitNetPrice} ${invoiceItem.currency}
|
|
242
|
+
</div>
|
|
243
|
+
</div>
|
|
244
|
+
`);
|
|
245
|
+
})()}
|
|
246
|
+
<div class="sums">
|
|
247
|
+
<div class="sumline">
|
|
248
|
+
<div class="label">Total net</div>
|
|
249
|
+
<div class="value">${this.getTotalNet()} EUR</div>
|
|
250
|
+
</div>
|
|
251
|
+
${this.getVatGroups().map((vatGroupArg) => {
|
|
252
|
+
let itemNumbers = '';
|
|
253
|
+
for (const item of vatGroupArg.items) {
|
|
254
|
+
const itemIndex = this.letterData.content.invoiceData.items.indexOf(item);
|
|
255
|
+
itemNumbers += ` ${itemIndex + 1},`;
|
|
256
|
+
}
|
|
257
|
+
return html `
|
|
258
|
+
<div class="sumline">
|
|
259
|
+
<div class="label">
|
|
260
|
+
Vat ${vatGroupArg.vatPercentage}%<br />
|
|
261
|
+
<span style="font-weight: normal">(on item positions: ${itemNumbers})</span>
|
|
262
|
+
</div>
|
|
263
|
+
<div class="value">${vatGroupArg.vatAmountSum} EUR</div>
|
|
264
|
+
</div>
|
|
265
|
+
`;
|
|
266
|
+
})}
|
|
267
|
+
<div class="sumline">
|
|
268
|
+
<div class="label">Total gross</div>
|
|
269
|
+
<div class="value">${this.getTotalGross()} EUR</div>
|
|
270
|
+
</div>
|
|
271
|
+
</div>
|
|
272
|
+
<div class="divider"></div>
|
|
273
|
+
${this.letterData?.content.invoiceData.reverseCharge
|
|
274
|
+
? html `
|
|
275
|
+
<div class="taxNote">
|
|
276
|
+
VAT arises on a reverse charge basis and is payable by the customer.
|
|
277
|
+
</div>
|
|
278
|
+
`
|
|
279
|
+
: ``}
|
|
280
|
+
<div class="infoBox">
|
|
281
|
+
<div class="label">Payment Terms:</div>
|
|
282
|
+
Payment is due within 30 days starting from the reception of this invoice. Please use the
|
|
283
|
+
following SEPA details:
|
|
284
|
+
<br /><br />
|
|
285
|
+
Beneficiary: ${this.letterData?.from.name}<br />
|
|
286
|
+
IBAN: ${this.letterData?.from?.sepaConnection?.iban}<br />
|
|
287
|
+
BIC: ${this.letterData?.from?.sepaConnection?.bic}<br />
|
|
288
|
+
Description: ${this.letterData?.content.invoiceData?.id}<br />
|
|
289
|
+
Amount: ${this.getTotalGross()} ${this.letterData?.content.invoiceData.items[0].currency}
|
|
290
|
+
</div>
|
|
291
|
+
${this.letterData?.content?.contractData?.contractDate
|
|
292
|
+
? html `
|
|
293
|
+
<div class="infoBox">
|
|
294
|
+
<div class="label">Referenced contract:</div>
|
|
295
|
+
This invoice is adhering to agreements made by contract between the parties on
|
|
296
|
+
${plugins.smarttime.ExtendedDate.fromMillis(this.letterData?.content.contractData.contractDate).format('MMMM D, YYYY')}.
|
|
297
|
+
</div>
|
|
298
|
+
`
|
|
299
|
+
: html ``}
|
|
300
|
+
<div class="infoBox paymentCode">
|
|
301
|
+
<div class="label">Sepa Payment Code:</div>
|
|
302
|
+
</div>
|
|
303
|
+
`, contentNodes.currentContent);
|
|
304
|
+
const canvas = document.createElement('canvas');
|
|
305
|
+
plugins.qrcode.toCanvas(canvas, `BCD
|
|
306
|
+
001
|
|
307
|
+
1
|
|
308
|
+
SCT
|
|
309
|
+
${this.letterData.content.invoiceData.billedBy.sepaConnection.bic}
|
|
310
|
+
${this.letterData.content.invoiceData.billedBy.name}
|
|
311
|
+
${this.letterData.content.invoiceData.billedBy.sepaConnection.iban}
|
|
312
|
+
EUR${this.getTotalGross()}
|
|
313
|
+
CHAR
|
|
314
|
+
${this.letterData.content.invoiceData.id}
|
|
315
|
+
${this.letterData.content.invoiceData.id}
|
|
316
|
+
EPC QR Code`, (error) => {
|
|
317
|
+
if (error)
|
|
318
|
+
console.error(error);
|
|
319
|
+
console.log('success!');
|
|
320
|
+
});
|
|
321
|
+
contentNodes.currentContent.querySelector('.paymentCode').append(canvas);
|
|
322
|
+
}
|
|
323
|
+
};
|
|
324
|
+
__decorate([
|
|
325
|
+
property({
|
|
326
|
+
type: Object,
|
|
327
|
+
reflect: true,
|
|
328
|
+
}),
|
|
329
|
+
__metadata("design:type", Object)
|
|
330
|
+
], DeContentInvoice.prototype, "letterData", void 0);
|
|
331
|
+
DeContentInvoice = __decorate([
|
|
332
|
+
customElement('dedocument-contentinvoice'),
|
|
333
|
+
__metadata("design:paramtypes", [])
|
|
334
|
+
], DeContentInvoice);
|
|
335
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudGludm9pY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90c193ZWIvZWxlbWVudHMvY29udGVudGludm9pY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7Ozs7Ozs7Ozs7QUFFSCxPQUFPLEVBQ0wsV0FBVyxFQUNYLFFBQVEsRUFDUixJQUFJLEVBQ0osYUFBYSxFQUViLEdBQUcsRUFDSCxVQUFVLEVBQ1YsU0FBUyxFQUNULE1BQU0sR0FDUCxNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sS0FBSyxRQUFRLE1BQU0sOEJBQThCLENBQUM7QUFFekQsT0FBTyxLQUFLLE9BQU8sTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxLQUFLLE1BQU0sTUFBTSxtQkFBbUIsQ0FBQztBQVVyQyxXQUFNLGdCQUFnQixHQUF0QixNQUFNLGdCQUFpQixTQUFRLFdBQVc7YUFDakMsU0FBSSxHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQTs7Ozs7Ozs7OztHQVU5QixBQVZpQixDQVVoQjtJQVFGO1FBQ0UsS0FBSyxFQUFFLENBQUM7UUE0QkgsZ0JBQVcsR0FBRyxHQUFXLEVBQUU7WUFDaEMsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFDO1lBRWpCLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFO2dCQUNwQixPQUFPLFFBQVEsQ0FBQzthQUNqQjtZQUVELEtBQUssTUFBTSxJQUFJLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRTtnQkFDNUQsUUFBUSxJQUFJLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQzthQUNuRDtZQUNELE9BQU8sUUFBUSxDQUFDO1FBQ2xCLENBQUMsQ0FBQztRQUVLLGtCQUFhLEdBQUcsR0FBVyxFQUFFO1lBQ2xDLElBQUksUUFBUSxHQUFHLENBQUMsQ0FBQztZQUVqQixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUs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
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { DeesElement, type TemplateResult } from '@design.estate/dees-element';
|
|
2
|
+
import * as plugins from '../plugins.js';
|
|
3
|
+
declare global {
|
|
4
|
+
interface HTMLElementTagNameMap {
|
|
5
|
+
'dedocument-dedocument': DeDocument;
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
export declare class DeDocument extends DeesElement {
|
|
9
|
+
static demo: () => TemplateResult<1>;
|
|
10
|
+
format: 'a4';
|
|
11
|
+
viewWidth: number;
|
|
12
|
+
printMode: boolean;
|
|
13
|
+
letterData: plugins.tsclass.business.ILetter;
|
|
14
|
+
letterDataUrl: string;
|
|
15
|
+
constructor();
|
|
16
|
+
static styles: import("@design.estate/dees-element").CSSResult[];
|
|
17
|
+
render(): TemplateResult;
|
|
18
|
+
firstUpdated(_changedProperties: Map<string | number | symbol, unknown>): Promise<void>;
|
|
19
|
+
renderDocument(): Promise<void>;
|
|
20
|
+
}
|