@fc-components/monaco-editor 0.1.1 → 0.1.2
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/README.md +27 -17
- package/dist/monaco-editor.cjs.development.js +19 -16
- package/dist/monaco-editor.cjs.development.js.map +1 -1
- package/dist/monaco-editor.cjs.production.min.js +1 -1
- package/dist/monaco-editor.cjs.production.min.js.map +1 -1
- package/dist/monaco-editor.esm.js +19 -16
- package/dist/monaco-editor.esm.js.map +1 -1
- package/dist/promql/index.d.ts +1 -0
- package/package.json +4 -1
- package/src/promql/index.tsx +16 -14
- package/src/promql/util.ts +1 -1
package/README.md
CHANGED
|
@@ -5,23 +5,33 @@ import { PromQLMonacoEditor } from '@fc-components/monaco-editor';
|
|
|
5
5
|
|
|
6
6
|
const App = () => {
|
|
7
7
|
return (
|
|
8
|
-
<
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
}
|
|
21
|
-
})
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
|
|
8
|
+
<PromQLMonacoEditor
|
|
9
|
+
theme='light'
|
|
10
|
+
size='middle'
|
|
11
|
+
placeholder='请输入PromQL查询语句'
|
|
12
|
+
variablesNames={['$job', '$instance']}
|
|
13
|
+
apiPrefix='/api/n9e/proxy/1/api/v1'
|
|
14
|
+
request={(resource, options) => {
|
|
15
|
+
const params = options?.body?.toString();
|
|
16
|
+
const search = params ? `?${params}` : '';
|
|
17
|
+
return fetch(resource + search, {
|
|
18
|
+
method: 'Get',
|
|
19
|
+
headers: new Headers({
|
|
20
|
+
Authorization: `Bearer ${localStorage.getItem('access_token') || ''}`,
|
|
21
|
+
}),
|
|
22
|
+
});
|
|
23
|
+
}}
|
|
24
|
+
interpolateString={(query) => {
|
|
25
|
+
// Example interpolation function
|
|
26
|
+
return query.replace(/\$__interval/g, '10s');
|
|
27
|
+
}}
|
|
28
|
+
onShiftEnter={(value) => {
|
|
29
|
+
console.log('Shift+Enter pressed, current value:', value);
|
|
30
|
+
}}
|
|
31
|
+
onBlur={(value) => {
|
|
32
|
+
console.log('Editor lost focus, current value:', value);
|
|
33
|
+
}}
|
|
34
|
+
/>
|
|
25
35
|
);
|
|
26
36
|
};
|
|
27
37
|
|
|
@@ -862,7 +862,7 @@ function makeSelector(metricName, labels, labelName) {
|
|
|
862
862
|
var allLabelTexts = allLabels.map(function (label) {
|
|
863
863
|
return "" + label.name + label.op + "\"" + escapeLabelValueInExactSelector(label.value) + "\"";
|
|
864
864
|
});
|
|
865
|
-
return "{" + allLabelTexts.join(',') + "}";
|
|
865
|
+
return metricName + "{" + allLabelTexts.join(',') + "}";
|
|
866
866
|
}
|
|
867
867
|
|
|
868
868
|
var DEFAULT_SERIES_LIMIT = '40000';
|
|
@@ -1989,6 +1989,8 @@ function PromQLEditor(props) {
|
|
|
1989
1989
|
value = props.value,
|
|
1990
1990
|
placeholder = props.placeholder,
|
|
1991
1991
|
interpolateString = props.interpolateString,
|
|
1992
|
+
_props$enableAutocomp = props.enableAutocomplete,
|
|
1993
|
+
enableAutocomplete = _props$enableAutocomp === void 0 ? true : _props$enableAutocomp,
|
|
1992
1994
|
onChange = props.onChange,
|
|
1993
1995
|
onShiftEnter = props.onShiftEnter,
|
|
1994
1996
|
onBlur = props.onBlur;
|
|
@@ -2036,21 +2038,23 @@ function PromQLEditor(props) {
|
|
|
2036
2038
|
});
|
|
2037
2039
|
dataProviderRef.current = dataProvider;
|
|
2038
2040
|
dataProvider.start();
|
|
2039
|
-
|
|
2040
|
-
|
|
2041
|
-
|
|
2042
|
-
|
|
2043
|
-
|
|
2044
|
-
|
|
2045
|
-
|
|
2046
|
-
|
|
2041
|
+
if (enableAutocomplete) {
|
|
2042
|
+
var completionProvider = getCompletionProvider(monaco, dataProvider);
|
|
2043
|
+
var filteringCompletionProvider = _extends({}, completionProvider, {
|
|
2044
|
+
provideCompletionItems: function provideCompletionItems(model, position, context, token) {
|
|
2045
|
+
var _editor$getModel;
|
|
2046
|
+
if (((_editor$getModel = editor.getModel()) == null ? void 0 : _editor$getModel.id) !== model.id) {
|
|
2047
|
+
return {
|
|
2048
|
+
suggestions: []
|
|
2049
|
+
};
|
|
2050
|
+
}
|
|
2051
|
+
return completionProvider.provideCompletionItems(model, position, context, token);
|
|
2047
2052
|
}
|
|
2048
|
-
|
|
2049
|
-
|
|
2050
|
-
|
|
2051
|
-
|
|
2052
|
-
|
|
2053
|
-
autocompleteDisposeFun.current = dispose;
|
|
2053
|
+
});
|
|
2054
|
+
var _monaco$languages$reg = monaco.languages.registerCompletionItemProvider(PROMQL_LANG_ID, filteringCompletionProvider),
|
|
2055
|
+
dispose = _monaco$languages$reg.dispose;
|
|
2056
|
+
autocompleteDisposeFun.current = dispose;
|
|
2057
|
+
}
|
|
2054
2058
|
var updateElementHeight = function updateElementHeight() {
|
|
2055
2059
|
var containerDiv = containerRef.current;
|
|
2056
2060
|
if (containerDiv !== null) {
|
|
@@ -2073,7 +2077,6 @@ function PromQLEditor(props) {
|
|
|
2073
2077
|
});
|
|
2074
2078
|
// handle: shift + enter
|
|
2075
2079
|
editor.addCommand(monaco.KeyMod.Shift | monaco.KeyCode.Enter, function () {
|
|
2076
|
-
console.log(22222);
|
|
2077
2080
|
onShiftEnter == null || onShiftEnter(editor.getValue());
|
|
2078
2081
|
}, 'isEditorFocused' + id);
|
|
2079
2082
|
if (placeholder) {
|