feat(core): Refactor project structure for better modularity and code organization
This commit is contained in:
parent
bab1ffc4b4
commit
c9ad18538b
@ -1,5 +1,12 @@
|
||||
# Changelog
|
||||
|
||||
## 2024-12-02 - 1.5.0 - feat(core)
|
||||
Refactor project structure for better modularity and code organization
|
||||
|
||||
- Moved shared components to a dedicated 'dist_ts_shared' directory for better separation of concerns.
|
||||
- Updated import statements across the codebase to align with the new file structure.
|
||||
- Introduced translations directly under 'ts_shared' for language-specific string management.
|
||||
|
||||
## 2024-12-02 - 1.4.0 - feat(translation)
|
||||
Add French and Italian translations for document interface
|
||||
|
||||
|
@ -6,8 +6,10 @@
|
||||
"main": "dist_ts_web/index.js",
|
||||
"typings": "dist_ts_web/index.d.ts",
|
||||
"exports": {
|
||||
"./ts": "./dist_ts/index.js",
|
||||
"./ts_web": "./dist_ts_web/index.js"
|
||||
".": "./dist_ts/index.js",
|
||||
"./web": "./dist_ts_web/index.js",
|
||||
"./shared": "./dist_ts_shared/index.js",
|
||||
"./interfaces": "./dist_ts_shared/interfaces/index.js"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "npm run build && tstest test/",
|
||||
|
@ -1,6 +1,6 @@
|
||||
import * as plugins from './plugins.js';
|
||||
import * as paths from './paths.js';
|
||||
import * as interfaces from '../ts/interfaces/index.js';
|
||||
import * as interfaces from '../ts_shared/interfaces/index.js';
|
||||
import { expect, tap } from '@push.rocks/tapbundle';
|
||||
import * as deesDocumentServer from '../ts/index.js';
|
||||
|
||||
|
@ -3,6 +3,6 @@
|
||||
*/
|
||||
export const commitinfo = {
|
||||
name: '@design.estate/dees-document',
|
||||
version: '1.4.0',
|
||||
version: '1.5.0',
|
||||
description: 'A sophisticated framework for dynamically generating and rendering business documents like invoices with modern web technologies, featuring PDF creation, templating, and automation.'
|
||||
}
|
||||
|
@ -1,6 +1,5 @@
|
||||
import * as plugins from './plugins.js';
|
||||
import * as helpers from './helpers.js';
|
||||
import type { IDocumentSettings} from '../ts/interfaces/index.js';
|
||||
|
||||
export interface IPdfServiceConstructorOptions {
|
||||
|
||||
@ -46,7 +45,7 @@ export class PdfService {
|
||||
*/
|
||||
public async createPdfFromLetterObject(optionsArg: {
|
||||
letterData: plugins.tsclass.business.ILetter,
|
||||
documentSettings: IDocumentSettings
|
||||
documentSettings: plugins.shared.interfaces.IDocumentSettings
|
||||
}) {
|
||||
const html = `
|
||||
<script type="module">
|
||||
|
@ -5,6 +5,11 @@ export {
|
||||
path
|
||||
}
|
||||
|
||||
// dees-document scope
|
||||
import * as shared from '../dist_ts_shared/index.js';
|
||||
|
||||
export { shared };
|
||||
|
||||
// @push.rocks/scope
|
||||
import * as smartfile from '@push.rocks/smartfile';
|
||||
import * as smartjson from '@push.rocks/smartjson';
|
||||
|
3
ts/tspublish.json
Normal file
3
ts/tspublish.json
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
"order": 2
|
||||
}
|
@ -1,7 +1,7 @@
|
||||
import * as tsclass from '@tsclass/tsclass';
|
||||
import * as interfaces from '../interfaces/index.js';
|
||||
import * as plugins from './plugins.js';
|
||||
import * as interfaces from './interfaces/index.js';
|
||||
|
||||
const fromContact: tsclass.business.IContact = {
|
||||
const fromContact: plugins.tsclass.business.IContact = {
|
||||
name: 'Awesome From Company',
|
||||
type: 'company',
|
||||
description: 'a company that does stuff',
|
||||
@ -23,7 +23,7 @@ const fromContact: tsclass.business.IContact = {
|
||||
|
||||
};
|
||||
|
||||
const toContact: tsclass.business.IContact = {
|
||||
const toContact: plugins.tsclass.business.IContact = {
|
||||
name: 'Awesome To GmbH',
|
||||
type: 'company',
|
||||
customerNumber: 'LL-CLIENT-123',
|
||||
@ -38,7 +38,7 @@ const toContact: tsclass.business.IContact = {
|
||||
vatId: 'BE12345678',
|
||||
}
|
||||
|
||||
export const demoLetter: tsclass.business.ILetter = {
|
||||
export const demoLetter: plugins.tsclass.business.ILetter = {
|
||||
versionInfo: {
|
||||
type: 'draft',
|
||||
version: '1.0.0',
|
@ -3,6 +3,9 @@ export const a4Width = 794;
|
||||
export const rightMargin = 70;
|
||||
export const leftMargin = 90;
|
||||
|
||||
import * as interfaces from './interfaces/index.js';
|
||||
export { interfaces };
|
||||
|
||||
import * as translation from './translation.js';
|
||||
export { translation };
|
||||
|
@ -1,8 +1,8 @@
|
||||
import * as shared from '../shared/index.js';
|
||||
import * as translation from '../translation.js';
|
||||
|
||||
export interface IDocumentSettings {
|
||||
enableTopDraftText?: boolean;
|
||||
enableDefaultHeader?: boolean;
|
||||
enableDefaultFooter?: boolean;
|
||||
languageCode?: shared.translation.TLanguageCode;
|
||||
languageCode?: translation.TLanguageCode;
|
||||
}
|
4
ts_shared/plugins.ts
Normal file
4
ts_shared/plugins.ts
Normal file
@ -0,0 +1,4 @@
|
||||
// tsclass scope
|
||||
import * as tsclass from '@tsclass/tsclass';
|
||||
|
||||
export { tsclass };
|
@ -1,4 +1,4 @@
|
||||
import * as interfaces from '../interfaces/index.js';
|
||||
import * as interfaces from './interfaces/index.js';
|
||||
|
||||
type TTranslationImplementation = {
|
||||
[key in keyof interfaces.IDeDocumentTranslations]: string;
|
3
ts_shared/tspublish.json
Normal file
3
ts_shared/tspublish.json
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
"order": 1
|
||||
}
|
@ -3,6 +3,6 @@
|
||||
*/
|
||||
export const commitinfo = {
|
||||
name: '@design.estate/dees-document',
|
||||
version: '1.4.0',
|
||||
version: '1.5.0',
|
||||
description: 'A sophisticated framework for dynamically generating and rendering business documents like invoices with modern web technologies, featuring PDF creation, templating, and automation.'
|
||||
}
|
||||
|
@ -15,8 +15,6 @@ import {
|
||||
domtools,
|
||||
} from '@design.estate/dees-element';
|
||||
import * as plugins from '../plugins.js';
|
||||
import * as shared from '../../ts/shared/index.js';
|
||||
import * as interfaces from '../../ts/interfaces/index.js';
|
||||
|
||||
|
||||
declare global {
|
||||
@ -49,7 +47,7 @@ export class DeContentInvoice extends DeesElement {
|
||||
type: Object,
|
||||
reflect: true,
|
||||
})
|
||||
public documentSettings: interfaces.IDocumentSettings;
|
||||
public documentSettings: plugins.shared.interfaces.IDocumentSettings;
|
||||
|
||||
constructor() {
|
||||
super();
|
||||
@ -281,12 +279,12 @@ export class DeContentInvoice extends DeesElement {
|
||||
</style>
|
||||
<div>We hereby invoice products and services provided to you by Lossless GmbH:</div>
|
||||
<div class="grid topLine dataHeader">
|
||||
<div class="lineItem">${shared.translation.translate(this.documentSettings.languageCode, 'itemPos', 'Item Pos.')}</div>
|
||||
<div class="lineItem">${shared.translation.translate(this.documentSettings.languageCode, 'description', 'Description')}</div>
|
||||
<div class="lineItem">${shared.translation.translate(this.documentSettings.languageCode, 'quantity', 'Quantity')}</div>
|
||||
<div class="lineItem">${shared.translation.translate(this.documentSettings.languageCode, 'unitType', 'Unit Type')}</div>
|
||||
<div class="lineItem">${shared.translation.translate(this.documentSettings.languageCode, 'unitNetPrice', 'Unit Net Price')}</div>
|
||||
<div class="lineItem">${shared.translation.translate(this.documentSettings.languageCode, 'totalNetPrice', 'Total Net Price')}</div>
|
||||
<div class="lineItem">${plugins.shared.translation.translate(this.documentSettings.languageCode, 'itemPos', 'Item Pos.')}</div>
|
||||
<div class="lineItem">${plugins.shared.translation.translate(this.documentSettings.languageCode, 'description', 'Description')}</div>
|
||||
<div class="lineItem">${plugins.shared.translation.translate(this.documentSettings.languageCode, 'quantity', 'Quantity')}</div>
|
||||
<div class="lineItem">${plugins.shared.translation.translate(this.documentSettings.languageCode, 'unitType', 'Unit Type')}</div>
|
||||
<div class="lineItem">${plugins.shared.translation.translate(this.documentSettings.languageCode, 'unitNetPrice', 'Unit Net Price')}</div>
|
||||
<div class="lineItem">${plugins.shared.translation.translate(this.documentSettings.languageCode, 'totalNetPrice', 'Total Net Price')}</div>
|
||||
</div>
|
||||
${(() => {
|
||||
let counter = 1;
|
||||
@ -335,7 +333,7 @@ export class DeContentInvoice extends DeesElement {
|
||||
${this.letterData?.content.invoiceData.reverseCharge
|
||||
? html`
|
||||
<div class="taxNote">
|
||||
${shared.translation.translate(this.documentSettings.languageCode, 'reverseVatNote', 'VAT arises on a reverse charge basis and is payable by the customer.')}
|
||||
${plugins.shared.translation.translate(this.documentSettings.languageCode, 'reverseVatNote', 'VAT arises on a reverse charge basis and is payable by the customer.')}
|
||||
</div>
|
||||
`
|
||||
: ``}
|
||||
|
@ -1,6 +1,7 @@
|
||||
import * as shared from '../../ts/shared/index.js';
|
||||
import * as plugins from '../plugins.js';
|
||||
|
||||
import { html } from '@design.estate/dees-element';
|
||||
|
||||
export const demoFunc = () => html`
|
||||
<dedocument-dedocument .format="${'a4'}" .letterData=${shared.demoLetter}></dedocument-dedocument>
|
||||
<dedocument-dedocument .format="${'a4'}" .letterData=${plugins.shared.demoLetter}></dedocument-dedocument>
|
||||
`;
|
@ -10,11 +10,9 @@ import {
|
||||
unsafeCSS,
|
||||
domtools,
|
||||
} from '@design.estate/dees-element';
|
||||
|
||||
import * as interfaces from '../../ts/interfaces/index.js';
|
||||
import * as plugins from '../plugins.js';
|
||||
|
||||
export const defaultDocumentSettings: interfaces.IDocumentSettings = {
|
||||
export const defaultDocumentSettings: plugins.shared.interfaces.IDocumentSettings = {
|
||||
enableTopDraftText: true,
|
||||
enableDefaultHeader: true,
|
||||
enableDefaultFooter: true,
|
||||
@ -24,7 +22,6 @@ export const defaultDocumentSettings: interfaces.IDocumentSettings = {
|
||||
import { DePage } from './page.js';
|
||||
import { DeContentInvoice } from './contentinvoice.js';
|
||||
|
||||
import * as shared from '../../ts/shared/index.js';
|
||||
import { demoFunc } from './document.demo.js';
|
||||
|
||||
declare global {
|
||||
@ -85,7 +82,7 @@ export class DeDocument extends DeesElement {
|
||||
}
|
||||
},
|
||||
})
|
||||
public documentSettings: interfaces.IDocumentSettings = defaultDocumentSettings;
|
||||
public documentSettings: plugins.shared.interfaces.IDocumentSettings = defaultDocumentSettings;
|
||||
|
||||
constructor() {
|
||||
super();
|
||||
|
@ -7,5 +7,3 @@ export * from './pagecontent.js';
|
||||
export * from './pagefooter.js';
|
||||
export * from './pageheader.js';
|
||||
export * from './viewer.js';
|
||||
|
||||
export * from '../../ts/shared/index.js';
|
@ -7,11 +7,10 @@ import {
|
||||
css,
|
||||
cssManager,
|
||||
unsafeCSS,
|
||||
domtools,
|
||||
} from '@design.estate/dees-element';
|
||||
import * as domtools from '@design.estate/dees-domtools';
|
||||
|
||||
import * as shared from '../../ts/shared/index.js';
|
||||
import * as tsclass from '@tsclass/tsclass';
|
||||
import * as plugins from '../plugins.js';
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
@ -22,14 +21,14 @@ declare global {
|
||||
@customElement('dedocument-letterheader')
|
||||
export class DeLetterHeader extends DeesElement {
|
||||
public static demo = () => html`
|
||||
<dedocument-letterheader .format="${'a4'}" .letterData=${shared.demoLetter}></dedocument-letterheader>
|
||||
<dedocument-letterheader .format="${'a4'}" .letterData=${plugins.shared.demoLetter}></dedocument-letterheader>
|
||||
`;
|
||||
|
||||
@property({
|
||||
type: Object,
|
||||
reflect: true
|
||||
})
|
||||
public letterData: tsclass.business.ILetter;
|
||||
public letterData: plugins.tsclass.business.ILetter;
|
||||
|
||||
@property({
|
||||
type: Number,
|
||||
@ -60,7 +59,7 @@ export class DeLetterHeader extends DeesElement {
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
top: 200px;
|
||||
right: ${unsafeCSS(shared.rightMargin + 'px')};
|
||||
right: ${unsafeCSS(plugins.shared.rightMargin + 'px')};
|
||||
width: 200px;
|
||||
text-align: right;
|
||||
}
|
||||
@ -74,14 +73,14 @@ export class DeLetterHeader extends DeesElement {
|
||||
.date {
|
||||
position: absolute;
|
||||
top: 180px;
|
||||
right: ${unsafeCSS(shared.rightMargin + 'px')};
|
||||
right: ${unsafeCSS(plugins.shared.rightMargin + 'px')};
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.address {
|
||||
position: absolute;
|
||||
top: 180px;
|
||||
left: ${unsafeCSS(shared.leftMargin + 'px')};
|
||||
left: ${unsafeCSS(plugins.shared.leftMargin + 'px')};
|
||||
}
|
||||
|
||||
.address .from {
|
||||
|
@ -11,12 +11,10 @@ import {
|
||||
domtools,
|
||||
} from '@design.estate/dees-element';
|
||||
|
||||
import * as interfaces from '../../ts/interfaces/index.js';
|
||||
import * as plugins from '../plugins.js';
|
||||
|
||||
import { defaultDocumentSettings } from './document.js';
|
||||
|
||||
import * as shared from '../../ts/shared/index.js';
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
'dedocument-page': DePage;
|
||||
@ -67,7 +65,7 @@ export class DePage extends DeesElement {
|
||||
type: Object,
|
||||
reflect: true,
|
||||
})
|
||||
public documentSettings: interfaces.IDocumentSettings = defaultDocumentSettings;
|
||||
public documentSettings: plugins.shared.interfaces.IDocumentSettings = defaultDocumentSettings;
|
||||
|
||||
constructor() {
|
||||
super();
|
||||
@ -204,9 +202,9 @@ export class DePage extends DeesElement {
|
||||
|
||||
let scale = 1;
|
||||
if (this.viewHeight) {
|
||||
scale = this.viewHeight / shared.a4Height;
|
||||
scale = this.viewHeight / plugins.shared.a4Height;
|
||||
} else if (this.viewWidth) {
|
||||
scale = this.viewWidth / shared.a4Width;
|
||||
scale = this.viewWidth / plugins.shared.a4Width;
|
||||
}
|
||||
console.log(`new scale is ${scale}`);
|
||||
scaleWrapper.style.transform = `scale(${scale})`;
|
||||
@ -214,6 +212,6 @@ export class DePage extends DeesElement {
|
||||
// Adjust the outer dimensions so they match the scaled content
|
||||
|
||||
// this.style.width = `${shared.a4Width * scale}px`;
|
||||
this.style.height = `${shared.a4Height * scale}px`;
|
||||
this.style.height = `${plugins.shared.a4Height * scale}px`;
|
||||
}
|
||||
}
|
||||
|
@ -10,7 +10,7 @@ import {
|
||||
} from '@design.estate/dees-element';
|
||||
import * as domtools from '@design.estate/dees-domtools';
|
||||
|
||||
import * as shared from '../../ts/shared/index.js';
|
||||
import * as plugins from '../plugins.js';
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
@ -47,8 +47,8 @@ export class DePageContainer extends DeesElement {
|
||||
background: white;
|
||||
color: #333;
|
||||
padding: 0px;
|
||||
width: ${unsafeCSS(shared.a4Width + 'px')};
|
||||
height: ${unsafeCSS(shared.a4Height + 'px')};
|
||||
width: ${unsafeCSS(plugins.shared.a4Width + 'px')};
|
||||
height: ${unsafeCSS(plugins.shared.a4Height + 'px')};
|
||||
position: relative;
|
||||
border-radius: 3px;
|
||||
overflow: hidden;
|
||||
|
@ -7,11 +7,10 @@ import {
|
||||
css,
|
||||
cssManager,
|
||||
unsafeCSS,
|
||||
domtools,
|
||||
} from '@design.estate/dees-element';
|
||||
import * as domtools from '@design.estate/dees-domtools';
|
||||
|
||||
import * as shared from '../../ts/shared/index.js';
|
||||
import * as tsclass from '@tsclass/tsclass';
|
||||
import * as plugins from '../plugins.js';
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
@ -28,7 +27,7 @@ export class DePageContent extends DeesElement {
|
||||
@property({
|
||||
type: Number,
|
||||
})
|
||||
public letterData: tsclass.business.ILetter;
|
||||
public letterData: plugins.tsclass.business.ILetter;
|
||||
|
||||
@property({
|
||||
type: Number,
|
||||
@ -55,8 +54,8 @@ export class DePageContent extends DeesElement {
|
||||
.content {
|
||||
position: absolute;
|
||||
|
||||
left: ${unsafeCSS(shared.leftMargin + 'px')};
|
||||
right: ${unsafeCSS(shared.rightMargin + 'px')};
|
||||
left: ${unsafeCSS(plugins.shared.leftMargin + 'px')};
|
||||
right: ${unsafeCSS(plugins.shared.rightMargin + 'px')};
|
||||
bottom: 170px;
|
||||
overflow: visible;
|
||||
}
|
||||
|
@ -10,10 +10,7 @@ import {
|
||||
domtools,
|
||||
} from '@design.estate/dees-element';
|
||||
|
||||
import * as interfaces from '../../ts/interfaces/index.js';
|
||||
|
||||
import * as shared from '../../ts/shared/index.js';
|
||||
import * as tsclass from '@tsclass/tsclass';
|
||||
import * as plugins from '../plugins.js';
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
@ -30,13 +27,13 @@ export class DePageFooter extends DeesElement {
|
||||
@property({
|
||||
type: Object,
|
||||
})
|
||||
letterData: tsclass.business.ILetter;
|
||||
letterData: plugins.tsclass.business.ILetter;
|
||||
|
||||
@property({
|
||||
type: Object,
|
||||
reflect: true,
|
||||
})
|
||||
documentSettings: interfaces.IDocumentSettings;
|
||||
documentSettings: plugins.shared.interfaces.IDocumentSettings;
|
||||
|
||||
@property({
|
||||
type: Number
|
||||
@ -69,7 +66,7 @@ export class DePageFooter extends DeesElement {
|
||||
right: 0px;
|
||||
height: 130px;
|
||||
content: '';
|
||||
padding: 30px ${unsafeCSS(shared.rightMargin + 'px')} 10px ${unsafeCSS(shared.leftMargin + 'px')};
|
||||
padding: 30px ${unsafeCSS(plugins.shared.rightMargin + 'px')} 10px ${unsafeCSS(plugins.shared.leftMargin + 'px')};
|
||||
grid-template-columns: calc(100% / 4) calc(100% / 4) calc(100% / 4) calc(100% / 4);
|
||||
grid-gap: 5px;
|
||||
border-top: 2px solid #e4002b;
|
||||
@ -78,7 +75,7 @@ export class DePageFooter extends DeesElement {
|
||||
.bottomstripe .pageNumber {
|
||||
position: absolute;
|
||||
top: 0px;
|
||||
right: ${unsafeCSS(shared.rightMargin + 'px')};
|
||||
right: ${unsafeCSS(plugins.shared.rightMargin + 'px')};
|
||||
background: #e4002b;
|
||||
padding: 3px;
|
||||
font-size: 9px;
|
||||
@ -89,7 +86,7 @@ export class DePageFooter extends DeesElement {
|
||||
.bottomstripe .documentTitle {
|
||||
position: absolute;
|
||||
top: -18px;
|
||||
right: ${unsafeCSS(shared.rightMargin + 'px')};
|
||||
right: ${unsafeCSS(plugins.shared.rightMargin + 'px')};
|
||||
background: #dddddd;
|
||||
padding: 3px;
|
||||
font-size: 9px;
|
||||
@ -104,26 +101,26 @@ export class DePageFooter extends DeesElement {
|
||||
return html`
|
||||
<div class="bottomstripe">
|
||||
<div>
|
||||
<strong>${shared.translation.translate(this.documentSettings.languageCode, 'address', 'Address')}:</strong><br />
|
||||
<strong>${plugins.shared.translation.translate(this.documentSettings.languageCode, 'address', 'Address')}:</strong><br />
|
||||
${this.letterData.from.name}<br />
|
||||
${this.letterData.from.address.streetName} ${this.letterData.from.address.houseNumber}<br />
|
||||
${this.letterData.from.address.postalCode} ${this.letterData.from.address.city}<br />
|
||||
${this.letterData.from.address.country}
|
||||
</div>
|
||||
<div>
|
||||
<strong>${shared.translation.translate(this.documentSettings.languageCode, 'registrationInfo', 'Registration Info')}:</strong><br />
|
||||
<strong>${plugins.shared.translation.translate(this.documentSettings.languageCode, 'registrationInfo', 'Registration Info')}:</strong><br />
|
||||
Amtsgericht Bremen<br />
|
||||
<i>reg-#:</i> HRB 35230 HB<br />
|
||||
<i>vat-id:</i> ${this.letterData.from.vatId}
|
||||
</div>
|
||||
<div>
|
||||
<strong>${shared.translation.translate(this.documentSettings.languageCode, 'contactInfo', 'Contact Info')}:</strong><br />
|
||||
<strong>${plugins.shared.translation.translate(this.documentSettings.languageCode, 'contactInfo', 'Contact Info')}:</strong><br />
|
||||
<i>email:</i> ${this.letterData.from.email}<br />
|
||||
<i>phone:</i> ${this.letterData.from.phone}<br />
|
||||
<i>fax:</i> ${this.letterData.from.fax}
|
||||
</div>
|
||||
<div>
|
||||
<strong>${shared.translation.translate(this.documentSettings.languageCode, 'bankConnection', 'Bank Connection')}:</strong><br />
|
||||
<strong>${plugins.shared.translation.translate(this.documentSettings.languageCode, 'bankConnection', 'Bank Connection')}:</strong><br />
|
||||
<i>beneficiary:</i> ${this.letterData?.from?.name}<br />
|
||||
<i>institution:</i> ${this.letterData?.from?.sepaConnection?.institution}<br />
|
||||
<i>iban:</i> ${this.letterData?.from?.sepaConnection?.iban}<br />
|
||||
|
@ -10,10 +10,7 @@ import {
|
||||
domtools
|
||||
} from '@design.estate/dees-element';
|
||||
|
||||
import * as interfaces from '../../ts/interfaces/index.js';
|
||||
|
||||
import * as shared from '../../ts/shared/index.js';
|
||||
import * as tsclass from '@tsclass/tsclass';
|
||||
import * as plugins from '../plugins.js';
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
@ -30,13 +27,13 @@ export class DePageHeader extends DeesElement {
|
||||
@property({
|
||||
type: Object,
|
||||
})
|
||||
public letterData: tsclass.business.ILetter = null;
|
||||
public letterData: plugins.tsclass.business.ILetter = null;
|
||||
|
||||
@property({
|
||||
type: Object,
|
||||
reflect: true,
|
||||
})
|
||||
documentSettings: interfaces.IDocumentSettings;
|
||||
documentSettings: plugins.shared.interfaces.IDocumentSettings;
|
||||
|
||||
@property({
|
||||
type: Number,
|
||||
@ -76,7 +73,7 @@ export class DePageHeader extends DeesElement {
|
||||
overflow: hidden;
|
||||
top: 130px;
|
||||
left: auto;
|
||||
right: ${unsafeCSS(shared.rightMargin + 'px')};
|
||||
right: ${unsafeCSS(plugins.shared.rightMargin + 'px')};
|
||||
height: 20px;
|
||||
line-height: 20px;
|
||||
color: #333;
|
||||
@ -87,7 +84,7 @@ export class DePageHeader extends DeesElement {
|
||||
bottom: 10px;
|
||||
height: 25px;
|
||||
left: auto;
|
||||
right: ${unsafeCSS(shared.rightMargin + 'px')};
|
||||
right: ${unsafeCSS(plugins.shared.rightMargin + 'px')};
|
||||
font-family: 'Courier New', Courier, monospace;
|
||||
}
|
||||
.topstripe .logo img {
|
||||
|
@ -1,6 +1,6 @@
|
||||
import { html } from '@design.estate/dees-element';
|
||||
import * as shared from '../../ts/shared/index.js';
|
||||
import * as plugins from '../plugins.js';
|
||||
|
||||
export const demoFunc = () => html`
|
||||
<dedocument-viewer .letterData=${shared.demoLetter} .documentSettings=${shared.demoDocumentSettings}></dedocument-viewer>
|
||||
<dedocument-viewer .letterData=${plugins.shared.demoLetter} .documentSettings=${plugins.shared.demoDocumentSettings}></dedocument-viewer>
|
||||
`;
|
@ -1,5 +1,4 @@
|
||||
import * as plugins from '../plugins.js';
|
||||
import * as interfaces from '../../ts/interfaces/index.js';
|
||||
|
||||
import { DeesElement, css, cssManager, customElement, html } from '@design.estate/dees-element';
|
||||
import { demoFunc } from './viewer.demo.js';
|
||||
@ -18,7 +17,7 @@ export class DeDocumentViewer extends DeesElement {
|
||||
// INSTANCE
|
||||
public letterData: plugins.tsclass.business.ILetter = null;
|
||||
|
||||
public documentSettings: interfaces.IDocumentSettings;
|
||||
public documentSettings: plugins.shared.interfaces.IDocumentSettings;
|
||||
|
||||
public static styles = [
|
||||
cssManager.defaultStyles,
|
||||
|
@ -1,3 +1,8 @@
|
||||
// dees-document scope
|
||||
import * as shared from '../dist_ts_shared/index.js';
|
||||
|
||||
export { shared };
|
||||
|
||||
// tsclass scope
|
||||
import * as tsclass from '@tsclass/tsclass';
|
||||
|
||||
|
3
ts_web/tspublish.json
Normal file
3
ts_web/tspublish.json
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
"order": 3
|
||||
}
|
Loading…
Reference in New Issue
Block a user