This commit is contained in:
syuilo 2022-01-28 12:20:42 +09:00
parent bfc9873fb9
commit 974269b8f1
5 changed files with 10 additions and 8 deletions

View file

@ -95,7 +95,7 @@ function onClick(ev: MouseEvent) {
if (props.selectMode) { if (props.selectMode) {
emit('chosen', props.file); emit('chosen', props.file);
} else { } else {
os.popupMenu(getMenu(), (ev.currentTarget ?? ev.target || undefined) as HTMLElement | undefined); os.popupMenu(getMenu(), (ev.currentTarget ?? ev.target ?? undefined) as HTMLElement | undefined);
} }
} }

View file

@ -591,7 +591,7 @@ function getMenu() {
} }
function showMenu(ev: MouseEvent) { function showMenu(ev: MouseEvent) {
os.popupMenu(getMenu(), (ev.currentTarget ?? ev.target || undefined) as HTMLElement | undefined); os.popupMenu(getMenu(), (ev.currentTarget ?? ev.target ?? undefined) as HTMLElement | undefined);
} }
function onContextmenu(ev: MouseEvent) { function onContextmenu(ev: MouseEvent) {

View file

@ -43,9 +43,9 @@ withDefaults(defineProps<{
}); });
const emit = defineEmits<{ const emit = defineEmits<{
(e: 'done', v: any): void; (ev: 'done', v: any): void;
(e: 'close'): void; (ev: 'close'): void;
(e: 'closed'): void; (ev: 'closed'): void;
}>(); }>();
const modal = ref<InstanceType<typeof MkModal>>(); const modal = ref<InstanceType<typeof MkModal>>();

View file

@ -25,11 +25,13 @@ function getFixedContainer(el: Element | null): Element | null {
} }
} }
type ModalTypes = 'popup' | 'dialog' | 'drawer';
const props = withDefaults(defineProps<{ const props = withDefaults(defineProps<{
manualShowing?: boolean; manualShowing?: boolean;
srcCenter?: boolean; srcCenter?: boolean;
src?: HTMLElement; src?: HTMLElement;
preferType?: string; preferType?: ModalTypes | 'auto';
zPriority?: 'low' | 'middle' | 'high'; zPriority?: 'low' | 'middle' | 'high';
noOverlap?: boolean; noOverlap?: boolean;
transparentBg?: boolean; transparentBg?: boolean;
@ -66,7 +68,7 @@ const type = computed(() => {
return props.src != null ? 'popup' : 'dialog'; return props.src != null ? 'popup' : 'dialog';
} }
} else { } else {
return props.preferType; return props.preferType!;
} }
}); });

View file

@ -403,7 +403,7 @@ export async function selectDriveFolder(multiple: boolean) {
}); });
} }
export async function pickEmoji(src?: HTMLElement, opts) { export async function pickEmoji(src: HTMLElement | null, opts) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
popup(import('@/components/emoji-picker-dialog.vue'), { popup(import('@/components/emoji-picker-dialog.vue'), {
src, src,