@idraw/renderer 0.4.0-alpha.3 → 0.4.0-alpha.5
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/esm/draw/{base.js → box.js} +130 -95
- package/dist/esm/draw/circle.js +41 -19
- package/dist/esm/draw/color.d.ts +6 -0
- package/dist/esm/draw/color.js +44 -0
- package/dist/esm/draw/elements.js +6 -1
- package/dist/esm/draw/group.js +1 -1
- package/dist/esm/draw/html.js +5 -2
- package/dist/esm/draw/image.js +42 -8
- package/dist/esm/draw/path.js +1 -1
- package/dist/esm/draw/rect.js +1 -1
- package/dist/esm/draw/svg.js +4 -1
- package/dist/esm/draw/text.js +6 -9
- package/dist/esm/loader.d.ts +1 -1
- package/dist/esm/loader.js +37 -15
- package/dist/index.global.js +426 -194
- package/dist/index.global.min.js +1 -1
- package/package.json +6 -5
- /package/dist/esm/draw/{base.d.ts → box.d.ts} +0 -0
package/dist/esm/loader.js
CHANGED
|
@@ -7,8 +7,28 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
7
7
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
8
|
});
|
|
9
9
|
};
|
|
10
|
-
import { loadImage, loadHTML, loadSVG, EventEmitter,
|
|
10
|
+
import { loadImage, loadHTML, loadSVG, EventEmitter, createAssetId, isAssetId, createUUID } from '@idraw/util';
|
|
11
11
|
const supportElementTypes = ['image', 'svg', 'html'];
|
|
12
|
+
const getAssetIdFromElement = (element) => {
|
|
13
|
+
var _a, _b, _c;
|
|
14
|
+
let source = null;
|
|
15
|
+
if (element.type === 'image') {
|
|
16
|
+
source = ((_a = element === null || element === void 0 ? void 0 : element.detail) === null || _a === void 0 ? void 0 : _a.src) || null;
|
|
17
|
+
}
|
|
18
|
+
else if (element.type === 'svg') {
|
|
19
|
+
source = ((_b = element === null || element === void 0 ? void 0 : element.detail) === null || _b === void 0 ? void 0 : _b.svg) || null;
|
|
20
|
+
}
|
|
21
|
+
else if (element.type === 'html') {
|
|
22
|
+
source = ((_c = element === null || element === void 0 ? void 0 : element.detail) === null || _c === void 0 ? void 0 : _c.html) || null;
|
|
23
|
+
}
|
|
24
|
+
if (typeof source === 'string' && source) {
|
|
25
|
+
if (isAssetId(source)) {
|
|
26
|
+
return source;
|
|
27
|
+
}
|
|
28
|
+
return createAssetId(source);
|
|
29
|
+
}
|
|
30
|
+
return createAssetId(`${createUUID()}-${element.uuid}-${createUUID()}-${createUUID()}`);
|
|
31
|
+
};
|
|
12
32
|
export class Loader extends EventEmitter {
|
|
13
33
|
constructor() {
|
|
14
34
|
super();
|
|
@@ -78,36 +98,37 @@ export class Loader extends EventEmitter {
|
|
|
78
98
|
};
|
|
79
99
|
}
|
|
80
100
|
_emitLoad(item) {
|
|
81
|
-
const
|
|
82
|
-
const storageItem = this._storageLoadItemMap[
|
|
101
|
+
const assetId = getAssetIdFromElement(item.element);
|
|
102
|
+
const storageItem = this._storageLoadItemMap[assetId];
|
|
83
103
|
if (storageItem) {
|
|
84
104
|
if (storageItem.startTime < item.startTime) {
|
|
85
|
-
this._storageLoadItemMap[
|
|
105
|
+
this._storageLoadItemMap[assetId] = item;
|
|
86
106
|
this.trigger('load', Object.assign(Object.assign({}, item), { countTime: item.endTime - item.startTime }));
|
|
87
107
|
}
|
|
88
108
|
}
|
|
89
109
|
else {
|
|
90
|
-
this._storageLoadItemMap[
|
|
110
|
+
this._storageLoadItemMap[assetId] = item;
|
|
91
111
|
this.trigger('load', Object.assign(Object.assign({}, item), { countTime: item.endTime - item.startTime }));
|
|
92
112
|
}
|
|
93
113
|
}
|
|
94
114
|
_emitError(item) {
|
|
95
|
-
const
|
|
96
|
-
const storageItem = this._storageLoadItemMap[
|
|
115
|
+
const assetId = getAssetIdFromElement(item.element);
|
|
116
|
+
const storageItem = this._storageLoadItemMap[assetId];
|
|
97
117
|
if (storageItem) {
|
|
98
118
|
if (storageItem.startTime < item.startTime) {
|
|
99
|
-
this._storageLoadItemMap[
|
|
119
|
+
this._storageLoadItemMap[assetId] = item;
|
|
100
120
|
this.trigger('error', Object.assign(Object.assign({}, item), { countTime: item.endTime - item.startTime }));
|
|
101
121
|
}
|
|
102
122
|
}
|
|
103
123
|
else {
|
|
104
|
-
this._storageLoadItemMap[
|
|
124
|
+
this._storageLoadItemMap[assetId] = item;
|
|
105
125
|
this.trigger('error', Object.assign(Object.assign({}, item), { countTime: item.endTime - item.startTime }));
|
|
106
126
|
}
|
|
107
127
|
}
|
|
108
128
|
_loadResource(element, assets) {
|
|
109
129
|
const item = this._createLoadItem(element);
|
|
110
|
-
|
|
130
|
+
const assetId = getAssetIdFromElement(element);
|
|
131
|
+
this._currentLoadItemMap[assetId] = item;
|
|
111
132
|
const loadFunc = this._loadFuncMap[element.type];
|
|
112
133
|
if (typeof loadFunc === 'function') {
|
|
113
134
|
item.startTime = Date.now();
|
|
@@ -129,7 +150,8 @@ export class Loader extends EventEmitter {
|
|
|
129
150
|
}
|
|
130
151
|
_isExistingErrorStorage(element) {
|
|
131
152
|
var _a;
|
|
132
|
-
const
|
|
153
|
+
const assetId = getAssetIdFromElement(element);
|
|
154
|
+
const existItem = (_a = this._currentLoadItemMap) === null || _a === void 0 ? void 0 : _a[assetId];
|
|
133
155
|
if (existItem && existItem.status === 'error' && existItem.source && existItem.source === this._getLoadElementSource(element)) {
|
|
134
156
|
return true;
|
|
135
157
|
}
|
|
@@ -140,12 +162,12 @@ export class Loader extends EventEmitter {
|
|
|
140
162
|
return;
|
|
141
163
|
}
|
|
142
164
|
if (supportElementTypes.includes(element.type)) {
|
|
143
|
-
|
|
144
|
-
this._loadResource(elem, assets);
|
|
165
|
+
this._loadResource(element, assets);
|
|
145
166
|
}
|
|
146
167
|
}
|
|
147
|
-
getContent(
|
|
168
|
+
getContent(element) {
|
|
148
169
|
var _a, _b;
|
|
149
|
-
|
|
170
|
+
const assetId = getAssetIdFromElement(element);
|
|
171
|
+
return ((_b = (_a = this._storageLoadItemMap) === null || _a === void 0 ? void 0 : _a[assetId]) === null || _b === void 0 ? void 0 : _b.content) || null;
|
|
150
172
|
}
|
|
151
173
|
}
|