Skip to content

Commit 5d090ee

Browse files
committed
refactor: remove getOptionsFromConfig and use getModelFromConfig instead
1 parent 3e3e740 commit 5d090ee

4 files changed

Lines changed: 22 additions & 60 deletions

File tree

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
"prepublishOnly": "npm run clean && npm run build"
2424
},
2525
"dependencies": {
26-
"@acrodata/gui": "^2.4.0",
26+
"@acrodata/gui": "^2.6.0",
2727
"lodash-es": "^4.17.21",
2828
"tslib": "^2.3.0"
2929
},

src/utils.ts

Lines changed: 0 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import { GuiFields } from '@acrodata/gui';
21
import { isArray, isObject, isString, merge, mergeWith } from 'lodash-es';
32
import { VisualDataSource } from './interfaces';
43

@@ -43,30 +42,6 @@ export function mergeDataSource(dataSource?: VisualDataSource, config?: VisualDa
4342
}
4443
}
4544

46-
/**
47-
* 从 GUI 配置中获取默认配置项
48-
* @param config GUI 配置
49-
* @param options 默认配置项
50-
* @returns
51-
*/
52-
export function getOptionsFromConfig(config: GuiFields, options: Record<string, any>) {
53-
for (const key of Object.keys(config)) {
54-
const fieldCfg = config[key];
55-
if (fieldCfg.default != null) {
56-
options[key] = fieldCfg.default;
57-
} else {
58-
if (fieldCfg.type === 'group' || fieldCfg.type === 'menu' || fieldCfg.type === 'menuItem') {
59-
options[key] = getOptionsFromConfig(fieldCfg.children as GuiFields, {});
60-
} else if (fieldCfg.type === 'tabs') {
61-
options[key] = [];
62-
} else {
63-
options[key] = null;
64-
}
65-
}
66-
}
67-
return options;
68-
}
69-
7045
/**
7146
* 合并对象,数组值直接替换
7247
* @param object

src/visual-component.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
import { GuiFields } from '@acrodata/gui';
1+
import { getModelFromConfig, GuiFields } from '@acrodata/gui';
22
import { ChangeDetectorRef, EventEmitter, inject } from '@angular/core';
3-
import { defaults, isArray, isEmpty, isPlainObject } from 'lodash-es';
3+
import { isArray, isEmpty, isPlainObject } from 'lodash-es';
44
import {
55
VisualActions,
66
VisualApis,
@@ -10,14 +10,14 @@ import {
1010
VisualEvents,
1111
VisualInteractions,
1212
} from './interfaces';
13-
import { getOptionsFromConfig, mergeDataSource, mergeObject } from './utils';
13+
import { mergeDataSource, mergeObject } from './utils';
1414

1515
export class VisualComponent {
1616
constructor(configs?: Record<string, any>) {
1717
if (configs) {
1818
this.attr = { ...configs['attr'] };
1919
this.config = { ...configs['config'] };
20-
this.options = defaults(configs['options'], getOptionsFromConfig(this.config, {}));
20+
this.options = getModelFromConfig(this.config, configs['options']);
2121
this.apis = { ...configs['apis'] };
2222
this.data = { ...configs['data'] };
2323
this.resources = { ...configs['resources'] };

yarn.lock

Lines changed: 17 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -12,21 +12,28 @@
1212
codemirror "^6.0.0"
1313
tslib "^2.3.0"
1414

15-
"@acrodata/gui@^2.4.0":
16-
version "2.4.0"
17-
resolved "https://registry.yarnpkg.com/@acrodata/gui/-/gui-2.4.0.tgz#c6aa9352cf999289e5f0f772a279a9529667b329"
18-
integrity sha512-oiQgXqm+Ym4P2lIjVFKmuyjAsKBDHv16CRub0LJt6ItYvqGfs/NHxKYMDh1gMqldhaHqwyNXY65WrZX65T7I0w==
15+
"@acrodata/gradient-picker@^0.7.0":
16+
version "0.7.1"
17+
resolved "https://registry.yarnpkg.com/@acrodata/gradient-picker/-/gradient-picker-0.7.1.tgz#2dcf8825b5dce2f44ba4c81bc5f7a7b5f40393c0"
18+
integrity sha512-m67RlAujN1A1pqGsecOVifk2tFqz2n2ksw2ki+fuGG564q4Cay1uyExplVRbwAzYIamvRT2YXBWPhCRhlrtkzQ==
19+
dependencies:
20+
tslib "^2.3.0"
21+
22+
"@acrodata/gui@^2.6.0":
23+
version "2.6.1"
24+
resolved "https://registry.yarnpkg.com/@acrodata/gui/-/gui-2.6.1.tgz#6c49f34151c112479162bbb921fbd23f48512188"
25+
integrity sha512-2ga29AI+KEzxaJ0vrFbTxCXNuJxbE6jpJH3UCjAmEB2T3rpdN8wEcnp0wxHjBPsxb6ugJbBLIKg2o0JJRGq15A==
1926
dependencies:
2027
"@acrodata/code-editor" "^0.5.0"
21-
"@acrodata/rnd-dialog" "^0.3.0"
28+
"@acrodata/gradient-picker" "^0.7.0"
29+
"@acrodata/rnd-dialog" "^0.4.0"
2230
tslib "^2.3.0"
2331

24-
"@acrodata/rnd-dialog@^0.3.0":
25-
version "0.3.2"
26-
resolved "https://registry.yarnpkg.com/@acrodata/rnd-dialog/-/rnd-dialog-0.3.2.tgz#1a10fbf6aeae27e26d82fd96588b0ee68480d8f8"
27-
integrity sha512-yiZ59rRVKUXlYa7CZGFBB2g93Dj36/qAInXdHzvDsQdMLBjpjTz073UTaTtL/3jm76IKXmoPlN1euV2BttdzCQ==
32+
"@acrodata/rnd-dialog@^0.4.0":
33+
version "0.4.1"
34+
resolved "https://registry.yarnpkg.com/@acrodata/rnd-dialog/-/rnd-dialog-0.4.1.tgz#fdebf769017c91b68889c0b03b5b39e497a50616"
35+
integrity sha512-ZC2UBwkKfYJhc02eGuVWrjGdUpd+IaZvp6NyymPcfsecZhfX4fjgy+Mdejy+rbDMBrxooGaO+SsXbDEWlVh33A==
2836
dependencies:
29-
gesto "^1.19.4"
3037
tslib "^2.3.0"
3138

3239
"@angular/core@^18.2.0":
@@ -123,11 +130,6 @@
123130
style-mod "^4.1.0"
124131
w3c-keyname "^2.2.4"
125132

126-
"@daybrush/utils@^1.1.1", "@daybrush/utils@^1.13.0":
127-
version "1.13.0"
128-
resolved "https://registry.yarnpkg.com/@daybrush/utils/-/utils-1.13.0.tgz#ea70a60864130da476406fdd1d465e3068aea0ff"
129-
integrity sha512-ALK12C6SQNNHw1enXK+UO8bdyQ+jaWNQ1Af7Z3FNxeAwjYhQT7do+TRE4RASAJ3ObaS2+TJ7TXR3oz2Gzbw0PQ==
130-
131133
"@isaacs/cliui@^8.0.2":
132134
version "8.0.2"
133135
resolved "https://registry.yarnpkg.com/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550"
@@ -169,13 +171,6 @@
169171
resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33"
170172
integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==
171173

172-
"@scena/event-emitter@^1.0.2":
173-
version "1.0.5"
174-
resolved "https://registry.yarnpkg.com/@scena/event-emitter/-/event-emitter-1.0.5.tgz#047e3acef93cf238d7ce3a8cc5a12ec6bd9c3bb1"
175-
integrity sha512-AzY4OTb0+7ynefmWFQ6hxDdk0CySAq/D4efljfhtRHCOP7MBF9zUfhKG3TJiroVjASqVgkRJFdenS8ArZo6Olg==
176-
dependencies:
177-
"@daybrush/utils" "^1.1.1"
178-
179174
"@types/lodash-es@^4.17.6":
180175
version "4.17.12"
181176
resolved "https://registry.yarnpkg.com/@types/lodash-es/-/lodash-es-4.17.12.tgz#65f6d1e5f80539aa7cfbfc962de5def0cf4f341b"
@@ -284,14 +279,6 @@ foreground-child@^3.1.0:
284279
cross-spawn "^7.0.6"
285280
signal-exit "^4.0.1"
286281

287-
gesto@^1.19.4:
288-
version "1.19.4"
289-
resolved "https://registry.yarnpkg.com/gesto/-/gesto-1.19.4.tgz#14921ca89e4e70c14307c4d942df04f59eb00749"
290-
integrity sha512-hfr/0dWwh0Bnbb88s3QVJd1ZRJeOWcgHPPwmiH6NnafDYvhTsxg+SLYu+q/oPNh9JS3V+nlr6fNs8kvPAtcRDQ==
291-
dependencies:
292-
"@daybrush/utils" "^1.13.0"
293-
"@scena/event-emitter" "^1.0.2"
294-
295282
glob@^10.3.7:
296283
version "10.4.5"
297284
resolved "https://registry.yarnpkg.com/glob/-/glob-10.4.5.tgz#f4d9f0b90ffdbab09c9d77f5f29b4262517b0956"

0 commit comments

Comments
 (0)