feat: add element<html>.desc properties

This commit is contained in:
chenshenhai 2021-08-06 12:38:50 +08:00
parent 25a88776b5
commit 5118e44ec9
3 changed files with 14 additions and 6 deletions

View file

@ -29,11 +29,13 @@ const data = {
name: "html-001",
x: 200,
y: 120,
w: 150,
h: 100,
w: 240,
h: 240,
type: "html",
angle: 0,
desc: {
width: 120,
height: 80,
html: `
<style>
.btn-box {

View file

@ -113,7 +113,7 @@ export default class Loader {
// add new load-data
for (let i = data.elements.length - 1; i >= 0; i --) {
const elem = data.elements[i];
const elem = data.elements[i] as TypeElement<'image' | 'svg' | 'html'>;
if (['image', 'svg', 'html', ].includes(elem.type)) {
if (!storageLoadData[elem.uuid]) {
loadData[elem.uuid] = this._createEmptyLoadItem(elem);
@ -153,10 +153,12 @@ export default class Loader {
return [uuidQueue, loadData];
}
private _createEmptyLoadItem(elem: TypeElement<keyof TypeElemDesc>): TypeLoadData[string] {
private _createEmptyLoadItem(elem: TypeElement<'image' | 'svg' | 'html'>): TypeLoadData[string] {
let source = '';
const type: TypeLoadData[string]['type'] = elem.type as TypeLoadData[string]['type'];
let elemW: number = elem.w;
let elemH: number = elem.h;
if (elem.type === 'image') {
const _elem = elem as TypeElement<'image'>;
source = _elem.desc.src || '';
@ -166,14 +168,16 @@ export default class Loader {
} else if (elem.type === 'html') {
const _elem = elem as TypeElement<'html'>;
source = filterScript(_elem.desc.html || '');
elemW = _elem.desc.width || elem.w;
elemH = _elem.desc.height || elem.h;
}
return {
type: type,
status: 'null',
content: null,
source,
elemW: elem.w,
elemH: elem.h,
elemW,
elemH,
};
}

View file

@ -76,6 +76,8 @@ type TypeElemDescSVG = {
type TypeElemDescHTML = {
html: string;
width: number;
height: number;
}
// type TypeElemDescPaint = TypePaintData