mirror of
https://github.com/idrawjs/idraw
synced 2026-05-24 10:08:34 +00:00
feat: add element<html>.desc properties
This commit is contained in:
parent
25a88776b5
commit
5118e44ec9
3 changed files with 14 additions and 6 deletions
|
|
@ -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 {
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -76,6 +76,8 @@ type TypeElemDescSVG = {
|
|||
|
||||
type TypeElemDescHTML = {
|
||||
html: string;
|
||||
width: number;
|
||||
height: number;
|
||||
}
|
||||
|
||||
// type TypeElemDescPaint = TypePaintData
|
||||
|
|
|
|||
Loading…
Reference in a new issue