@opensumi/ide-debug 2.24.6-next-1686045771.0 → 2.24.6
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/lib/browser/breakpoint/breakpoint-manager.d.ts +3 -4
- package/lib/browser/breakpoint/breakpoint-manager.d.ts.map +1 -1
- package/lib/browser/breakpoint/breakpoint-manager.js +0 -7
- package/lib/browser/breakpoint/breakpoint-manager.js.map +1 -1
- package/lib/browser/components/floating-click-widget/index.d.ts.map +1 -1
- package/lib/browser/components/floating-click-widget/index.js +2 -3
- package/lib/browser/components/floating-click-widget/index.js.map +1 -1
- package/lib/browser/components/floating-click-widget/index.module.less +0 -4
- package/lib/browser/contextkeys/debug-contextkey.service.d.ts +0 -1
- package/lib/browser/contextkeys/debug-contextkey.service.d.ts.map +1 -1
- package/lib/browser/contextkeys/debug-contextkey.service.js +1 -2
- package/lib/browser/contextkeys/debug-contextkey.service.js.map +1 -1
- package/lib/browser/debug-configuration-manager.d.ts +0 -6
- package/lib/browser/debug-configuration-manager.d.ts.map +1 -1
- package/lib/browser/debug-configuration-manager.js +17 -64
- package/lib/browser/debug-configuration-manager.js.map +1 -1
- package/lib/browser/debug-contribution.d.ts.map +1 -1
- package/lib/browser/debug-contribution.js +7 -53
- package/lib/browser/debug-contribution.js.map +1 -1
- package/lib/browser/{debug-schema-manager.d.ts → debug-schema-updater.d.ts} +2 -2
- package/lib/browser/debug-schema-updater.d.ts.map +1 -0
- package/lib/browser/{debug-schema-manager.js → debug-schema-updater.js} +10 -10
- package/lib/browser/debug-schema-updater.js.map +1 -0
- package/lib/browser/debug-style.less +5 -34
- package/lib/browser/debugUtils.d.ts +0 -1
- package/lib/browser/debugUtils.d.ts.map +1 -1
- package/lib/browser/debugUtils.js +1 -22
- package/lib/browser/debugUtils.js.map +1 -1
- package/lib/browser/editor/debug-hover-model.d.ts +3 -0
- package/lib/browser/editor/debug-hover-model.d.ts.map +1 -1
- package/lib/browser/editor/debug-hover-model.js +5 -0
- package/lib/browser/editor/debug-hover-model.js.map +1 -1
- package/lib/browser/editor/debug-hover-tree.model.service.d.ts.map +1 -1
- package/lib/browser/editor/debug-hover-tree.model.service.js +9 -0
- package/lib/browser/editor/debug-hover-tree.model.service.js.map +1 -1
- package/lib/browser/editor/debug-model.d.ts +0 -2
- package/lib/browser/editor/debug-model.d.ts.map +1 -1
- package/lib/browser/editor/debug-model.js +2 -31
- package/lib/browser/editor/debug-model.js.map +1 -1
- package/lib/browser/editor/debug-styles.d.ts +0 -1
- package/lib/browser/editor/debug-styles.d.ts.map +1 -1
- package/lib/browser/editor/debug-styles.js +1 -7
- package/lib/browser/editor/debug-styles.js.map +1 -1
- package/lib/browser/index.d.ts.map +1 -1
- package/lib/browser/index.js +0 -5
- package/lib/browser/index.js.map +1 -1
- package/lib/browser/preferences/launch-preferences-contribution.d.ts +2 -14
- package/lib/browser/preferences/launch-preferences-contribution.d.ts.map +1 -1
- package/lib/browser/preferences/launch-preferences-contribution.js +2 -61
- package/lib/browser/preferences/launch-preferences-contribution.js.map +1 -1
- package/lib/browser/view/breakpoints/debug-breakpoints.module.less +8 -64
- package/lib/browser/view/breakpoints/debug-breakpoints.service.d.ts +1 -10
- package/lib/browser/view/breakpoints/debug-breakpoints.service.d.ts.map +1 -1
- package/lib/browser/view/breakpoints/debug-breakpoints.service.js +0 -5
- package/lib/browser/view/breakpoints/debug-breakpoints.service.js.map +1 -1
- package/lib/browser/view/breakpoints/debug-breakpoints.view.d.ts +0 -7
- package/lib/browser/view/breakpoints/debug-breakpoints.view.d.ts.map +1 -1
- package/lib/browser/view/breakpoints/debug-breakpoints.view.js +26 -80
- package/lib/browser/view/breakpoints/debug-breakpoints.view.js.map +1 -1
- package/lib/browser/view/configuration/debug-configuration.service.d.ts +0 -1
- package/lib/browser/view/configuration/debug-configuration.service.d.ts.map +1 -1
- package/lib/browser/view/configuration/debug-configuration.service.js +0 -3
- package/lib/browser/view/configuration/debug-configuration.service.js.map +1 -1
- package/lib/browser/view/console/debug-console-model.d.ts +3 -0
- package/lib/browser/view/console/debug-console-model.d.ts.map +1 -1
- package/lib/browser/view/console/debug-console-model.js +5 -0
- package/lib/browser/view/console/debug-console-model.js.map +1 -1
- package/lib/browser/view/console/debug-console-tree.model.service.d.ts.map +1 -1
- package/lib/browser/view/console/debug-console-tree.model.service.js +9 -0
- package/lib/browser/view/console/debug-console-tree.model.service.js.map +1 -1
- package/lib/browser/view/variables/debug-variables-model.d.ts +3 -0
- package/lib/browser/view/variables/debug-variables-model.d.ts.map +1 -1
- package/lib/browser/view/variables/debug-variables-model.js +5 -0
- package/lib/browser/view/variables/debug-variables-model.js.map +1 -1
- package/lib/browser/view/variables/debug-variables-tree.model.service.d.ts.map +1 -1
- package/lib/browser/view/variables/debug-variables-tree.model.service.js +9 -0
- package/lib/browser/view/variables/debug-variables-tree.model.service.js.map +1 -1
- package/lib/browser/view/watch/debug-watch-model.d.ts +3 -0
- package/lib/browser/view/watch/debug-watch-model.d.ts.map +1 -1
- package/lib/browser/view/watch/debug-watch-model.js +5 -0
- package/lib/browser/view/watch/debug-watch-model.js.map +1 -1
- package/lib/browser/view/watch/debug-watch-tree.model.service.d.ts.map +1 -1
- package/lib/browser/view/watch/debug-watch-tree.model.service.js +9 -0
- package/lib/browser/view/watch/debug-watch-tree.model.service.js.map +1 -1
- package/lib/common/commands.d.ts +0 -2
- package/lib/common/commands.d.ts.map +1 -1
- package/lib/common/commands.js +0 -6
- package/lib/common/commands.js.map +1 -1
- package/lib/common/constants.d.ts +0 -3
- package/lib/common/constants.d.ts.map +1 -1
- package/lib/common/constants.js +2 -5
- package/lib/common/constants.js.map +1 -1
- package/lib/common/debug-schema-updater.d.ts +3 -0
- package/lib/common/debug-schema-updater.d.ts.map +1 -0
- package/lib/common/debug-schema-updater.js +5 -0
- package/lib/common/debug-schema-updater.js.map +1 -0
- package/lib/common/debug-service.d.ts +0 -10
- package/lib/common/debug-service.d.ts.map +1 -1
- package/lib/common/debug-service.js +1 -8
- package/lib/common/debug-service.js.map +1 -1
- package/lib/common/index.d.ts +1 -1
- package/lib/common/index.d.ts.map +1 -1
- package/lib/common/index.js +1 -1
- package/lib/common/index.js.map +1 -1
- package/package.json +23 -26
- package/src/browser/breakpoint/breakpoint-manager.ts +3 -8
- package/src/browser/components/floating-click-widget/index.module.less +0 -4
- package/src/browser/components/floating-click-widget/index.tsx +1 -4
- package/src/browser/contextkeys/debug-contextkey.service.ts +1 -4
- package/src/browser/debug-configuration-manager.ts +18 -82
- package/src/browser/debug-contribution.ts +8 -59
- package/src/browser/{debug-schema-manager.ts → debug-schema-updater.ts} +4 -5
- package/src/browser/debug-style.less +5 -34
- package/src/browser/debugUtils.ts +0 -23
- package/src/browser/editor/debug-hover-model.ts +6 -0
- package/src/browser/editor/debug-hover-tree.model.service.ts +10 -0
- package/src/browser/editor/debug-model.ts +3 -35
- package/src/browser/editor/debug-styles.ts +0 -7
- package/src/browser/index.ts +0 -6
- package/src/browser/preferences/launch-preferences-contribution.ts +3 -84
- package/src/browser/view/breakpoints/debug-breakpoints.module.less +8 -64
- package/src/browser/view/breakpoints/debug-breakpoints.service.ts +0 -8
- package/src/browser/view/breakpoints/debug-breakpoints.view.tsx +32 -139
- package/src/browser/view/configuration/debug-configuration.service.ts +0 -4
- package/src/browser/view/console/debug-console-model.ts +6 -0
- package/src/browser/view/console/debug-console-tree.model.service.ts +10 -0
- package/src/browser/view/variables/debug-variables-model.ts +6 -0
- package/src/browser/view/variables/debug-variables-tree.model.service.ts +10 -0
- package/src/browser/view/watch/debug-watch-model.ts +6 -0
- package/src/browser/view/watch/debug-watch-tree.model.service.ts +10 -0
- package/src/common/commands.ts +0 -6
- package/src/common/constants.ts +0 -5
- package/src/common/debug-schema-updater.ts +3 -0
- package/src/common/debug-service.ts +0 -13
- package/src/common/index.ts +1 -1
- package/lib/browser/debug-schema-manager.d.ts.map +0 -1
- package/lib/browser/debug-schema-manager.js.map +0 -1
- package/lib/browser/preferences/components/checkbox-widget.d.ts +0 -4
- package/lib/browser/preferences/components/checkbox-widget.d.ts.map +0 -1
- package/lib/browser/preferences/components/checkbox-widget.js +0 -27
- package/lib/browser/preferences/components/checkbox-widget.js.map +0 -1
- package/lib/browser/preferences/components/fields/any-of-field.d.ts +0 -4
- package/lib/browser/preferences/components/fields/any-of-field.d.ts.map +0 -1
- package/lib/browser/preferences/components/fields/any-of-field.js +0 -28
- package/lib/browser/preferences/components/fields/any-of-field.js.map +0 -1
- package/lib/browser/preferences/components/fields/array-field.d.ts +0 -5
- package/lib/browser/preferences/components/fields/array-field.d.ts.map +0 -1
- package/lib/browser/preferences/components/fields/array-field.js +0 -19
- package/lib/browser/preferences/components/fields/array-field.js.map +0 -1
- package/lib/browser/preferences/components/fields/object-filed.d.ts +0 -5
- package/lib/browser/preferences/components/fields/object-filed.d.ts.map +0 -1
- package/lib/browser/preferences/components/fields/object-filed.js +0 -26
- package/lib/browser/preferences/components/fields/object-filed.js.map +0 -1
- package/lib/browser/preferences/components/fields/title-field.d.ts +0 -4
- package/lib/browser/preferences/components/fields/title-field.d.ts.map +0 -1
- package/lib/browser/preferences/components/fields/title-field.js +0 -12
- package/lib/browser/preferences/components/fields/title-field.js.map +0 -1
- package/lib/browser/preferences/components/json-widget.module.less +0 -36
- package/lib/browser/preferences/components/select-widget.d.ts +0 -4
- package/lib/browser/preferences/components/select-widget.d.ts.map +0 -1
- package/lib/browser/preferences/components/select-widget.js +0 -28
- package/lib/browser/preferences/components/select-widget.js.map +0 -1
- package/lib/browser/preferences/components/text-widget.d.ts +0 -4
- package/lib/browser/preferences/components/text-widget.d.ts.map +0 -1
- package/lib/browser/preferences/components/text-widget.js +0 -41
- package/lib/browser/preferences/components/text-widget.js.map +0 -1
- package/lib/browser/preferences/launch.module.less +0 -102
- package/lib/browser/preferences/launch.service.d.ts +0 -31
- package/lib/browser/preferences/launch.service.d.ts.map +0 -1
- package/lib/browser/preferences/launch.service.js +0 -109
- package/lib/browser/preferences/launch.service.js.map +0 -1
- package/lib/browser/preferences/launch.view.d.ts +0 -3
- package/lib/browser/preferences/launch.view.d.ts.map +0 -1
- package/lib/browser/preferences/launch.view.js +0 -287
- package/lib/browser/preferences/launch.view.js.map +0 -1
- package/lib/browser/preferences/model/configuration-items.d.ts +0 -12
- package/lib/browser/preferences/model/configuration-items.d.ts.map +0 -1
- package/lib/browser/preferences/model/configuration-items.js +0 -22
- package/lib/browser/preferences/model/configuration-items.js.map +0 -1
- package/lib/browser/preferences/templates/additional-template.d.ts +0 -4
- package/lib/browser/preferences/templates/additional-template.d.ts.map +0 -1
- package/lib/browser/preferences/templates/additional-template.js +0 -30
- package/lib/browser/preferences/templates/additional-template.js.map +0 -1
- package/lib/browser/preferences/templates/array-field-item-template.d.ts +0 -4
- package/lib/browser/preferences/templates/array-field-item-template.d.ts.map +0 -1
- package/lib/browser/preferences/templates/array-field-item-template.js +0 -31
- package/lib/browser/preferences/templates/array-field-item-template.js.map +0 -1
- package/lib/browser/preferences/templates/array-field-template.d.ts +0 -4
- package/lib/browser/preferences/templates/array-field-template.d.ts.map +0 -1
- package/lib/browser/preferences/templates/array-field-template.js +0 -31
- package/lib/browser/preferences/templates/array-field-template.js.map +0 -1
- package/lib/browser/preferences/templates/base-input-template.d.ts +0 -4
- package/lib/browser/preferences/templates/base-input-template.d.ts.map +0 -1
- package/lib/browser/preferences/templates/base-input-template.js +0 -29
- package/lib/browser/preferences/templates/base-input-template.js.map +0 -1
- package/lib/browser/preferences/templates/button-template.d.ts +0 -12
- package/lib/browser/preferences/templates/button-template.d.ts.map +0 -1
- package/lib/browser/preferences/templates/button-template.js +0 -71
- package/lib/browser/preferences/templates/button-template.js.map +0 -1
- package/lib/browser/preferences/templates/description-field-template.d.ts +0 -4
- package/lib/browser/preferences/templates/description-field-template.d.ts.map +0 -1
- package/lib/browser/preferences/templates/description-field-template.js +0 -16
- package/lib/browser/preferences/templates/description-field-template.js.map +0 -1
- package/lib/browser/preferences/templates/field-template.d.ts +0 -4
- package/lib/browser/preferences/templates/field-template.d.ts.map +0 -1
- package/lib/browser/preferences/templates/field-template.js +0 -19
- package/lib/browser/preferences/templates/field-template.js.map +0 -1
- package/lib/browser/preferences/templates/json-templates.module.less +0 -133
- package/lib/browser/preferences/templates/object-field-template.d.ts +0 -4
- package/lib/browser/preferences/templates/object-field-template.d.ts.map +0 -1
- package/lib/browser/preferences/templates/object-field-template.js +0 -74
- package/lib/browser/preferences/templates/object-field-template.js.map +0 -1
- package/lib/common/debug-schema.d.ts +0 -5
- package/lib/common/debug-schema.d.ts.map +0 -1
- package/lib/common/debug-schema.js +0 -7
- package/lib/common/debug-schema.js.map +0 -1
- package/src/browser/preferences/components/checkbox-widget.tsx +0 -78
- package/src/browser/preferences/components/fields/any-of-field.tsx +0 -90
- package/src/browser/preferences/components/fields/array-field.tsx +0 -25
- package/src/browser/preferences/components/fields/object-filed.tsx +0 -33
- package/src/browser/preferences/components/fields/title-field.tsx +0 -16
- package/src/browser/preferences/components/json-widget.module.less +0 -36
- package/src/browser/preferences/components/select-widget.tsx +0 -68
- package/src/browser/preferences/components/text-widget.tsx +0 -114
- package/src/browser/preferences/launch.module.less +0 -102
- package/src/browser/preferences/launch.service.ts +0 -133
- package/src/browser/preferences/launch.view.tsx +0 -494
- package/src/browser/preferences/model/configuration-items.ts +0 -24
- package/src/browser/preferences/templates/additional-template.tsx +0 -77
- package/src/browser/preferences/templates/array-field-item-template.tsx +0 -90
- package/src/browser/preferences/templates/array-field-template.tsx +0 -92
- package/src/browser/preferences/templates/base-input-template.tsx +0 -79
- package/src/browser/preferences/templates/button-template.tsx +0 -107
- package/src/browser/preferences/templates/description-field-template.tsx +0 -29
- package/src/browser/preferences/templates/field-template.tsx +0 -71
- package/src/browser/preferences/templates/json-templates.module.less +0 -133
- package/src/browser/preferences/templates/object-field-template.tsx +0 -156
- package/src/common/debug-schema.ts +0 -5
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
@max_width: 500px;
|
|
2
|
-
@min_width: 300px;
|
|
3
|
-
|
|
4
|
-
.select_widget_control,
|
|
5
|
-
.text_widget_control,
|
|
6
|
-
.any_of_widget_control {
|
|
7
|
-
min-width: @min_width;
|
|
8
|
-
max-width: @max_width;
|
|
9
|
-
width: 100%;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
.text_widget_control {
|
|
13
|
-
input[type='number']::-webkit-outer-spin-button,
|
|
14
|
-
input[type='number']::-webkit-inner-spin-button {
|
|
15
|
-
-webkit-appearance: none;
|
|
16
|
-
margin: 0;
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
.checkbox_widget_control {
|
|
21
|
-
display: flex;
|
|
22
|
-
flex-direction: column;
|
|
23
|
-
|
|
24
|
-
.checkbox {
|
|
25
|
-
font-size: 14px;
|
|
26
|
-
opacity: 0.75;
|
|
27
|
-
white-space: pre-wrap;
|
|
28
|
-
color: var(--descriptionForeground);
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
.field_label {
|
|
33
|
-
margin-bottom: 10px;
|
|
34
|
-
font-size: 1.5em;
|
|
35
|
-
display: inline-block;
|
|
36
|
-
}
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
descriptionId,
|
|
3
|
-
FormContextType,
|
|
4
|
-
getTemplate,
|
|
5
|
-
RJSFSchema,
|
|
6
|
-
StrictRJSFSchema,
|
|
7
|
-
titleId,
|
|
8
|
-
WidgetProps,
|
|
9
|
-
} from '@rjsf/utils';
|
|
10
|
-
import React, { useMemo } from 'react';
|
|
11
|
-
|
|
12
|
-
import { Option, Select } from '@opensumi/ide-components';
|
|
13
|
-
|
|
14
|
-
import styles from './json-widget.module.less';
|
|
15
|
-
|
|
16
|
-
export const SelectWidget = <T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(
|
|
17
|
-
props: WidgetProps<T, S, F>,
|
|
18
|
-
) => {
|
|
19
|
-
const { schema, value, id, registry, uiOptions, name, required, onChange } = props;
|
|
20
|
-
const description = schema.description;
|
|
21
|
-
|
|
22
|
-
const TitleFieldTemplate = getTemplate<'TitleFieldTemplate', T, S, F>('TitleFieldTemplate', registry, uiOptions);
|
|
23
|
-
const DescriptionFieldTemplate = getTemplate<'DescriptionFieldTemplate', T, S, F>(
|
|
24
|
-
'DescriptionFieldTemplate',
|
|
25
|
-
registry,
|
|
26
|
-
uiOptions,
|
|
27
|
-
);
|
|
28
|
-
|
|
29
|
-
const enumValue = useMemo(() => {
|
|
30
|
-
if (schema && schema.enum) {
|
|
31
|
-
return schema.enum;
|
|
32
|
-
}
|
|
33
|
-
return [];
|
|
34
|
-
}, [schema, schema.enum]);
|
|
35
|
-
|
|
36
|
-
return (
|
|
37
|
-
<div className={styles.select_widget_control}>
|
|
38
|
-
{name && (
|
|
39
|
-
<div className={styles.object_title}>
|
|
40
|
-
<TitleFieldTemplate
|
|
41
|
-
id={titleId<T>(id)}
|
|
42
|
-
title={name}
|
|
43
|
-
required={required}
|
|
44
|
-
schema={schema}
|
|
45
|
-
registry={registry}
|
|
46
|
-
/>
|
|
47
|
-
</div>
|
|
48
|
-
)}
|
|
49
|
-
{description && (
|
|
50
|
-
<div className={styles.object_description}>
|
|
51
|
-
<DescriptionFieldTemplate
|
|
52
|
-
id={descriptionId<T>(id)}
|
|
53
|
-
description={description}
|
|
54
|
-
schema={schema}
|
|
55
|
-
registry={registry}
|
|
56
|
-
/>
|
|
57
|
-
</div>
|
|
58
|
-
)}
|
|
59
|
-
<Select key={id} value={value} dropdownRenderType='absolute' onChange={onChange}>
|
|
60
|
-
{enumValue.map((data: string) => (
|
|
61
|
-
<Option value={data} label={data} key={data}>
|
|
62
|
-
{data}
|
|
63
|
-
</Option>
|
|
64
|
-
))}
|
|
65
|
-
</Select>
|
|
66
|
-
</div>
|
|
67
|
-
);
|
|
68
|
-
};
|
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
descriptionId,
|
|
3
|
-
FormContextType,
|
|
4
|
-
GenericObjectType,
|
|
5
|
-
getTemplate,
|
|
6
|
-
RJSFSchema,
|
|
7
|
-
StrictRJSFSchema,
|
|
8
|
-
titleId,
|
|
9
|
-
WidgetProps,
|
|
10
|
-
} from '@rjsf/utils';
|
|
11
|
-
import React, { useMemo } from 'react';
|
|
12
|
-
|
|
13
|
-
import { Input } from '@opensumi/ide-components';
|
|
14
|
-
|
|
15
|
-
import { parseSnippet } from '../../debugUtils';
|
|
16
|
-
|
|
17
|
-
import styles from './json-widget.module.less';
|
|
18
|
-
|
|
19
|
-
export const TextWidget = <T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(
|
|
20
|
-
props: WidgetProps<T, S, F>,
|
|
21
|
-
) => {
|
|
22
|
-
const {
|
|
23
|
-
disabled,
|
|
24
|
-
formContext,
|
|
25
|
-
id,
|
|
26
|
-
onBlur,
|
|
27
|
-
onChange,
|
|
28
|
-
onFocus,
|
|
29
|
-
options,
|
|
30
|
-
placeholder,
|
|
31
|
-
readonly,
|
|
32
|
-
schema,
|
|
33
|
-
value,
|
|
34
|
-
registry,
|
|
35
|
-
label,
|
|
36
|
-
hideLabel,
|
|
37
|
-
required,
|
|
38
|
-
uiSchema,
|
|
39
|
-
uiOptions,
|
|
40
|
-
} = props;
|
|
41
|
-
const { readonlyAsDisabled = true } = formContext as GenericObjectType;
|
|
42
|
-
|
|
43
|
-
const TitleFieldTemplate = getTemplate<'TitleFieldTemplate', T, S, F>('TitleFieldTemplate', registry, uiOptions);
|
|
44
|
-
const DescriptionFieldTemplate = getTemplate<'DescriptionFieldTemplate', T, S, F>(
|
|
45
|
-
'DescriptionFieldTemplate',
|
|
46
|
-
registry,
|
|
47
|
-
uiOptions,
|
|
48
|
-
);
|
|
49
|
-
|
|
50
|
-
const parseValue = useMemo(() => {
|
|
51
|
-
if (typeof value !== 'string') {
|
|
52
|
-
return value;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
return parseSnippet(value);
|
|
56
|
-
}, [value]);
|
|
57
|
-
|
|
58
|
-
const handleBlur = ({ target }: React.FocusEvent<HTMLInputElement>) => {
|
|
59
|
-
onChange(target.value === '' ? options.emptyValue : target.value);
|
|
60
|
-
onBlur(id, target.value);
|
|
61
|
-
};
|
|
62
|
-
|
|
63
|
-
const handleFocus = ({ target }: React.FocusEvent<HTMLInputElement>) => onFocus(id, target.value);
|
|
64
|
-
|
|
65
|
-
const type = useMemo(() => {
|
|
66
|
-
if (schema.type !== 'string' && schema.type !== 'number') {
|
|
67
|
-
return 'string';
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
return schema.type;
|
|
71
|
-
}, [schema, schema.type]);
|
|
72
|
-
|
|
73
|
-
const description = useMemo(() => schema.description || '', [schema, schema.description]);
|
|
74
|
-
|
|
75
|
-
return (
|
|
76
|
-
<div>
|
|
77
|
-
{!hideLabel && label && (
|
|
78
|
-
<div className={styles.object_title}>
|
|
79
|
-
<TitleFieldTemplate
|
|
80
|
-
id={titleId<T>(id)}
|
|
81
|
-
title={label}
|
|
82
|
-
required={required}
|
|
83
|
-
schema={schema}
|
|
84
|
-
uiSchema={uiSchema}
|
|
85
|
-
registry={registry}
|
|
86
|
-
/>
|
|
87
|
-
</div>
|
|
88
|
-
)}
|
|
89
|
-
{description && (
|
|
90
|
-
<div className={styles.object_description}>
|
|
91
|
-
<DescriptionFieldTemplate
|
|
92
|
-
id={descriptionId<T>(id)}
|
|
93
|
-
description={description}
|
|
94
|
-
schema={schema}
|
|
95
|
-
uiSchema={uiSchema}
|
|
96
|
-
registry={registry}
|
|
97
|
-
/>
|
|
98
|
-
</div>
|
|
99
|
-
)}
|
|
100
|
-
<Input
|
|
101
|
-
disabled={disabled || (readonlyAsDisabled && readonly)}
|
|
102
|
-
id={id}
|
|
103
|
-
name={id}
|
|
104
|
-
onBlur={!readonly ? handleBlur : undefined}
|
|
105
|
-
onFocus={!readonly ? handleFocus : undefined}
|
|
106
|
-
placeholder={placeholder}
|
|
107
|
-
type={type}
|
|
108
|
-
value={parseValue}
|
|
109
|
-
className={styles.text_widget_control}
|
|
110
|
-
autoComplete='off'
|
|
111
|
-
/>
|
|
112
|
-
</div>
|
|
113
|
-
);
|
|
114
|
-
};
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
@base-font-size: 14px;
|
|
2
|
-
@small-base-font-size: 12px;
|
|
3
|
-
|
|
4
|
-
.launch_container {
|
|
5
|
-
height: 100%;
|
|
6
|
-
font-size: @base-font-size;
|
|
7
|
-
overflow: hidden;
|
|
8
|
-
padding: 16px 16px 0 16px;
|
|
9
|
-
box-sizing: border-box;
|
|
10
|
-
min-width: 500px;
|
|
11
|
-
|
|
12
|
-
.no_onfiguration {
|
|
13
|
-
padding: 0 16px;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
.launch_panel {
|
|
17
|
-
height: 100%;
|
|
18
|
-
margin-top: 8px;
|
|
19
|
-
|
|
20
|
-
.launch_indexes_container {
|
|
21
|
-
height: 100%;
|
|
22
|
-
margin-right: 16px;
|
|
23
|
-
.not_configuration_content {
|
|
24
|
-
text-align: center;
|
|
25
|
-
font-size: @small-base-font-size;
|
|
26
|
-
}
|
|
27
|
-
.configuration_items_box {
|
|
28
|
-
height: calc(100% - 50px) !important;
|
|
29
|
-
.configuration_item {
|
|
30
|
-
height: 26px;
|
|
31
|
-
display: flex;
|
|
32
|
-
align-items: center;
|
|
33
|
-
cursor: pointer;
|
|
34
|
-
flex-direction: row;
|
|
35
|
-
padding: 4px 8px;
|
|
36
|
-
|
|
37
|
-
&:hover {
|
|
38
|
-
background: var(--list-hoverBackground);
|
|
39
|
-
color: var(--list-hoverForeground);
|
|
40
|
-
}
|
|
41
|
-
&.selected {
|
|
42
|
-
background: var(--kt-tree-inactiveSelectionBackground);
|
|
43
|
-
color: var(--list-activeSelectionForeground);
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
.configuration_wrapper {
|
|
47
|
-
overflow: hidden;
|
|
48
|
-
text-overflow: ellipsis;
|
|
49
|
-
white-space: nowrap;
|
|
50
|
-
flex: 1;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
.configuration_description {
|
|
54
|
-
display: inline;
|
|
55
|
-
font-size: 12px;
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
.foot_box {
|
|
60
|
-
position: relative;
|
|
61
|
-
z-index: 1;
|
|
62
|
-
.button {
|
|
63
|
-
width: 100%;
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
.launch_schema_body_container {
|
|
69
|
-
overflow: auto;
|
|
70
|
-
height: 100%;
|
|
71
|
-
padding: 0 16px 22px 0px;
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
.devider {
|
|
77
|
-
box-sizing: border-box;
|
|
78
|
-
font-size: 14px;
|
|
79
|
-
font-variant: tabular-nums;
|
|
80
|
-
list-style: none;
|
|
81
|
-
font-feature-settings: 'tnum';
|
|
82
|
-
position: relative;
|
|
83
|
-
margin: 0 3px;
|
|
84
|
-
display: inline-block;
|
|
85
|
-
vertical-align: middle;
|
|
86
|
-
&:after {
|
|
87
|
-
content: '';
|
|
88
|
-
display: block;
|
|
89
|
-
position: absolute;
|
|
90
|
-
top: 0px;
|
|
91
|
-
left: 0px;
|
|
92
|
-
width: 100%;
|
|
93
|
-
height: 100%;
|
|
94
|
-
border-top: 0;
|
|
95
|
-
border-left: 1px solid var(--editorGroup-border);
|
|
96
|
-
pointer-events: none;
|
|
97
|
-
transform: translateX(1.5px);
|
|
98
|
-
}
|
|
99
|
-
&:hover:after {
|
|
100
|
-
border-color: transparent;
|
|
101
|
-
}
|
|
102
|
-
}
|
|
@@ -1,133 +0,0 @@
|
|
|
1
|
-
import { IChangeEvent } from '@rjsf/core';
|
|
2
|
-
import { GenericObjectType, StrictRJSFSchema } from '@rjsf/utils';
|
|
3
|
-
import * as jsoncparser from 'jsonc-parser';
|
|
4
|
-
import lodashSet from 'lodash/set';
|
|
5
|
-
|
|
6
|
-
import { Injectable, Autowired } from '@opensumi/di';
|
|
7
|
-
import { Emitter, Event, FileType, IJSONSchema, URI } from '@opensumi/ide-core-common';
|
|
8
|
-
import { IFileServiceClient } from '@opensumi/ide-file-service';
|
|
9
|
-
|
|
10
|
-
import { ILaunchService } from '../../common/debug-service';
|
|
11
|
-
|
|
12
|
-
type TFormData = { [key in string]: any };
|
|
13
|
-
const CONFIGURATIONS_FIELD = 'configurations';
|
|
14
|
-
|
|
15
|
-
@Injectable()
|
|
16
|
-
export class LaunchService implements ILaunchService {
|
|
17
|
-
@Autowired(IFileServiceClient)
|
|
18
|
-
private readonly fileSystem: IFileServiceClient;
|
|
19
|
-
|
|
20
|
-
private readonly _onRawSchemaProperties = new Emitter<IJSONSchema>();
|
|
21
|
-
public readonly onRawSchemaProperties: Event<IJSONSchema> = this._onRawSchemaProperties.event;
|
|
22
|
-
|
|
23
|
-
private readonly _onChangeSchema = new Emitter<StrictRJSFSchema>();
|
|
24
|
-
public readonly onChangeSchema: Event<StrictRJSFSchema> = this._onChangeSchema.event;
|
|
25
|
-
|
|
26
|
-
private readonly _onChangeFormData = new Emitter<TFormData>();
|
|
27
|
-
public readonly onChangeFormData: Event<TFormData> = this._onChangeFormData.event;
|
|
28
|
-
|
|
29
|
-
private _rawSchemaProperties: IJSONSchema;
|
|
30
|
-
private _schema: StrictRJSFSchema;
|
|
31
|
-
private _formData: TFormData;
|
|
32
|
-
|
|
33
|
-
public get rawSchemaProperties(): IJSONSchema {
|
|
34
|
-
return this._rawSchemaProperties;
|
|
35
|
-
}
|
|
36
|
-
public get schema(): StrictRJSFSchema {
|
|
37
|
-
return this._schema;
|
|
38
|
-
}
|
|
39
|
-
public get formData(): TFormData {
|
|
40
|
-
return this._formData;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
public setRawSchemaProperties(sp: IJSONSchema) {
|
|
44
|
-
this._rawSchemaProperties = sp;
|
|
45
|
-
this._onRawSchemaProperties.fire(sp);
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
public nextNewSchema(data: StrictRJSFSchema): void {
|
|
49
|
-
this._schema = data;
|
|
50
|
-
this._onChangeSchema.fire(data);
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
public nextNewFormData(data: TFormData, isEmit = true): void {
|
|
54
|
-
this._formData = data;
|
|
55
|
-
if (isEmit) {
|
|
56
|
-
this._onChangeFormData.fire(data);
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
public addNewItem(name: string): void {
|
|
61
|
-
if (name === '') {
|
|
62
|
-
return;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
const { properties } = this.rawSchemaProperties;
|
|
66
|
-
const newFormData = { ...this.formData };
|
|
67
|
-
|
|
68
|
-
const preSchemaValue = properties![name];
|
|
69
|
-
|
|
70
|
-
lodashSet(newFormData as GenericObjectType, name, preSchemaValue['default'] || '');
|
|
71
|
-
lodashSet(this.schema.properties!, name, preSchemaValue);
|
|
72
|
-
|
|
73
|
-
this.nextNewSchema(this.schema);
|
|
74
|
-
this.nextNewFormData(newFormData);
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
public delItem(name: string): void {
|
|
78
|
-
if (name === '') {
|
|
79
|
-
return;
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
const { properties } = this.schema;
|
|
83
|
-
const newFormData = { ...this.formData };
|
|
84
|
-
|
|
85
|
-
delete newFormData[name];
|
|
86
|
-
delete properties![name];
|
|
87
|
-
|
|
88
|
-
this.nextNewSchema(this.schema);
|
|
89
|
-
this.nextNewFormData(newFormData);
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
private async readResourceContent(resource: URI): Promise<string> {
|
|
93
|
-
try {
|
|
94
|
-
const { content } = await this.fileSystem.readFile(resource.toString());
|
|
95
|
-
return content.toString();
|
|
96
|
-
} catch (error) {
|
|
97
|
-
return '';
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
public async modifyConfigurationsInResource(resource: URI, data: IChangeEvent, index: number): Promise<void> {
|
|
102
|
-
const stat = await this.fileSystem.getFileStat(resource.toString());
|
|
103
|
-
|
|
104
|
-
if (stat && stat.type === FileType.File) {
|
|
105
|
-
const { formData } = data;
|
|
106
|
-
|
|
107
|
-
const fileContent = await this.readResourceContent(resource);
|
|
108
|
-
|
|
109
|
-
const parseContent = jsoncparser.parse(fileContent);
|
|
110
|
-
const preConfigurations = parseContent[CONFIGURATIONS_FIELD];
|
|
111
|
-
|
|
112
|
-
if (!preConfigurations) {
|
|
113
|
-
return;
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
if (Array.isArray(preConfigurations) && preConfigurations.length - 1 >= index) {
|
|
117
|
-
preConfigurations.splice(index, 1, formData);
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
const edits = jsoncparser.modify(fileContent, [CONFIGURATIONS_FIELD], preConfigurations, {
|
|
121
|
-
isArrayInsertion: false,
|
|
122
|
-
formattingOptions: {
|
|
123
|
-
tabSize: 2,
|
|
124
|
-
insertSpaces: true,
|
|
125
|
-
eol: '\n',
|
|
126
|
-
},
|
|
127
|
-
});
|
|
128
|
-
|
|
129
|
-
const newContent = jsoncparser.applyEdits(fileContent, edits);
|
|
130
|
-
await this.fileSystem.setContent(stat, newContent);
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
}
|