onchain-lexical-context 0.0.13 → 0.0.14
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/InstanceConfig.js +45 -0
- package/dist/InstanceConfig.mjs +45 -1
- package/package.json +3 -3
- package/src/InstanceConfig.tsx +68 -3
- package/src/types.d.ts +7 -1
package/dist/InstanceConfig.js
CHANGED
|
@@ -40,12 +40,15 @@ const InstanceConfigContext = ({
|
|
|
40
40
|
}) => {
|
|
41
41
|
const [selectedInstance, setSelectedInstance] = React__namespace.useState([]);
|
|
42
42
|
const [instanceMap, setInstanceMap] = React__namespace.useState(new Map());
|
|
43
|
+
const [parameterUnified, setParameterUnified] = React__namespace.useState(new ParameterUnified([]));
|
|
43
44
|
return /*#__PURE__*/jsxRuntime.jsx(Context.Provider, {
|
|
44
45
|
value: {
|
|
45
46
|
...value,
|
|
46
47
|
instanceMap,
|
|
48
|
+
parameterUnified,
|
|
47
49
|
selectedInstance,
|
|
48
50
|
setInstanceMap,
|
|
51
|
+
setParameterUnified,
|
|
49
52
|
setSelectedInstance
|
|
50
53
|
},
|
|
51
54
|
children: children
|
|
@@ -54,6 +57,48 @@ const InstanceConfigContext = ({
|
|
|
54
57
|
const useInstanceConfig = () => {
|
|
55
58
|
return React.useContext(Context);
|
|
56
59
|
};
|
|
60
|
+
class ParameterUnified {
|
|
61
|
+
map = new Map();
|
|
62
|
+
constructor(data, config = {
|
|
63
|
+
getMax: data => {
|
|
64
|
+
return '';
|
|
65
|
+
},
|
|
66
|
+
getMin: data => {
|
|
67
|
+
return '';
|
|
68
|
+
},
|
|
69
|
+
getUnit: data => {
|
|
70
|
+
return '';
|
|
71
|
+
},
|
|
72
|
+
getValue: data => {
|
|
73
|
+
return '';
|
|
74
|
+
}
|
|
75
|
+
}) {
|
|
76
|
+
this.handle = config;
|
|
77
|
+
this.map = new Map(data.map(item => [item.insId, item]));
|
|
78
|
+
}
|
|
79
|
+
setParameter(data) {
|
|
80
|
+
this.map.set(data.insId, data);
|
|
81
|
+
return this;
|
|
82
|
+
}
|
|
83
|
+
getParameterValue(data) {
|
|
84
|
+
if (typeof data === 'string') {
|
|
85
|
+
data = this.map.get(data);
|
|
86
|
+
}
|
|
87
|
+
if (data) {
|
|
88
|
+
const value = this.handle.getValue(data);
|
|
89
|
+
const unit = this.handle.getUnit(data);
|
|
90
|
+
const max = this.handle.getMax(data);
|
|
91
|
+
const min = this.handle.getMin(data);
|
|
92
|
+
if (value) {
|
|
93
|
+
return `${value}${unit}`;
|
|
94
|
+
} else {
|
|
95
|
+
return `${min}${unit}-${max}${unit}`;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
return '';
|
|
99
|
+
}
|
|
100
|
+
}
|
|
57
101
|
|
|
58
102
|
exports.InstanceConfigContext = InstanceConfigContext;
|
|
103
|
+
exports.ParameterUnified = ParameterUnified;
|
|
59
104
|
exports.useInstanceConfig = useInstanceConfig;
|
package/dist/InstanceConfig.mjs
CHANGED
|
@@ -26,12 +26,15 @@ const InstanceConfigContext = ({
|
|
|
26
26
|
}) => {
|
|
27
27
|
const [selectedInstance, setSelectedInstance] = React.useState([]);
|
|
28
28
|
const [instanceMap, setInstanceMap] = React.useState(new Map());
|
|
29
|
+
const [parameterUnified, setParameterUnified] = React.useState(new ParameterUnified([]));
|
|
29
30
|
return /*#__PURE__*/jsx(Context.Provider, {
|
|
30
31
|
value: {
|
|
31
32
|
...value,
|
|
32
33
|
instanceMap,
|
|
34
|
+
parameterUnified,
|
|
33
35
|
selectedInstance,
|
|
34
36
|
setInstanceMap,
|
|
37
|
+
setParameterUnified,
|
|
35
38
|
setSelectedInstance
|
|
36
39
|
},
|
|
37
40
|
children: children
|
|
@@ -40,5 +43,46 @@ const InstanceConfigContext = ({
|
|
|
40
43
|
const useInstanceConfig = () => {
|
|
41
44
|
return useContext(Context);
|
|
42
45
|
};
|
|
46
|
+
class ParameterUnified {
|
|
47
|
+
map = new Map();
|
|
48
|
+
constructor(data, config = {
|
|
49
|
+
getMax: data => {
|
|
50
|
+
return '';
|
|
51
|
+
},
|
|
52
|
+
getMin: data => {
|
|
53
|
+
return '';
|
|
54
|
+
},
|
|
55
|
+
getUnit: data => {
|
|
56
|
+
return '';
|
|
57
|
+
},
|
|
58
|
+
getValue: data => {
|
|
59
|
+
return '';
|
|
60
|
+
}
|
|
61
|
+
}) {
|
|
62
|
+
this.handle = config;
|
|
63
|
+
this.map = new Map(data.map(item => [item.insId, item]));
|
|
64
|
+
}
|
|
65
|
+
setParameter(data) {
|
|
66
|
+
this.map.set(data.insId, data);
|
|
67
|
+
return this;
|
|
68
|
+
}
|
|
69
|
+
getParameterValue(data) {
|
|
70
|
+
if (typeof data === 'string') {
|
|
71
|
+
data = this.map.get(data);
|
|
72
|
+
}
|
|
73
|
+
if (data) {
|
|
74
|
+
const value = this.handle.getValue(data);
|
|
75
|
+
const unit = this.handle.getUnit(data);
|
|
76
|
+
const max = this.handle.getMax(data);
|
|
77
|
+
const min = this.handle.getMin(data);
|
|
78
|
+
if (value) {
|
|
79
|
+
return `${value}${unit}`;
|
|
80
|
+
} else {
|
|
81
|
+
return `${min}${unit}-${max}${unit}`;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
return '';
|
|
85
|
+
}
|
|
86
|
+
}
|
|
43
87
|
|
|
44
|
-
export { InstanceConfigContext, useInstanceConfig };
|
|
88
|
+
export { InstanceConfigContext, ParameterUnified, useInstanceConfig };
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "onchain-lexical-context",
|
|
3
3
|
"license": "MIT",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.14",
|
|
5
5
|
"dependencies": {
|
|
6
6
|
"@lexical/react": "^0.30.0",
|
|
7
7
|
"@lexical/yjs": "^0.30.0",
|
|
8
8
|
"lexical": "0.30.0",
|
|
9
|
-
"onchain-lexical-ui": "^0.0.
|
|
10
|
-
"onchain-utility": "^0.0.
|
|
9
|
+
"onchain-lexical-ui": "^0.0.14",
|
|
10
|
+
"onchain-utility": "^0.0.15",
|
|
11
11
|
"y-websocket": "^1.5.4"
|
|
12
12
|
},
|
|
13
13
|
"files": [
|
package/src/InstanceConfig.tsx
CHANGED
|
@@ -17,13 +17,15 @@ import {createContext, ReactNode, useContext} from 'react';
|
|
|
17
17
|
type InstanceConfigContext<
|
|
18
18
|
Ins = Instance,
|
|
19
19
|
Let = Record<string, any>,
|
|
20
|
-
|
|
20
|
+
Params = Record<string, any>,
|
|
21
|
+
> = InstanceConfig<Ins, Let> & BuiltInInstanceConfig<Ins, Params>;
|
|
21
22
|
|
|
22
23
|
const Context: React.Context<InstanceConfigContext> = createContext({} as any);
|
|
23
24
|
|
|
24
25
|
export const InstanceConfigContext = <
|
|
25
26
|
Ins = Instance,
|
|
26
27
|
Let = Record<string, any>,
|
|
28
|
+
Params = Record<string, any>,
|
|
27
29
|
>({
|
|
28
30
|
children,
|
|
29
31
|
value,
|
|
@@ -32,19 +34,25 @@ export const InstanceConfigContext = <
|
|
|
32
34
|
value: InstanceConfig<Ins, Let>;
|
|
33
35
|
}): JSX.Element => {
|
|
34
36
|
const [selectedInstance, setSelectedInstance] = React.useState<
|
|
35
|
-
BuiltInInstanceConfig<Ins>['selectedInstance']
|
|
37
|
+
BuiltInInstanceConfig<Ins, Params>['selectedInstance']
|
|
36
38
|
>([]);
|
|
37
39
|
const [instanceMap, setInstanceMap] = React.useState(
|
|
38
40
|
new Map<string, Instance>(),
|
|
39
41
|
);
|
|
40
42
|
|
|
43
|
+
const [parameterUnified, setParameterUnified] = React.useState(
|
|
44
|
+
new ParameterUnified<any>([]),
|
|
45
|
+
);
|
|
46
|
+
|
|
41
47
|
return (
|
|
42
48
|
<Context.Provider
|
|
43
49
|
value={{
|
|
44
50
|
...(value as unknown as InstanceConfig),
|
|
45
51
|
instanceMap,
|
|
52
|
+
parameterUnified,
|
|
46
53
|
selectedInstance,
|
|
47
54
|
setInstanceMap,
|
|
55
|
+
setParameterUnified,
|
|
48
56
|
setSelectedInstance,
|
|
49
57
|
}}>
|
|
50
58
|
{children}
|
|
@@ -55,6 +63,63 @@ export const InstanceConfigContext = <
|
|
|
55
63
|
export const useInstanceConfig = <
|
|
56
64
|
Ins = Instance,
|
|
57
65
|
Let = Record<string, any>,
|
|
66
|
+
Params = Record<string, any>,
|
|
58
67
|
>() => {
|
|
59
|
-
return useContext(Context) as unknown as InstanceConfigContext<
|
|
68
|
+
return useContext(Context) as unknown as InstanceConfigContext<
|
|
69
|
+
Ins,
|
|
70
|
+
Let,
|
|
71
|
+
Params
|
|
72
|
+
>;
|
|
60
73
|
};
|
|
74
|
+
|
|
75
|
+
interface ParameterHandle<T> {
|
|
76
|
+
getMax: (data: T) => string | number;
|
|
77
|
+
getMin: (data: T) => string | number;
|
|
78
|
+
getValue: (data: T) => string | number;
|
|
79
|
+
getUnit: (data: T) => string | number;
|
|
80
|
+
}
|
|
81
|
+
export class ParameterUnified<T extends {[k: string]: any}> {
|
|
82
|
+
handle: ParameterHandle<T>;
|
|
83
|
+
map = new Map<string, T>();
|
|
84
|
+
constructor(
|
|
85
|
+
data: T[],
|
|
86
|
+
config: ParameterHandle<T> = {
|
|
87
|
+
getMax: (data) => {
|
|
88
|
+
return '';
|
|
89
|
+
},
|
|
90
|
+
getMin: (data) => {
|
|
91
|
+
return '';
|
|
92
|
+
},
|
|
93
|
+
getUnit: (data) => {
|
|
94
|
+
return '';
|
|
95
|
+
},
|
|
96
|
+
getValue: (data) => {
|
|
97
|
+
return '';
|
|
98
|
+
},
|
|
99
|
+
},
|
|
100
|
+
) {
|
|
101
|
+
this.handle = config;
|
|
102
|
+
this.map = new Map(data.map((item) => [item.insId, item]));
|
|
103
|
+
}
|
|
104
|
+
setParameter(data: T) {
|
|
105
|
+
this.map.set(data.insId, data);
|
|
106
|
+
return this;
|
|
107
|
+
}
|
|
108
|
+
getParameterValue(data?: T | string) {
|
|
109
|
+
if (typeof data === 'string') {
|
|
110
|
+
data = this.map.get(data);
|
|
111
|
+
}
|
|
112
|
+
if (data) {
|
|
113
|
+
const value = this.handle.getValue(data);
|
|
114
|
+
const unit = this.handle.getUnit(data);
|
|
115
|
+
const max = this.handle.getMax(data);
|
|
116
|
+
const min = this.handle.getMin(data);
|
|
117
|
+
if (value) {
|
|
118
|
+
return `${value}${unit}`;
|
|
119
|
+
} else {
|
|
120
|
+
return `${min}${unit}-${max}${unit}`;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
return '';
|
|
124
|
+
}
|
|
125
|
+
}
|
package/src/types.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import {EditorState} from 'lexical';
|
|
|
2
2
|
import type {Instance} from 'onchain-lexical-instance';
|
|
3
3
|
import React from 'react';
|
|
4
4
|
import type {ReactAvatarProps} from 'react-avatar';
|
|
5
|
+
import {ParameterUnified} from './InstanceConfig';
|
|
5
6
|
|
|
6
7
|
/**
|
|
7
8
|
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
@@ -23,7 +24,10 @@ export interface ExtraSettings {
|
|
|
23
24
|
reduceZIndex?: () => void;
|
|
24
25
|
}
|
|
25
26
|
|
|
26
|
-
export interface BuiltInInstanceConfig<
|
|
27
|
+
export interface BuiltInInstanceConfig<
|
|
28
|
+
Ins = Instance,
|
|
29
|
+
Params = Record<string, any>,
|
|
30
|
+
> {
|
|
27
31
|
selectedInstance: {
|
|
28
32
|
number: string;
|
|
29
33
|
nodeKey: string;
|
|
@@ -31,6 +35,8 @@ export interface BuiltInInstanceConfig<Ins = Instance> {
|
|
|
31
35
|
setSelectedInstance(params: InstanceConfig['selectedInstance']): void;
|
|
32
36
|
instanceMap: Map<string, Ins>;
|
|
33
37
|
setInstanceMap(map: Map<string, Ins>): void;
|
|
38
|
+
parameterUnified: ParameterUnified<Params>;
|
|
39
|
+
setParameterUnified(map: ParameterUnified<Params>): void;
|
|
34
40
|
}
|
|
35
41
|
|
|
36
42
|
export interface InstanceConfigLet {
|