♻️ 优化搜索内容排序,修复setSubInput 无法触发 inputChange bug

This commit is contained in:
muwoo 2023-11-13 11:40:35 +08:00
parent 1656418c10
commit 6c096fcd99
4 changed files with 16 additions and 4 deletions

View File

@ -1,6 +1,6 @@
{
"name": "rubick",
"version": "4.1.5",
"version": "4.1.6",
"author": "muwoo <2424880409@qq.com>",
"private": true,
"scripts": {

View File

@ -190,6 +190,7 @@ class API extends DBInstance {
value: data.text,
})})`
);
this.sendSubInputChangeEvent({ data });
}
public getPath({ data }) {

View File

@ -118,7 +118,7 @@ const createPluginManager = (): any => {
if (isPin) {
pin.forEach((p, index) => {
if (p.name === plugin.name) {
pin.splice(index, 1);
plugin = pin.splice(index, 1)[0];
}
});
pin.unshift(plugin);

View File

@ -41,6 +41,17 @@ const optionsManager = ({
options[0].click();
});
const getIndex = (cmd, value) => {
let index = 0;
if (PinyinMatch.match(cmd.label || cmd, value)) {
index += 1;
}
if (cmd.label) {
index -= 1;
}
return index;
};
const getOptionsFromSearchValue = (value, strict = false) => {
const localPlugins = getGlobal('LOCAL_PLUGINS').getLocalPlugins();
let options: any = [];
@ -61,7 +72,7 @@ const optionsManager = ({
desc: fe.explain,
type: plugin.pluginType,
match: PinyinMatch.match(cmd.label || cmd, value),
zIndex: cmd.label ? 0 : 1, // 排序权重
zIndex: getIndex(cmd, value), // 排序权重
click: () => {
pluginClickEvent({
plugin,
@ -117,7 +128,7 @@ const optionsManager = ({
.map((plugin) => {
const option = {
...plugin,
zIndex: 1,
zIndex: 0,
click: () => {
openPlugin(plugin, option);
},