Skip to content

Commit

Permalink
feat(menus): 菜单选项新增disable属性, 当值为true时将不会创建菜单
Browse files Browse the repository at this point in the history
  • Loading branch information
hacxy committed Mar 22, 2024
1 parent 67b1309 commit 527cd91
Show file tree
Hide file tree
Showing 9 changed files with 17 additions and 32 deletions.
1 change: 1 addition & 0 deletions packages/oh-my-live2d/src/config/config.ts
Expand Up @@ -56,6 +56,7 @@ export const DEFAULT_OPTIONS: DefaultOptions = {
}
},
menus: {
disable: false,
items: [
{
id: 'Rest',
Expand Down
2 changes: 1 addition & 1 deletion packages/oh-my-live2d/src/modules/load-oml2d.ts
Expand Up @@ -23,7 +23,7 @@ export class LoadOhMyLive2D {
}

/**
* 主动提示消息
* 主动提示消息, 调用时会提前自动关闭当前空闲消息播放器, 调用结束之后会自动开启空闲消息播放器
* @param message 提示信息
* @param duration 持续时间 默认值: 3000
* @param priority 优先级 默认值: 3
Expand Down
2 changes: 1 addition & 1 deletion packages/oh-my-live2d/src/modules/menus.ts
Expand Up @@ -56,7 +56,7 @@ export class Menus {
* 创建
*/
create(): void {
if (this.menuOptions.items) {
if (!this.menuOptions.disable) {
this.element = createElement({ id: ELEMENT_ID.menus, tagName: 'div', className: ELEMENT_ID.menus });
this.createMenuItem();
}
Expand Down
1 change: 0 additions & 1 deletion packages/oh-my-live2d/src/modules/models.ts
Expand Up @@ -115,7 +115,6 @@ export class Models {
* 播放动作
*/
playMotion(motionGroupName: string, index?: number): void {
// console.log(this.model?.internalModel.motionManager.motionGroups);
void this.model?.motion(motionGroupName, index);
}

Expand Down
13 changes: 0 additions & 13 deletions packages/oh-my-live2d/src/modules/oml2d.ts
Expand Up @@ -183,19 +183,6 @@ export class OhMyLive2D {
await this.loadModel();
}

/**
* 模型休息
*/
// modelRest(): void {
// void this.stage.slideOut();
// this.tips.clear();

// this.statusBar.rest(true, () => {
// void this.stage.slideIn();
// void this.tips.idlePlayer?.start();
// });
// }

/**
* 注册dom事件
*/
Expand Down
18 changes: 5 additions & 13 deletions packages/oh-my-live2d/src/modules/status-bar.ts
@@ -1,17 +1,11 @@
import { isNumber, mergeDeep } from 'tianjie';
import { mergeDeep } from 'tianjie';

import { ELEMENT_ID } from '../config/index.js';
import { WindowSizeType } from '../constants/index.js';
import type { CSSProperties, DefaultOptions } from '../types/index.js';
import { createElement, getWindowSizeType, handleCommonStyle, setStyleForElement } from '../utils/index.js';

export const enum SystemState {
info = 'info',
error = 'error'
}

export type HoverActionParams = {
state: SystemState;
content: string;
};

Expand Down Expand Up @@ -129,7 +123,7 @@ export class StatusBar {
}

hideLoading(): void {
this.popup('加载成功');
this.popup('加载成功', 1000);
}

setHoverEvent(events?: { onIn?: () => void; onOut?: () => void }): void {
Expand Down Expand Up @@ -231,11 +225,9 @@ export class StatusBar {
}

void this.slideIn().then(() => {
if (isNumber(delay)) {
this.timer = setTimeout(() => {
void this.slideOut();
}, delay);
}
this.timer = setTimeout(() => {
void this.slideOut();
}, delay);
});
}

Expand Down
9 changes: 7 additions & 2 deletions packages/oh-my-live2d/src/types/menus.ts
Expand Up @@ -7,7 +7,12 @@ import { CommonStyleType, Item } from './common.js';
*/
export interface MenusOptions {
/**
* 配置菜单项, 您可以通过这个选项配置菜单项, 该配置选项非常的灵活, 它可以是一个由 Item 类型组成的数组, 也可以是一个函数, 当值是一个数组时, 它将覆盖默认菜单项配置. 当值是一个函数时, 您可以从函数中拿到默认菜单项, 当值为false时将关闭整个菜单栏
* 是否禁用菜单, 为true时将不会创建菜单
* @default false
*/
disable?: boolean;
/**
* 配置菜单项, 您可以通过这个选项配置菜单项, 该配置选项非常的灵活, 它可以是一个由 Item 类型组成的数组, 也可以是一个函数, 当值是一个数组时, 它将覆盖默认菜单项配置. 当值是一个函数时, 您可以从函数中拿到默认菜单项
*
* #### Item 类型描述:
* - id
Expand Down Expand Up @@ -78,7 +83,7 @@ export interface MenusOptions {
* ```
* @valueType Item[] | ((defaultItems: Item[]) => Item[]) | false
*/
items?: Item[] | ((defaultItems: Item[]) => Item[]) | false;
items?: Item[] | ((defaultItems: Item[]) => Item[]);

/**
* 配置菜单整体样式
Expand Down
2 changes: 1 addition & 1 deletion packages/oh-my-live2d/src/types/statusBar.ts
Expand Up @@ -6,7 +6,7 @@ import { CommonStyleType } from './common.js';
*/
export interface StatusBarOptions {
/**
* 禁用状态条, 为true时将不再展示状态条
* 是否禁用状态条, 为true时将不会创建状态条
* @default false
*/
disable?: boolean;
Expand Down
1 change: 1 addition & 0 deletions tests/vite-app/src/main.ts
Expand Up @@ -53,6 +53,7 @@ const foo = async () => {
style: {}
},
menus: {
// disable: true
// items: [
// {
// id: 'github',
Expand Down

0 comments on commit 527cd91

Please sign in to comment.