This commit is contained in:
Snaiker 2022-03-19 00:15:54 +00:00
parent 51ea8fe4a3
commit 21f5a0c0cd
3 changed files with 5 additions and 13 deletions

View File

@ -7,23 +7,16 @@ export class RoomWidgetChooserContentEvent extends RoomWidgetUpdateEvent
public static FURNI_CHOOSER_CONTENT: string = 'RWCCE_FURNI_CHOOSER_CONTENT'; public static FURNI_CHOOSER_CONTENT: string = 'RWCCE_FURNI_CHOOSER_CONTENT';
private _items: RoomObjectItem[]; private _items: RoomObjectItem[];
private _isModerator: boolean;
constructor(type: string, items: RoomObjectItem[], isModerator: boolean = false) constructor(type: string, items: RoomObjectItem[])
{ {
super(type); super(type);
this._items = items; this._items = items;
this._isModerator = isModerator;
} }
public get items(): RoomObjectItem[] public get items(): RoomObjectItem[]
{ {
return this._items; return this._items;
} }
public get isModerator(): boolean
{
return this._isModerator;
}
} }

View File

@ -72,7 +72,7 @@ export class FurniChooserWidgetHandler extends RoomWidgetHandler
return (a.name < b.name) ? -1 : 1; return (a.name < b.name) ? -1 : 1;
}); });
this.container.eventDispatcher.dispatchEvent(new RoomWidgetChooserContentEvent(RoomWidgetChooserContentEvent.FURNI_CHOOSER_CONTENT, items, GetSessionDataManager().isModerator)); this.container.eventDispatcher.dispatchEvent(new RoomWidgetChooserContentEvent(RoomWidgetChooserContentEvent.FURNI_CHOOSER_CONTENT, items));
} }
private selectRoomObject(message: RoomWidgetRoomObjectMessage): void private selectRoomObject(message: RoomWidgetRoomObjectMessage): void

View File

@ -1,5 +1,6 @@
import { SecurityLevel } from '@nitrots/nitro-renderer';
import { FC, useCallback, useState } from 'react'; import { FC, useCallback, useState } from 'react';
import { LocalizeText, RoomObjectItem, RoomWidgetChooserContentEvent, RoomWidgetRequestWidgetMessage, RoomWidgetUpdateRoomObjectEvent } from '../../../../api'; import { GetSessionDataManager, LocalizeText, RoomObjectItem, RoomWidgetChooserContentEvent, RoomWidgetRequestWidgetMessage, RoomWidgetUpdateRoomObjectEvent } from '../../../../api';
import { BatchUpdates, UseEventDispatcherHook } from '../../../../hooks'; import { BatchUpdates, UseEventDispatcherHook } from '../../../../hooks';
import { useRoomContext } from '../../RoomContext'; import { useRoomContext } from '../../RoomContext';
import { ChooserWidgetView } from './ChooserWidgetView'; import { ChooserWidgetView } from './ChooserWidgetView';
@ -8,7 +9,6 @@ export const FurniChooserWidgetView: FC<{}> = props =>
{ {
const [ isVisible, setIsVisible ] = useState(false); const [ isVisible, setIsVisible ] = useState(false);
const [ items, setItems ] = useState<RoomObjectItem[]>(null); const [ items, setItems ] = useState<RoomObjectItem[]>(null);
const [ isModerator, setIsModerator ] = useState<boolean>(false);
const [ refreshTimeout, setRefreshTimeout ] = useState<ReturnType<typeof setTimeout>>(null); const [ refreshTimeout, setRefreshTimeout ] = useState<ReturnType<typeof setTimeout>>(null);
const { eventDispatcher = null, widgetHandler = null } = useRoomContext(); const { eventDispatcher = null, widgetHandler = null } = useRoomContext();
@ -29,7 +29,6 @@ export const FurniChooserWidgetView: FC<{}> = props =>
BatchUpdates(() => BatchUpdates(() =>
{ {
setItems(event.items); setItems(event.items);
setIsModerator(event.isModerator);
setIsVisible(true); setIsVisible(true);
}); });
}, []); }, []);
@ -63,5 +62,5 @@ export const FurniChooserWidgetView: FC<{}> = props =>
if(!items) return null; if(!items) return null;
return <ChooserWidgetView title={ LocalizeText('widget.chooser.furni.title') } displayItemId={ isModerator } items={ items } onCloseClick={ close } />; return <ChooserWidgetView title={ LocalizeText('widget.chooser.furni.title') } displayItemId={ GetSessionDataManager().hasSecurity(SecurityLevel.MODERATOR) } items={ items } onCloseClick={ close } />;
} }