@omnia/fx
Version:
Provide Omnia Fx typings and tooling for clientside Omnia development.
76 lines (75 loc) • 2.92 kB
TypeScript
import { IWebComponentInstance, SubscriptionHandler } from "../..";
import { ReactionType, ResolvedUserIdentity, UserIdentity, ISocialReactionStyling, ISocialReaction } from "../../models";
import { ILikeComponent } from "./ILike";
import { CommentLocalization } from "./loc/localize";
import { CommentLikeStore, ICommentLikeService } from "../../stores";
import { OmniaContext } from "../../contexts";
import "./Like.css";
import { LikeStyles } from "../models";
import { VueComponentBase } from "..";
import { IdentitiesLocalization } from "../identities/loc/localize";
interface LikeUser {
identity: UserIdentity;
displayName: string;
profileUrl: string;
isCurrentUser?: boolean;
reactionType?: ReactionType;
}
export declare class LikeComponent extends VueComponentBase implements IWebComponentInstance, ILikeComponent {
store: CommentLikeStore;
omniaContext: OmniaContext;
subscriptionHandler: SubscriptionHandler;
commentLocalization: CommentLocalization.locInterface;
identityLoc: IdentitiesLocalization.locInterface;
topicId: string;
commendId?: string;
likeListingTemplate: string;
extendComponents: Array<{
elem: string;
dynamicInput: any;
}>;
likes: Array<ISocialReaction>;
commentLikeService: ICommentLikeService;
styles?: typeof LikeStyles;
isCompactMode?: boolean;
isSummaryMode?: boolean;
reactedSocial?: () => void;
currentUser: ResolvedUserIdentity;
showLikeListing: boolean;
socialReactionStylings: Array<ISocialReactionStyling>;
isSocialReactionsMode: boolean;
isShowingSocialReactionsDetail: boolean;
isMenuOpen: boolean;
currentSocialReaction: ISocialReactionStyling;
likeClasses: {
likesToShow?: any;
underlineWhenHover?: any;
buttonOutline?: any;
personWrapper?: any;
buttonPosition?: any;
socialReactionIconWrapper?: any;
socialReactionIcon?: any;
socialReactionContainer?: any;
socialReactionSummary?: any;
socialReactionMenu?: any;
replyAndLikeActionLink?: any;
};
omniaUrl: string;
isExpandedMode: boolean;
beforeDestroy(): void;
created(): void;
mounted(): void;
initSocialReactionsMode(): void;
onSocialReactionClick(isReacts: boolean, reactionType: ReactionType): void;
getLikesToShow(likes: Array<ISocialReaction>): Array<LikeUser>;
renderUserLink(item: LikeUser): VueTsxSupport.JSX.Element;
renderLikedByTitle(likes: Array<ISocialReaction>, likesToShow: Array<LikeUser>): VueTsxSupport.JSX.Element[];
onOpenSocialReactionsDetail(): void;
onCloseSocialReactionsDetail(): void;
onOpenSocalReactions(e: Event): void;
onCloseSocialReactions(): void;
renderSocialReactions(): VueTsxSupport.JSX.Element;
renderLikes(): VueTsxSupport.JSX.Element[];
render(): VueTsxSupport.JSX.Element;
}
export {};