mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-29 22:43:58 +00:00
plugin list
This commit is contained in:
@@ -41,11 +41,13 @@ module.exports = {
|
|||||||
// const { results } = json || {};
|
// const { results } = json || {};
|
||||||
// return (results || []).map((x) => x.package);
|
// return (results || []).map((x) => x.package);
|
||||||
|
|
||||||
|
// DOCS: https://github.com/npm/registry/blob/master/docs/REGISTRY-API.md#get-v1search
|
||||||
const response = await fetch(
|
const response = await fetch(
|
||||||
`https://www.npmjs.com/search/suggestions?q=dbgate-plugin ${encodeURIComponent(filter)}`
|
`http://registry.npmjs.com/-/v1/search?text=${encodeURIComponent(filter)}+keywords:dbgateplugin&size=25&from=0`
|
||||||
);
|
);
|
||||||
const json = await response.json();
|
const json = await response.json();
|
||||||
return json || [];
|
const { objects } = json || {};
|
||||||
|
return (objects || []).map((x) => x.package);
|
||||||
},
|
},
|
||||||
|
|
||||||
info_meta: 'get',
|
info_meta: 'get',
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
import _ from 'lodash';
|
||||||
import { SearchBoxWrapper, WidgetsInnerContainer } from './WidgetStyles';
|
import { SearchBoxWrapper, WidgetsInnerContainer } from './WidgetStyles';
|
||||||
import WidgetColumnBar, { WidgetColumnBarItem } from './WidgetColumnBar';
|
import WidgetColumnBar, { WidgetColumnBarItem } from './WidgetColumnBar';
|
||||||
import { useInstalledPlugins } from '../utility/metadataLoaders';
|
import { useInstalledPlugins } from '../utility/metadataLoaders';
|
||||||
@@ -18,15 +19,26 @@ function InstalledPluginsList() {
|
|||||||
|
|
||||||
function AvailablePluginsList() {
|
function AvailablePluginsList() {
|
||||||
const [filter, setFilter] = React.useState('');
|
const [filter, setFilter] = React.useState('');
|
||||||
|
const [search, setSearch] = React.useState('');
|
||||||
|
|
||||||
const plugins = useFetch({
|
const plugins = useFetch({
|
||||||
url: 'plugins/search',
|
url: 'plugins/search',
|
||||||
params: {
|
params: {
|
||||||
filter,
|
filter: search,
|
||||||
},
|
},
|
||||||
defaultValue: [],
|
defaultValue: [],
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const setDebouncedFilter = React.useRef(
|
||||||
|
// @ts-ignore
|
||||||
|
_.debounce((value) => setSearch(value), 500)
|
||||||
|
);
|
||||||
|
|
||||||
|
React.useEffect(() => {
|
||||||
|
// @ts-ignore
|
||||||
|
setDebouncedFilter.current(filter);
|
||||||
|
}, [filter]);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<SearchBoxWrapper>
|
<SearchBoxWrapper>
|
||||||
|
|||||||
Reference in New Issue
Block a user