UNPKG

@omnia/fx

Version:

Provide Omnia Fx typings and tooling for clientside Omnia development.

103 lines (102 loc) 4.88 kB
import { type IPostCustomSlots, PostPermission, ThemeStore, Theming, VueComponentBase } from "../.."; import { IWebComponentInstance, OmniaContext } from "../../.."; import { type IPersistedPost, IPostBaseContext, IPostBaseWithContext, type OmitProperties, ReactionType, ResolvedUserIdentity, type ThemeDefinition } from "../../../models"; import { IRichTextEditor } from "../../richtexteditor"; import { ILikeService, UserIdentityStore } from "@omnia/fx/stores"; import { IdentitiesLocalization } from "../../identities/loc/localize"; export declare class PostTemplate extends VueComponentBase<{}, {}, {}> implements IWebComponentInstance { persistedPost: IPersistedPost<IPostBaseWithContext<IPostBaseContext>>; persistedPosts: Array<IPersistedPost<IPostBaseWithContext<IPostBaseContext>>>; richTextSettings: OmitProperties<IRichTextEditor, "initialContent" | "onContentChange">; currentUser: ResolvedUserIdentity; canShowEditDialogOnLoad?: boolean; canLike?: boolean; enableMention?: boolean; openReply: (postToReplyOn: IPersistedPost<IPostBaseWithContext<IPostBaseContext>>) => void; cancelReply: (post: IPersistedPost<IPostBaseWithContext<IPostBaseContext>>) => void; openEdit: (post: IPersistedPost<IPostBaseWithContext<IPostBaseContext>>) => void; closeEdit: (post: IPersistedPost<IPostBaseWithContext<IPostBaseContext>>) => void; refresh: (addedPost: boolean) => void; cardStyle?: ThemeDefinition; hideEdit?: boolean; handleAddingPost: (addingPost: IPostBaseWithContext<IPostBaseContext>) => Promise<IPersistedPost<IPostBaseWithContext<IPostBaseContext>>>; handleUpdatingPost: (updatingPost: IPersistedPost<IPostBaseWithContext<IPostBaseContext>>) => Promise<IPersistedPost<IPostBaseWithContext<IPostBaseContext>>>; handleDeletingPost: (deletingPost: IPersistedPost<IPostBaseWithContext<IPostBaseContext>>) => Promise<IPersistedPost<IPostBaseWithContext<IPostBaseContext>>>; handleTogglingLike: (togglingPost: IPersistedPost<IPostBaseWithContext<IPostBaseContext>>) => Promise<IPersistedPost<IPostBaseWithContext<IPostBaseContext>>>; handleSocialReacts: (postToReact: IPersistedPost<IPostBaseWithContext<IPostBaseContext>>, isReacts: boolean, reactionType: ReactionType) => Promise<IPersistedPost<IPostBaseWithContext<IPostBaseContext>>>; customSlots?: IPostCustomSlots; hideEditOption?: boolean; getTopPostIds: () => { [commentId: string]: string; }; getUserHash: () => { [principalName: string]: ResolvedUserIdentity; }; topicPermissionDictionary: { [topicId: string]: PostPermission; }; private omniaUxLocalization; private postLoc; identityLoc: IdentitiesLocalization.locInterface; userIdentityStore: UserIdentityStore; omniaCtx: OmniaContext; themeStore: ThemeStore; dialogTheme: Theming; private dateFormat; private isAdd; private isEdit; private isReply; private isAddingOrUpdatingPost; private isDeleting; private draftContent; private language; private resetContent; private isRTEPlaceholderClicked; private isLoadingRTE; private isRenderRTE; private draftMentionUsers; private customCardThemeId; private childTargetThemeId; private useAccessibilityFeatures; private dialogModel; private deleteDialogModel; onPostChange(newValue: IPersistedPost<IPostBaseWithContext<IPostBaseContext>>, oldValue: IPersistedPost<IPostBaseWithContext<IPostBaseContext>>): void; created(): void; mounted(): void; beforeUnmount(): void; private migrateData; private getReactions; private ensureCustomThemeRegistered; private ensureCustomThemeUnregistered; getReplyToPost(): IPersistedPost<IPostBaseWithContext<IPostBaseContext>>; ensureContentOnSave(content: string): string; getContentInsideTag(content: string): string; onClickReply(): void; onReact(topicId: string, commentId: string, isReacts: boolean, reactionType: ReactionType): Promise<void>; onClickRemoveReplyToPost(): void; onClickDelete(): void; onSave(): void; onContentUpdate(content: string): void; onMentionUpdate(mentionUsers: Array<ResolvedUserIdentity>): void; onEditPostClicked(): void; getCommentLikeService(): ILikeService; loadRTE(): void; private renderUserLink; /** * Render title for post * @param isDialog * @param cardTheming Nested theming for everything inside the post card */ private renderTitleInfo; private renderEditDialog; private renderEdit; private renderEditContentBody; private renderEditButton; private renderDeleteButton; private renderDeleteDialog; private renderEditOptionsBase; private renderEditOptions; private renderDisplay; private renderDeletedMessage; render(): VueTsxSupport.JSX.Element; }