@idraw/util 0.4.0-beta.40 → 0.4.0-beta.41
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/index.d.ts +46 -40
- package/dist/esm/index.js +46 -40
- package/dist/esm/tool/flat-object.d.ts +6 -0
- package/dist/esm/tool/flat-object.js +28 -0
- package/dist/esm/tool/get-set-del.d.ts +4 -0
- package/dist/esm/tool/get-set-del.js +65 -0
- package/dist/esm/tool/hash.d.ts +1 -0
- package/dist/esm/tool/hash.js +33 -0
- package/dist/esm/{lib → tool}/html.js +6 -2
- package/dist/esm/{lib → tool}/store.js +1 -1
- package/dist/esm/tool/unflat-object.d.ts +3 -0
- package/dist/esm/tool/unflat-object.js +91 -0
- package/dist/esm/tool/uuid.js +13 -0
- package/dist/esm/{lib → view}/check.js +14 -14
- package/dist/esm/{lib → view}/controller.js +53 -10
- package/dist/esm/{lib → view}/data.js +1 -1
- package/dist/esm/{lib → view}/element.js +12 -4
- package/dist/esm/{lib → view}/flat.js +2 -1
- package/dist/esm/{lib → view}/group.js +1 -1
- package/dist/esm/{lib → view}/handle-element.d.ts +6 -1
- package/dist/esm/{lib → view}/handle-element.js +26 -31
- package/dist/esm/view/handle-global.d.ts +4 -0
- package/dist/esm/view/handle-global.js +28 -0
- package/dist/esm/view/handle-layout.d.ts +4 -0
- package/dist/esm/view/handle-layout.js +28 -0
- package/dist/esm/{lib → view}/is.js +1 -1
- package/dist/esm/view/modify-record.d.ts +4 -0
- package/dist/esm/view/modify-record.js +10 -0
- package/dist/esm/view/position.d.ts +15 -0
- package/dist/esm/view/position.js +79 -0
- package/dist/esm/{lib → view}/resize-element.js +1 -1
- package/dist/esm/{lib → view}/view-content.js +1 -1
- package/dist/index.global.js +459 -165
- package/dist/index.global.min.js +1 -1
- package/package.json +1 -1
- package/dist/esm/lib/modify-recorder.d.ts +0 -15
- package/dist/esm/lib/modify-recorder.js +0 -177
- package/dist/esm/lib/modify.d.ts +0 -6
- package/dist/esm/lib/modify.js +0 -99
- package/dist/esm/lib/uuid.js +0 -31
- /package/dist/esm/{lib → tool}/color.d.ts +0 -0
- /package/dist/esm/{lib → tool}/color.js +0 -0
- /package/dist/esm/{lib → tool}/event.d.ts +0 -0
- /package/dist/esm/{lib → tool}/event.js +0 -0
- /package/dist/esm/{lib → tool}/file.d.ts +0 -0
- /package/dist/esm/{lib → tool}/file.js +0 -0
- /package/dist/esm/{lib → tool}/html.d.ts +0 -0
- /package/dist/esm/{lib → tool}/image.d.ts +0 -0
- /package/dist/esm/{lib → tool}/image.js +0 -0
- /package/dist/esm/{lib → tool}/istype.d.ts +0 -0
- /package/dist/esm/{lib → tool}/istype.js +0 -0
- /package/dist/esm/{lib → tool}/merge.d.ts +0 -0
- /package/dist/esm/{lib → tool}/merge.js +0 -0
- /package/dist/esm/{lib → tool}/number.d.ts +0 -0
- /package/dist/esm/{lib → tool}/number.js +0 -0
- /package/dist/esm/{lib → tool}/omit.d.ts +0 -0
- /package/dist/esm/{lib → tool}/omit.js +0 -0
- /package/dist/esm/{lib → tool}/store.d.ts +0 -0
- /package/dist/esm/{lib → tool}/time.d.ts +0 -0
- /package/dist/esm/{lib → tool}/time.js +0 -0
- /package/dist/esm/{lib → tool}/uuid.d.ts +0 -0
- /package/dist/esm/{lib → view}/box.d.ts +0 -0
- /package/dist/esm/{lib → view}/box.js +0 -0
- /package/dist/esm/{lib → view}/canvas.d.ts +0 -0
- /package/dist/esm/{lib → view}/canvas.js +0 -0
- /package/dist/esm/{lib → view}/check.d.ts +0 -0
- /package/dist/esm/{lib → view}/config.d.ts +0 -0
- /package/dist/esm/{lib → view}/config.js +0 -0
- /package/dist/esm/{lib → view}/context2d.d.ts +0 -0
- /package/dist/esm/{lib → view}/context2d.js +0 -0
- /package/dist/esm/{lib → view}/controller.d.ts +0 -0
- /package/dist/esm/{lib → view}/data.d.ts +0 -0
- /package/dist/esm/{lib → view}/element.d.ts +0 -0
- /package/dist/esm/{lib → view}/flat.d.ts +0 -0
- /package/dist/esm/{lib → view}/group.d.ts +0 -0
- /package/dist/esm/{lib → view}/is.d.ts +0 -0
- /package/dist/esm/{lib → view}/load.d.ts +0 -0
- /package/dist/esm/{lib → view}/load.js +0 -0
- /package/dist/esm/{lib → view}/matrix.d.ts +0 -0
- /package/dist/esm/{lib → view}/matrix.js +0 -0
- /package/dist/esm/{lib → view}/middleware.d.ts +0 -0
- /package/dist/esm/{lib → view}/middleware.js +0 -0
- /package/dist/esm/{lib → view}/parser.d.ts +0 -0
- /package/dist/esm/{lib → view}/parser.js +0 -0
- /package/dist/esm/{lib → view}/point-move-element.d.ts +0 -0
- /package/dist/esm/{lib → view}/point-move-element.js +0 -0
- /package/dist/esm/{lib → view}/point.d.ts +0 -0
- /package/dist/esm/{lib → view}/point.js +0 -0
- /package/dist/esm/{lib → view}/rect.d.ts +0 -0
- /package/dist/esm/{lib → view}/rect.js +0 -0
- /package/dist/esm/{lib → view}/resize-element.d.ts +0 -0
- /package/dist/esm/{lib → view}/rotate.d.ts +0 -0
- /package/dist/esm/{lib → view}/rotate.js +0 -0
- /package/dist/esm/{lib → view}/svg-path.d.ts +0 -0
- /package/dist/esm/{lib → view}/svg-path.js +0 -0
- /package/dist/esm/{lib → view}/text.d.ts +0 -0
- /package/dist/esm/{lib → view}/text.js +0 -0
- /package/dist/esm/{lib → view}/vertex.d.ts +0 -0
- /package/dist/esm/{lib → view}/vertex.js +0 -0
- /package/dist/esm/{lib → view}/view-box.d.ts +0 -0
- /package/dist/esm/{lib → view}/view-box.js +0 -0
- /package/dist/esm/{lib → view}/view-calc.d.ts +0 -0
- /package/dist/esm/{lib → view}/view-calc.js +0 -0
- /package/dist/esm/{lib → view}/view-content.d.ts +0 -0
package/dist/esm/lib/modify.js
DELETED
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
import { insertElementToListByPosition, deleteElementInListByPosition, moveElementPosition, updateElementInListByPosition } from './handle-element';
|
|
2
|
-
import { istype } from './istype';
|
|
3
|
-
export function modifyElement(data, options) {
|
|
4
|
-
const { type } = options;
|
|
5
|
-
const content = Object.assign({}, options.content);
|
|
6
|
-
if (type === 'addElement') {
|
|
7
|
-
const opts = options;
|
|
8
|
-
const { element, position } = opts.content;
|
|
9
|
-
if ((position === null || position === void 0 ? void 0 : position.length) > 0) {
|
|
10
|
-
insertElementToListByPosition(element, [...position], data.elements);
|
|
11
|
-
}
|
|
12
|
-
else {
|
|
13
|
-
data.elements.push(element);
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
else if (type === 'deleteElement') {
|
|
17
|
-
const opts = options;
|
|
18
|
-
const { position } = opts.content;
|
|
19
|
-
deleteElementInListByPosition(position, data.elements);
|
|
20
|
-
}
|
|
21
|
-
else if (type === 'moveElement') {
|
|
22
|
-
const opts = options;
|
|
23
|
-
const { from, to } = opts.content;
|
|
24
|
-
const movedResult = moveElementPosition(data.elements, { from, to });
|
|
25
|
-
content.from = movedResult.from;
|
|
26
|
-
content.to = movedResult.to;
|
|
27
|
-
data.elements = movedResult.elements;
|
|
28
|
-
}
|
|
29
|
-
else if (type === 'updateElement') {
|
|
30
|
-
const opts = options;
|
|
31
|
-
const { position, afterModifiedElement } = opts.content;
|
|
32
|
-
updateElementInListByPosition(position, afterModifiedElement, data.elements);
|
|
33
|
-
}
|
|
34
|
-
return { data, content };
|
|
35
|
-
}
|
|
36
|
-
function _get(source, path, defaultValue = undefined) {
|
|
37
|
-
const keyList = path.split('.');
|
|
38
|
-
const result = keyList.reduce((obj, key) => {
|
|
39
|
-
return Object(obj)[key];
|
|
40
|
-
}, source);
|
|
41
|
-
return result === undefined ? defaultValue : result;
|
|
42
|
-
}
|
|
43
|
-
function _set(obj, path, value) {
|
|
44
|
-
const keys = path.split('.');
|
|
45
|
-
if (typeof obj !== 'object')
|
|
46
|
-
return obj;
|
|
47
|
-
keys.reduce((o, k, i, _) => {
|
|
48
|
-
if (i === _.length - 1) {
|
|
49
|
-
o[k] = value;
|
|
50
|
-
return null;
|
|
51
|
-
}
|
|
52
|
-
else if (k in o) {
|
|
53
|
-
return o[k];
|
|
54
|
-
}
|
|
55
|
-
else {
|
|
56
|
-
o[k] = /^[0-9]{1,}$/.test(_[i + 1]) ? [] : {};
|
|
57
|
-
return o[k];
|
|
58
|
-
}
|
|
59
|
-
}, obj);
|
|
60
|
-
return obj;
|
|
61
|
-
}
|
|
62
|
-
export function getModifiedElement(target, originElement) {
|
|
63
|
-
const modifiedElement = {};
|
|
64
|
-
const pathList = [];
|
|
65
|
-
const _walk = (t) => {
|
|
66
|
-
if (istype.json(t)) {
|
|
67
|
-
const keys = Object.keys(t);
|
|
68
|
-
keys.forEach((key) => {
|
|
69
|
-
pathList.push(key);
|
|
70
|
-
if (istype.json(t[key]) || istype.array(t[key])) {
|
|
71
|
-
_walk(t[key]);
|
|
72
|
-
}
|
|
73
|
-
else {
|
|
74
|
-
const pathStr = pathList.join('.');
|
|
75
|
-
if (pathStr !== 'uuid') {
|
|
76
|
-
const value = _get(originElement, pathStr);
|
|
77
|
-
_set(modifiedElement, pathList.join('.'), value);
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
pathList.pop();
|
|
81
|
-
});
|
|
82
|
-
}
|
|
83
|
-
else if (istype.array(t)) {
|
|
84
|
-
t.forEach((index) => {
|
|
85
|
-
pathList.push(index);
|
|
86
|
-
if (istype.json(t[index]) || istype.array(t[index])) {
|
|
87
|
-
_walk(t[index]);
|
|
88
|
-
}
|
|
89
|
-
else {
|
|
90
|
-
const value = _get(originElement, pathList.join('.'));
|
|
91
|
-
_set(modifiedElement, pathList.join('.'), value);
|
|
92
|
-
}
|
|
93
|
-
pathList.pop();
|
|
94
|
-
});
|
|
95
|
-
}
|
|
96
|
-
};
|
|
97
|
-
_walk(target);
|
|
98
|
-
return modifiedElement;
|
|
99
|
-
}
|
package/dist/esm/lib/uuid.js
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
export function createUUID() {
|
|
2
|
-
function _createStr() {
|
|
3
|
-
return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);
|
|
4
|
-
}
|
|
5
|
-
return `${_createStr()}${_createStr()}-${_createStr()}-${_createStr()}-${_createStr()}-${_createStr()}${_createStr()}${_createStr()}`;
|
|
6
|
-
}
|
|
7
|
-
function limitHexStr(str) {
|
|
8
|
-
let count = 0;
|
|
9
|
-
for (let i = 0; i < str.length; i++) {
|
|
10
|
-
count += str.charCodeAt(i) * str.charCodeAt(i) * i * i;
|
|
11
|
-
}
|
|
12
|
-
return count.toString(16).substring(0, 4);
|
|
13
|
-
}
|
|
14
|
-
export function createAssetId(assetStr) {
|
|
15
|
-
const len = assetStr.length;
|
|
16
|
-
const mid = Math.floor(len / 2);
|
|
17
|
-
const start4 = assetStr.substring(0, 4).padEnd(4, '0');
|
|
18
|
-
const end4 = assetStr.substring(0, 4).padEnd(4, '0');
|
|
19
|
-
const str1 = limitHexStr(len.toString(16).padEnd(4, start4));
|
|
20
|
-
const str2 = limitHexStr(assetStr.substring(mid - 4, mid).padEnd(4, start4)).padEnd(4, 'f');
|
|
21
|
-
const str3 = limitHexStr(assetStr.substring(mid - 8, mid - 4).padEnd(4, start4)).padEnd(4, 'f');
|
|
22
|
-
const str4 = limitHexStr(assetStr.substring(mid - 12, mid - 8).padEnd(4, start4)).padEnd(4, 'f');
|
|
23
|
-
const str5 = limitHexStr(assetStr.substring(mid - 16, mid - 12).padEnd(4, end4)).padEnd(4, 'f');
|
|
24
|
-
const str6 = limitHexStr(assetStr.substring(mid, mid + 4).padEnd(4, end4)).padEnd(4, 'f');
|
|
25
|
-
const str7 = limitHexStr(assetStr.substring(mid + 4, mid + 8).padEnd(4, end4)).padEnd(4, 'f');
|
|
26
|
-
const str8 = limitHexStr(end4.padEnd(4, start4).padEnd(4, end4));
|
|
27
|
-
return `@assets/${str1}${str2}-${str3}-${str4}-${str5}-${str6}${str7}${str8}`;
|
|
28
|
-
}
|
|
29
|
-
export function isAssetId(id) {
|
|
30
|
-
return /^@assets\/[0-9a-z]{8,8}\-[0-9a-z]{4,4}\-[0-9a-z]{4,4}\-[0-9a-z]{4,4}\-[0-9a-z]{12,12}$/.test(`${id}`);
|
|
31
|
-
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|