@omnia/fx
Version:
Provide Omnia Fx typings and tooling for clientside Omnia development.
96 lines (95 loc) • 3.53 kB
TypeScript
import { IWebComponentInstance } from "../../..";
import { CommentLikeStore, ICommentLikeService } from "../../../stores";
import { OmniaContext } from "../../..";
import { type Comment, type CommentLikeTemplateSettings, type ThemeDefinition, ResolvedUserIdentity } from "../../../models";
import { ICommentTemplate } from "../extensibilities/ICommentTemplate";
import { Theming, ThemeStore, VueComponentBase, BlockInstance } from "../..";
import { IdentitiesLocalization } from "../../identities/loc/localize";
export interface CommentLikeTemplateDynamicInput {
service: ICommentLikeService;
likeListingTemplate?: string;
dateFormat?: string | "social";
}
export declare class CommentLikeTemplate extends VueComponentBase<{}, {}, {}> implements IWebComponentInstance, ICommentTemplate<CommentLikeTemplateDynamicInput> {
comment: Comment;
dynamicInput: CommentLikeTemplateDynamicInput;
templateSettings: CommentLikeTemplateSettings;
currentUser: ResolvedUserIdentity;
canShowEditDialogOnLoad?: boolean;
canLike?: boolean;
openReply: (commentToReplyOn: Comment) => Comment;
cancelReply: (comment: Comment) => void;
refresh: (addedComment: boolean) => void;
additionalRoles?: Array<string>;
cardStyle?: ThemeDefinition;
hideEdit?: boolean;
readOnly?: boolean;
markedBestReply?: () => void;
commented?: () => void;
commentedReply?: () => void;
reactedSocial?: () => void;
private omniaUxLocalization;
private commentLoc;
identityLoc: IdentitiesLocalization.locInterface;
store: CommentLikeStore;
omniaCtx: OmniaContext;
themeStore: ThemeStore;
protected blockInstance: BlockInstance;
private commentDialogStore;
dialogTheme: Theming;
private dateFormat;
private isEdit;
private isAddingOrUpdatingComment;
private isDeleting;
private draftContent;
private draftMentionUsers;
private language;
private resetContent;
private isRTEPlaceholderClicked;
private isLoadingRTE;
private observer;
private isValidComment;
private deleteDialogModel;
private useAccessibilityFeatures;
private validateEnabledOnContentChanged;
private get isAdd();
private get isReply();
private get isMobile();
onTopicIdChange(newValue: Comment, oldValue: Comment): void;
created(): void;
mounted(): void;
beforeDestroy(): void;
private openMobileDialog;
private initializeObserverLazyLoadEditor;
private loadRichTextEditor;
private getReplyToComment;
private getSocialReactions;
private onClickReply;
private onClickEdit;
private onClickMarkBestReply;
private onClickRemoveReplyToComment;
private onClickDelete;
private getContentInsideTag;
private trimCommentContent;
private onDialogCancel;
private onDialogSave;
private onSave;
private saveCommentInternal;
private validateComment;
onContentUpdate(content: string): void;
validateOnContentChanged(content: string): void;
onMentionUpdate(mentionUsers: Array<ResolvedUserIdentity>): void;
onCommentTextFieldClicked(e: Event): void;
private renderUserLink;
private renderTitleInfo;
private renderEditContentBody;
private renderEditButton;
private renderDeleteButton;
private renderDeleteDialog;
private renderEditOptionsBase;
private renderMarkBestReplyButton;
private renderEditOptions;
private renderDisplay;
private renderDeletedMessage;
render(): VueTsxSupport.JSX.Element;
}