ui-framework-jps
Version:
A simple UI framework for state management and UI components
89 lines (88 loc) • 4.57 kB
TypeScript
import { StateManager } from '../../state/interface/StateManager';
import { ChatEventListener } from "../../socket/ChatEventListener";
import { ChatLog, Invitation, Message } from "../../socket/Types";
import { CollectionViewListener } from "../view/interface/CollectionViewListener";
import { StateChangeListener } from "../../state/interface/StateChangeListener";
import { Modifier, ViewDOMConfig } from "../ConfigurationTypes";
import { View } from '../view/interface/View';
import { CollectionView } from '../view/interface/CollectionView';
export declare class ChatLogDetailView implements View, ChatEventListener, CollectionViewListener, StateChangeListener {
private static _instance;
private static newFormId;
private static commentId;
private static submitCommentId;
private static chatLogId;
private static chatLogRoomId;
private static leaveChatId;
private static chatFastSearchUserNames;
protected chatRoomDiv: HTMLElement;
protected chatLogDiv: HTMLElement;
protected chatForm: HTMLElement;
protected commentEl: HTMLElement;
protected sendMessageButton: HTMLElement;
protected leaveChatButton: HTMLElement;
protected fastUserSearch: HTMLElement;
protected stateManager: StateManager;
protected selectedChatLog: ChatLog | null;
private constructor();
static getInstance(stateManager: StateManager): ChatLogDetailView;
clearDisplay(): void;
isShowing(): boolean;
collectionChanged(view: CollectionView): void;
hasActionPermission(actionName: string, from: string, item: any): boolean;
getListenerName(): string;
canSelectItem(view: CollectionView, selectedItem: any): boolean;
hasPermissionToDeleteItemInNamedCollection(name: string, item: any): boolean;
hasPermissionToUpdateItemInNamedCollection(name: string, item: any): boolean;
hasChanged(): boolean;
setContainedBy(container: HTMLElement): void;
addEventListener(listener: CollectionViewListener): void;
getIdForItemInNamedCollection(name: string, item: any): string;
getDisplayValueForItemInNamedCollection(name: string, item: any): string;
compareItemsForEquality(item1: any, item2: any): boolean;
getModifierForItemInNamedCollection(name: string, item: any): Modifier;
getSecondaryModifierForItemInNamedCollection(name: string, item: any): Modifier;
getBadgeValueForItemInNamedCollection(name: string, item: any): number;
getBackgroundImageForItemInNamedCollection(name: string, item: any): string;
updateViewForNamedCollection(name: string, newState: any): void;
itemDeselected(view: View, selectedItem: any): void;
itemSelected(view: View, selectedItem: ChatLog): void;
canDeleteItem(view: View, selectedItem: any): boolean;
itemDeleted(view: View, selectedItem: any): void;
hideRequested(view: View): void;
handleUserDrop(event: Event): void;
handleChatLogUpdated(log: ChatLog): void;
handleAddMessage(event: Event): void;
onDocumentLoaded(): void;
eventUserSelected(event: Event, ui: any): void;
addChatMessage(message: Message): HTMLElement;
reRenderChatMessages(chatLog: ChatLog): void;
renderChatLog(chatLog: ChatLog): void;
handleChatLogsUpdated(): void;
handleChatStarted(log: ChatLog): void;
stateChanged(managerName: string, name: string, newValue: any): void;
stateChangedItemAdded(managerName: string, name: string, itemAdded: any): void;
stateChangedItemRemoved(managerName: string, name: string, itemRemoved: any): void;
stateChangedItemUpdated(managerName: string, name: string, itemUpdated: any, itemNewValue: any): void;
handleOfflineMessagesReceived(messages: Message[]): void;
handleInvitationDeclined(room: string, username: string): void;
handleNewInviteReceived(invite: Invitation): boolean;
itemDragStarted(view: View, selectedItem: any): void;
itemAction(view: View, actionName: string, selectedItem: any): void;
documentLoaded(view: View): void;
showRequested(view: View): void;
itemDropped(view: View, droppedItem: any): void;
getName(): string;
hide(): void;
getDataSourceKeyId(): string;
getUIConfig(): ViewDOMConfig;
render(): void;
show(): void;
getItemDescription(from: string, item: any): string;
getItemId(from: string, item: any): string;
filterResults(managerName: string, name: string, filterResults: any): void;
foundResult(managerName: string, name: string, foundItem: any): void;
private leaveChat;
private checkCanComment;
private clearChatLog;
}