feat: add mobile css
This commit is contained in:
@@ -1,16 +1,20 @@
|
||||
import { AbstractElement } from './abstract-element';
|
||||
import jsPDF from 'jspdf';
|
||||
import { IContext } from './context';
|
||||
import { AbstractContainerElement } from './abstract-container-element';
|
||||
|
||||
export class Column extends AbstractElement {
|
||||
public elements: AbstractElement[] = [];
|
||||
|
||||
constructor(x: number, y: number, elements: AbstractElement[]) {
|
||||
super(x, y);
|
||||
this.elements = elements;
|
||||
export class Column extends AbstractContainerElement {
|
||||
constructor(
|
||||
x: number,
|
||||
y: number,
|
||||
elements: AbstractElement[],
|
||||
context: Partial<IContext> = AbstractElement.DEFAULT_CONTEXT
|
||||
) {
|
||||
super(x, y, undefined, elements, context);
|
||||
}
|
||||
|
||||
public prepareRender(doc: jsPDF, _maxWidth?: number): jsPDF {
|
||||
const elements = this.elements ?? [];
|
||||
const elements = this.pdfElements ?? [];
|
||||
|
||||
let currentY = this.y;
|
||||
for (let i = 0; i < elements.length; i++) {
|
||||
@@ -37,7 +41,8 @@ export class Column extends AbstractElement {
|
||||
): Document {
|
||||
const div = doc.createElement('div');
|
||||
div.classList.add(`column`);
|
||||
const elements = this.elements ?? [];
|
||||
div.classList.add(this.context.name);
|
||||
const elements = this.htmlElements ?? [];
|
||||
for (let i = 0; i < elements.length; i++) {
|
||||
const element = elements[i];
|
||||
element.renderHtml(doc, div, cssRules, sheet);
|
||||
@@ -47,8 +52,8 @@ export class Column extends AbstractElement {
|
||||
}
|
||||
|
||||
public getHeight(doc): number {
|
||||
return this.elements.length > 0
|
||||
? this.elements
|
||||
return this.pdfElements.length > 0
|
||||
? this.pdfElements
|
||||
.map((e) => e.getHeight(doc))
|
||||
.reduce((p, c, i) => {
|
||||
if (i === 0) {
|
||||
@@ -60,20 +65,8 @@ export class Column extends AbstractElement {
|
||||
}
|
||||
|
||||
public getCheckNewPageHeight(doc?: jsPDF): number {
|
||||
return this.elements.length > 0
|
||||
? this.elements[0].getCheckNewPageHeight(doc)
|
||||
return this.pdfElements.length > 0
|
||||
? this.pdfElements[0].getCheckNewPageHeight(doc)
|
||||
: 0;
|
||||
}
|
||||
|
||||
public getElements(): AbstractElement[] {
|
||||
const elements: AbstractElement[] = [];
|
||||
for (const element of this.elements) {
|
||||
elements.push(...element.getElements());
|
||||
}
|
||||
return elements;
|
||||
}
|
||||
|
||||
public isEmpty(): boolean {
|
||||
return this.elements.length === 0;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user