{ "version": 3, "sources": ["src/app/shared/feed/base/base-feed.store.ts", "src/app/shared/feed/base/base-feed.component.ts", "src/app/shared/feed/enums/activity-type.enum.ts", "src/app/shared/feed/services/feed.service.ts", "src/app/shared/feed/components/activity-feed/activity-feed.store.ts", "src/app/shared/feed/components/team-feed/team-feed.store.ts", "src/app/shared/feed/components/activity-post/subscription-post/subscription-post.component.ts", "src/app/shared/feed/components/activity-post/subscription-post/subscription-post.component.html", "src/app/shared/feed/components/activity-post/content-post/content-post.component.ts", "src/app/shared/feed/components/activity-post/content-post/content-post.component.html", "src/app/shared/feed/components/activity-post/event-post/event-post.component.ts", "src/app/shared/feed/components/activity-post/event-post/event-post.component.html", "src/app/shared/feed/components/activity-post/plan-post/plan-post.component.ts", "src/app/shared/feed/components/activity-post/plan-post/plan-post.component.html", "src/app/shared/feed/components/activity-post/team-post/team-post.component.ts", "src/app/shared/feed/components/activity-post/team-post/team-post.component.html", "src/app/shared/feed/components/activity-post/video-post/video-post.component.ts", "src/app/shared/feed/components/activity-post/video-post/video-post.component.html", "src/app/shared/feed/components/post-container/post-container.component.ts", "src/app/shared/feed/components/post-container/post-container.component.html", "src/app/shared/feed/components/activity-post/activity-post.component.ts", "src/app/shared/feed/components/activity-post/activity-post.component.html", "src/app/shared/feed/constants/feed-constants.ts", "src/app/shared/feed/components/user-post/user-post-image-viewer/user-post-image-viewer.component.ts", "src/app/shared/feed/components/user-post/user-post-image-viewer/user-post-image-viewer.component.html", "src/app/core/utils/image-helpers.ts", "src/app/shared/feed/services/feed-modal.service.ts", "src/app/shared/feed/components/user-post/user-post-video-player/user-post-video-player.component.ts", "src/app/shared/base/base-video-player/base-video-player.component.html", "src/app/shared/feed/components/user-post/user-post-media/user-post-media.component.ts", "src/app/shared/feed/components/user-post/user-post-media/user-post-media.component.html", "src/app/shared/feed/components/user-post/user-comment/user-comment.component.ts", "src/app/shared/feed/components/user-post/user-comment/user-comment.component.html", "src/app/shared/feed/components/user-post/user-post.component.ts", "src/app/shared/feed/components/user-post/user-post.component.html", "src/app/shared/feed/components/activity-feed/activity-feed.component.ts", "src/app/shared/feed/components/activity-feed/activity-feed.component.html", "src/app/shared/feed/models/user-post.model.ts", "src/app/shared/feed/components/user-post/post-file-uploader/post-file-uploader.component.ts", "src/app/shared/feed/components/user-post/post-file-uploader/post-file-uploader.component.html", "src/app/shared/feed/components/team-feed/new-user-post-form/new-user-post-form.component.ts", "src/app/shared/feed/components/team-feed/new-user-post-form/new-user-post-form.component.html", "src/app/shared/feed/components/team-feed/team-feed.component.ts", "src/app/shared/feed/components/team-feed/team-feed.component.html", "src/app/shared/feed/feed.module.ts"], "sourcesContent": ["import { Injectable } from \"@angular/core\";\r\nimport { ComponentStore } from \"@ngrx/component-store\";\r\nimport { ActivityPost } from \"@pepconnect/shared/feed/models/activity-post.model\";\r\nimport { UserPostEvent } from \"../models/user-post-event.model\";\r\nimport { UserPost } from \"../models/user-post.model\";\r\nimport { map } from \"rxjs\";\r\n\r\n/** Base Feed Component Store.\r\n *\r\n * Base component store class for activity-feed-store and team-feed-store\r\n *\r\n * Acts as a mini-store that can be shared as a singleton between component trees\r\n * trees to avoid having to pass in a large amount of individual observables as inputs\r\n * Usage:\r\n * 1) To create a new scoped store that can be shared with a component tree - Add a providers[] array to the top-level component metadata with `[provideComponentStore(FeedStore)]`.\r\n * This will create the singleton.\r\n * 2) Inject private feedStore: FeedStore to the constructor (or Inject() function if you live on the wildside) in components that need to access that state.\r\n * DO NOT ADD THE PROVIDER to the component metadata for children that should inherit the warm-instance of the store - you only need to inject the store in the constructor\r\n * */\r\n\r\n/**\r\n * https://ngrx.io/guide/component-store/usage\r\n * https://www.youtube.com/watch?v=r0Rzt4lQ0T0\r\n * https://medium.com/ngconf/using-ngrx-component-store-introduction-7787ce250edc\r\n */\r\n\r\nexport interface FeedState {\r\n posts: ActivityPost[], // current list of activity posts\r\n pageNumber: number,\r\n hasMoreResults: boolean,\r\n loading: boolean, // loading indicator\r\n error: string, // error object\r\n}\r\n\r\nexport const defaultFeedState: FeedState =\r\n{\r\n posts: [], // current list of activity posts\r\n pageNumber: 0,\r\n hasMoreResults: true,\r\n loading: false,\r\n error: null,\r\n}\r\n\r\n@Injectable()\r\nexport class BaseFeedStore extends ComponentStore {\r\n readonly PAGE_SIZE: number = 15;\r\n\r\n constructor(\r\n ) {\r\n super(defaultFeedState);\r\n }\r\n\r\n // *********** Selectors *********** //\r\n readonly posts$ = this.select(({ posts }) => posts);\r\n readonly loading$ = this.select(({ loading }) => loading);\r\n readonly error$ = this.select(({ error }) => error);\r\n readonly hasMoreResults$ = this.select(({ hasMoreResults }) => hasMoreResults);\r\n readonly pageNumber$ = this.select(({ pageNumber }) => pageNumber);\r\n\r\n // *********** Updaters *********** //\r\n readonly setPosts = this.updater((state, posts: ActivityPost[]): FeedState => ({\r\n ...state,\r\n posts\r\n }));\r\n\r\n readonly addPosts = this.updater((state, newPosts: ActivityPost[]): FeedState => {\r\n return {\r\n ...state,\r\n posts: [...newPosts, ...state.posts]\r\n }\r\n });\r\n\r\n readonly setPageNumber = this.updater((state, pageNumber: number): FeedState => ({\r\n ...state,\r\n pageNumber\r\n }));\r\n\r\n readonly setHasMoreResults = this.updater((state, hasMoreResults: boolean): FeedState => ({\r\n ...state,\r\n hasMoreResults\r\n }));\r\n\r\n readonly setError = this.updater((state, error: string | null): FeedState => ({\r\n ...state,\r\n error\r\n }));\r\n\r\n readonly setLoading = this.updater((state, loading: boolean): FeedState => ({\r\n ...state,\r\n loading\r\n }));\r\n\r\n onApiError(err: any) {\r\n this.setLoading(false);\r\n this.setError(err?.Message ?? err ?? 'error');\r\n }\r\n\r\n\r\n readonly addComment = this.updater((state, userPostEvent: UserPostEvent): FeedState => ({\r\n ...state,\r\n posts: state.posts.map(activityPost => {\r\n // don't do anything if this isn't a user post\r\n if (!activityPost.userPost) {\r\n return activityPost;\r\n }\r\n\r\n return {\r\n ...activityPost,\r\n userPost: this.applyEventToUserPost(activityPost.userPost, userPostEvent)\r\n };\r\n })\r\n }));\r\n\r\n readonly deleteComment = this.updater((state, userPostId: string): FeedState => ({\r\n ...state,\r\n posts: state.posts.map(activityPost => {\r\n // don't do anything if this isn't a user post\r\n if (!activityPost.userPost) {\r\n return activityPost;\r\n }\r\n\r\n if (activityPost.userPost.userPostID === userPostId) {\r\n return null;\r\n }\r\n\r\n return {\r\n ...activityPost,\r\n userPost: this.deleteChildUserPost(activityPost.userPost, userPostId)\r\n };\r\n }).filter(s => !!s)\r\n }));\r\n\r\n // private function for recursion down the comment tree while applying the user post event\r\n private applyEventToUserPost(post: UserPost, userPostEvent: UserPostEvent): UserPost {\r\n // case 1: the post is the parent of a new comment\r\n if (post.userPostID === userPostEvent.parentUserPostId) {\r\n return {\r\n ...post,\r\n comments: (post.comments ?? []).concat(userPostEvent.userPost)\r\n };\r\n }\r\n\r\n return {\r\n ...post,\r\n comments: post.comments.map(comment => {\r\n // case 2: the post is an edit of one of the comments\r\n if (comment.userPostID === userPostEvent.userPost?.userPostID) {\r\n return userPostEvent.userPost;\r\n }\r\n\r\n // case 3: it's among the children\r\n return this.applyEventToUserPost(comment, userPostEvent);\r\n })\r\n };\r\n }\r\n\r\n // private function for recursion down the comment tree while deleting a user post\r\n private deleteChildUserPost(post: UserPost, userPostId: string): UserPost {\r\n return {\r\n ...post,\r\n comments: post.comments.map(comment => {\r\n // case 1: the post is the one being deleted\r\n if (comment.userPostID === userPostId) {\r\n return null;\r\n }\r\n\r\n // case 2: it's among the children\r\n return this.deleteChildUserPost(comment, userPostId);\r\n }).filter(s => !!s)\r\n };\r\n }\r\n\r\n}\r\n", "import { Component } from \"@angular/core\";\r\nimport { Store } from \"@ngrx/store\";\r\nimport { BaseSmartComponent } from \"@pepconnect/shared/base/base-smart-component/base-smart.component\";\r\nimport { BaseFeedStore } from '@pepconnect/shared/feed/base/base-feed.store';\r\nimport { AppState } from \"@pepconnect/state/index\";\r\n\r\n@Component({ template: '' })\r\nexport class BaseFeedComponent extends BaseSmartComponent {\r\n readonly error$ = this.baseFeedStore.error$;\r\n readonly loading$ = this.baseFeedStore.loading$;\r\n\r\n constructor(\r\n protected store: Store,\r\n protected baseFeedStore: BaseFeedStore,\r\n ) {\r\n super(store);\r\n }\r\n}\r\n", "/**\r\n * Need string enums to compare again string values coming back from api\r\n *\r\n * Note: Feeds are going away soon, kept these in upper case to save time\r\n * \r\n */\r\nexport enum ActivityType {\r\n FEED_TEAM_COMPLETION = 'FEED_TEAM_COMPLETION',\r\n FEED_TEAM_FILE_ADDED = 'FEED_TEAM_FILE_ADDED',\r\n FEED_TEAM_NEW_EVENT = 'FEED_TEAM_NEW_EVENT',\r\n FEED_TEAM_OWNER_COMPETENCY_ANALYSIS = 'FEED_TEAM_OWNER_COMPETENCY_ANALYSIS',\r\n FEED_TEAM_OWNER_CREDIT_EXP = 'FEED_TEAM_OWNER_CREDIT_EXP',\r\n FEED_TEAM_OWNER_CREDITS_ADDED = 'FEED_TEAM_OWNER_CREDITS_ADDED',\r\n FEED_TEAM_OWNER_SUB_RENEWAL = 'FEED_TEAM_OWNER_SUB_RENEWAL',\r\n FEED_TEAM_OWNER_SUB_SUGGESTION = 'FEED_TEAM_OWNER_SUB_SUGGESTION',\r\n FEED_TEAM_PLAN_COMPLETED = 'FEED_TEAM_PLAN_COMPLETED',\r\n FEED_TEAM_USER_POST = 'FEED_TEAM_USER_POST',\r\n FEED_USER_COMPETENCY_ANALYSIS = 'FEED_USER_COMPETENCY_ANALYSIS',\r\n FEED_USER_COMPLETION = 'FEED_USER_COMPLETION',\r\n FEED_USER_CUSTOMER_EVENT_ADDED = 'FEED_USER_CUSTOMER_EVENT_ADDED',\r\n FEED_USER_CUSTOMER_EVENT_CANCELLED = 'FEED_USER_CUSTOMER_EVENT_CANCELLED',\r\n FEED_USER_CUSTOMER_EVENT_DATE_CHANGED = 'FEED_USER_CUSTOMER_EVENT_DATE_CHANGED',\r\n FEED_USER_EVENT_UPDATED = 'FEED_USER_EVENT_UPDATED',\r\n FEED_USER_EXPLORE_ACTIVITIES = 'FEED_USER_EXPLORE_ACTIVITIES',\r\n FEED_USER_GROUP_SUGGESTION = 'FEED_USER_GROUP_SUGGESTION',\r\n FEED_USER_LEARN_MORE = 'FEED_USER_LEARN_MORE',\r\n FEED_USER_LEARNING_PATH_ASSIGNED = 'FEED_USER_LEARNING_PATH_ASSIGNED',\r\n FEED_USER_PLAN_ASSIGNED = 'FEED_USER_PLAN_ASSIGNED',\r\n FEED_USER_PLAN_DELETED = 'FEED_USER_PLAN_DELETED',\r\n FEED_USER_PLAN_DUE = 'FEED_USER_PLAN_DUE',\r\n FEED_USER_SUBSCRIPTION_ASSIGNED = 'FEED_USER_SUBSCRIPTION_ASSIGNED',\r\n FEED_USER_UPCOMING_EVENT = 'FEED_USER_UPCOMING_EVENT',\r\n FEED_USER_WELCOME = 'FEED_USER_WELCOME',\r\n}\r\n", "import { Injectable } from '@angular/core';\r\nimport { Store } from '@ngrx/store';\r\nimport { ResponseMessage, UnserializedResponseMessage } from '@pepconnect/models/general/response-message.model';\r\nimport { ApiService } from '@pepconnect/services/api.service';\r\nimport { BaseStateService } from '@pepconnect/shared/base/base-state-service/base-state-service';\r\nimport { ActivityType } from '@pepconnect/shared/feed/enums/activity-type.enum';\r\nimport { ActivityPost } from '@pepconnect/shared/feed/models/activity-post.model';\r\nimport { FeedResults } from '@pepconnect/shared/feed/models/feed-results.model';\r\nimport { UserPost } from '@pepconnect/shared/feed/models/user-post.model';\r\nimport { AppState } from '@pepconnect/state';\r\nimport { selectAuthState } from '@pepconnect/state/auth/auth.selector';\r\n\r\nenum ActivityIcon {\r\n Bulb = 'custom-icon icon-bulb',\r\n Calendar = 'icon-calendar',\r\n Check = 'icon-check',\r\n Comment = 'icon-comment',\r\n Document = 'icon-document',\r\n Duration = 'icon-duration',\r\n Information = 'icon-information',\r\n Locked = 'icon-locked',\r\n Reload = 'icon-reload',\r\n Search = 'icon-search',\r\n World = 'icon-world',\r\n}\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class FeedService extends BaseStateService {\r\n $authState = this.store.select(selectAuthState);\r\n\r\n private readonly activityClassMap = new Map([\r\n [ActivityType.FEED_TEAM_COMPLETION, ActivityIcon.Check],\r\n [ActivityType.FEED_TEAM_FILE_ADDED, ActivityIcon.Document],\r\n [ActivityType.FEED_TEAM_NEW_EVENT, ActivityIcon.Calendar],\r\n [ActivityType.FEED_TEAM_OWNER_COMPETENCY_ANALYSIS, ActivityIcon.Calendar],\r\n [ActivityType.FEED_TEAM_OWNER_CREDIT_EXP, ActivityIcon.Duration],\r\n [ActivityType.FEED_TEAM_OWNER_CREDITS_ADDED, ActivityIcon.Reload],\r\n [ActivityType.FEED_TEAM_OWNER_SUB_RENEWAL, ActivityIcon.Duration],\r\n [ActivityType.FEED_TEAM_OWNER_SUB_SUGGESTION, ActivityIcon.Bulb],\r\n [ActivityType.FEED_TEAM_PLAN_COMPLETED, ActivityIcon.Check],\r\n [ActivityType.FEED_TEAM_USER_POST, ActivityIcon.Comment],\r\n [ActivityType.FEED_USER_COMPETENCY_ANALYSIS, ActivityIcon.Check],\r\n [ActivityType.FEED_USER_COMPLETION, ActivityIcon.Check],\r\n [ActivityType.FEED_USER_CUSTOMER_EVENT_ADDED, ActivityIcon.Calendar],\r\n [ActivityType.FEED_USER_CUSTOMER_EVENT_CANCELLED, ActivityIcon.Calendar],\r\n [ActivityType.FEED_USER_CUSTOMER_EVENT_DATE_CHANGED, ActivityIcon.Calendar],\r\n [ActivityType.FEED_USER_EVENT_UPDATED, ActivityIcon.Calendar],\r\n [ActivityType.FEED_USER_EXPLORE_ACTIVITIES, ActivityIcon.Search],\r\n [ActivityType.FEED_USER_GROUP_SUGGESTION, ActivityIcon.Bulb],\r\n [ActivityType.FEED_USER_LEARN_MORE, ActivityIcon.Information],\r\n [ActivityType.FEED_USER_LEARNING_PATH_ASSIGNED, ActivityIcon.Locked],\r\n [ActivityType.FEED_USER_PLAN_ASSIGNED, ActivityIcon.Locked],\r\n [ActivityType.FEED_USER_PLAN_DELETED, ActivityIcon.Locked],\r\n [ActivityType.FEED_USER_PLAN_DUE, ActivityIcon.Locked],\r\n [ActivityType.FEED_USER_SUBSCRIPTION_ASSIGNED, ActivityIcon.Document],\r\n [ActivityType.FEED_USER_UPCOMING_EVENT, ActivityIcon.Calendar],\r\n [ActivityType.FEED_USER_WELCOME, ActivityIcon.World]\r\n ]);\r\n\r\n constructor(\r\n protected store: Store,\r\n private api: ApiService\r\n ) {\r\n super(store);\r\n }\r\n\r\n /**\r\n *\r\n * Called when user feed is first loaded. Gets the first page of user activity posts\r\n *\r\n * */\r\n fetchInitialUserPosts(pageSize: number) {\r\n return this.api.get(`activity/${pageSize}/1`);\r\n };\r\n\r\n /**\r\n *\r\n * Called for subsequent \"load more\" request for user activity posts\r\n *\r\n * */\r\n fetchNextUserPosts(pageSize: number, pageNumber: number, lastActivityFeedId: string) {\r\n return this.api.get(`activity/${pageSize}/${pageNumber}/${lastActivityFeedId}`);\r\n };\r\n\r\n /**\r\n *\r\n * Called when team feed is first loaded. Gets the first page of team activity posts\r\n *\r\n * */\r\n fetchInitialTeamPosts(teamId: string, pageSize: number) {\r\n return this.api.get(`teams/${teamId}/activity/${pageSize}/1`);\r\n };\r\n\r\n /**\r\n *\r\n * Called for subsequent \"load more\" request for team activity posts\r\n *\r\n * */\r\n fetchNextTeamPosts(teamId: string, pageSize: number, pageNumber: number, lastActivityFeedId: string) {\r\n return this.api.get(`teams/${teamId}/activity/${pageSize}/${pageNumber}/${lastActivityFeedId}`);\r\n };\r\n\r\n /**\r\n *\r\n * posts a new userPost to a team or user activity feed\r\n *\r\n * returns the new post\r\n *\r\n * */\r\n addUserPost(userPost: UserPost, teamId: string) {\r\n return this.api.post(`teams/${teamId}/activity`, userPost);\r\n }\r\n\r\n uploadPostMedia(teamId: string, file: File) {\r\n return this.api.postFile(`teams/${teamId}/activity/upload`, file);\r\n }\r\n\r\n /**\r\n *\r\n * posts an update to a userPost\r\n *\r\n * apiPath should look like this:\r\n * `teams/${teamId}/activity/${userPostId}`\r\n *\r\n * */\r\n editUserPost(userPost: UserPost) {\r\n // Note: may be able to use LinkService for this\r\n return this.api.put(`teams/${userPost.teamID}/activity/${userPost.userPostID}`, userPost);\r\n }\r\n\r\n /**\r\n *\r\n * deletes a userPost\r\n *\r\n * apiPath should look like this:\r\n * `teams/${teamId}/activity/${userPostId}`\r\n *\r\n * */\r\n deleteUserPost(teamId: string, userPostId: string) {\r\n // Note: may be able to use LinkService for this\r\n return this.api.delete(`teams/${teamId}/activity/${userPostId}`);\r\n }\r\n\r\n /**\r\n *\r\n * flags a userPost\r\n *\r\n * apiPath should look like this:\r\n * `teams/${teamId}/activity/${userPostId}/flag`\r\n *\r\n * For owners only, returns a updated version of the post\r\n *\r\n * */\r\n flagUserPost(userPost: UserPost) {\r\n // Note: may be able to use LinkService for this\r\n return this.api.put(`teams/${userPost.teamID}/activity/${userPost.userPostID}/flag`, userPost);\r\n }\r\n\r\n /**\r\n *\r\n * unflags a userPost\r\n *\r\n * apiPath should look like this:\r\n * `teams/${teamId}/activity/${userPostId}/unflag`\r\n *\r\n * For owners only, returns a updated version of the post\r\n *\r\n * */\r\n unflagUserPost(userPost: UserPost) {\r\n // Note: may be able to use LinkService for this\r\n return this.api.put(`teams/${userPost.teamID}/activity/${userPost.userPostID}/unflag`, userPost);\r\n }\r\n\r\n /**\r\n *\r\n * post a comment to an existing userPost\r\n *\r\n * returns new version of top-level userPost with the new comment on it\r\n *\r\n * */\r\n postComment(teamId: string, userPostId: string, comment: UserPost) {\r\n return this.api.post(`teams/${teamId}/activity/${userPostId}/comments`, comment);\r\n };\r\n\r\n /**\r\n *\r\n * get the css class associated with an activity type\r\n *\r\n * */\r\n getActivityIconClass(activityType: ActivityType) {\r\n return this.activityClassMap.get(activityType);\r\n };\r\n}\r\n", "import { Injectable } from \"@angular/core\";\r\nimport { tapResponse } from '@ngrx/operators';\r\n\r\nimport { BaseFeedStore } from \"@pepconnect/shared/feed/base/base-feed.store\";\r\nimport { FeedService } from \"@pepconnect/shared/feed/services/feed.service\";\r\nimport { Observable, switchMap, withLatestFrom } from \"rxjs\";\r\n\r\n@Injectable()\r\nexport class ActivityFeedStore extends BaseFeedStore {\r\n userId: number = 0;\r\n private readonly INITIAL_PAGE_SIZE: number = 5;\r\n\r\n constructor(\r\n private feedService: FeedService\r\n ) {\r\n super();\r\n }\r\n\r\n /**\r\n * call API to get user feed posts\r\n * \r\n * Called once when feed is being initalized for auth users only\r\n *\r\n * */\r\n readonly initializeUserFeed = this.effect((userId$: Observable) => {\r\n return userId$.pipe(\r\n switchMap((userId) => {\r\n this.userId = userId;\r\n this.setError(null);\r\n this.setLoading(true);\r\n // call API to first user posts\r\n return this.feedService.fetchInitialUserPosts(this.INITIAL_PAGE_SIZE).pipe(\r\n tapResponse(\r\n (feedResults) => {\r\n this.setPageNumber(1);\r\n this.setPosts(feedResults.posts);\r\n this.setHasMoreResults(feedResults.hasMoreResults);\r\n this.setLoading(false);\r\n },\r\n (err: any) => {\r\n this.onApiError(err);\r\n }));\r\n }))\r\n });\r\n\r\n /**\r\n * call API to get a specific number of user feed posts\r\n * \r\n * Called to refresh on a change while preserving page state\r\n * */\r\n readonly reloadFeedRange = this.effect((feedRequest$: Observable<{userId: number, pageSize: number}>) => {\r\n return feedRequest$.pipe(\r\n switchMap((request) => {\r\n this.userId = request.userId;\r\n this.setError(null);\r\n this.setLoading(true);\r\n // call API to first user posts\r\n return this.feedService.fetchInitialUserPosts(request.pageSize).pipe(\r\n tapResponse(\r\n (feedResults) => {\r\n this.setPosts(feedResults.posts);\r\n this.setHasMoreResults(feedResults.hasMoreResults);\r\n this.setLoading(false);\r\n },\r\n (err: any) => {\r\n this.onApiError(err);\r\n }));\r\n }))\r\n });\r\n \r\n /**\r\n * call API to get next page of user feed posts\r\n * \r\n * Called when \"load more\" is selected\r\n *\r\n * */\r\n readonly loadNextUserFeedPage = this.effect((userId$: Observable) => {\r\n return userId$.pipe(\r\n withLatestFrom(this.pageNumber$, this.posts$),\r\n switchMap(([userId, pageNumber, posts]) => {\r\n if (userId !== this.userId) {\r\n // user has changed since we loaded, reload feed\r\n this.initializeUserFeed(userId);\r\n return;\r\n }\r\n \r\n this.setError(null);\r\n this.setLoading(true);\r\n const lastActivityPostId = posts[posts.length - 1].id;\r\n const nextPageNumber = pageNumber + 1;\r\n // call API to first user posts\r\n return this.feedService.fetchNextUserPosts(this.PAGE_SIZE, nextPageNumber, lastActivityPostId).pipe(\r\n tapResponse(\r\n (feedResults) => {\r\n this.addPosts(feedResults.posts);\r\n this.setPageNumber(nextPageNumber);\r\n this.setHasMoreResults(feedResults.hasMoreResults);\r\n this.setLoading(false);\r\n },\r\n (err: any) => {\r\n this.onApiError(err);\r\n }));\r\n }))\r\n });\r\n}\r\n", "import { Injectable } from \"@angular/core\";\r\nimport { tapResponse } from '@ngrx/operators';\r\n\r\nimport { TeamMember } from \"@pepconnect/features/teams/models/team-member.model\";\r\nimport { BaseFeedStore } from \"@pepconnect/shared/feed/base/base-feed.store\";\r\nimport { FeedService } from \"@pepconnect/shared/feed/services/feed.service\";\r\nimport { Observable, switchMap, withLatestFrom } from \"rxjs\";\r\n\r\n@Injectable()\r\nexport class TeamFeedStore extends BaseFeedStore {\r\n constructor(\r\n private feedService: FeedService\r\n ) {\r\n super();\r\n }\r\n\r\n /**\r\n * call API to get team feed posts\r\n * \r\n * Called once when feed is being initalized for auth users only\r\n *\r\n * */\r\n readonly initializeTeamFeed = this.effect((teamMember$: Observable) => {\r\n return teamMember$.pipe(\r\n switchMap((teamMember) => {\r\n this.setError(null);\r\n this.setLoading(true);\r\n // call API to first user posts\r\n return this.feedService.fetchInitialTeamPosts(teamMember?.team?.teamID, this.PAGE_SIZE).pipe(\r\n tapResponse(\r\n (feedResults) => {\r\n this.setPosts(feedResults.posts);\r\n this.setPageNumber(1);\r\n this.setHasMoreResults(feedResults.hasMoreResults);\r\n this.setLoading(false);\r\n },\r\n (err: any) => {\r\n // note: API returns 404 here when there are no posts\r\n // we want to ignore that error and just show an empty feed\r\n // 500 errors and other serious errors are handled by http interceptor\r\n this.setHasMoreResults(false);\r\n this.setLoading(false);\r\n }));\r\n }))\r\n });\r\n\r\n /**\r\n * call API to get a specific number of user feed posts\r\n * \r\n * Called when the page needs to be refreshed in its current state\r\n * */\r\n readonly reloadFeedRange = this.effect((feedRequest$: Observable<{ teamMember: TeamMember, pageSize: number }>) => {\r\n return feedRequest$.pipe(\r\n switchMap((request) => {\r\n this.setError(null);\r\n this.setLoading(true);\r\n // call API to first user posts\r\n return this.feedService.fetchInitialTeamPosts(request.teamMember?.team?.teamID, request.pageSize).pipe(\r\n tapResponse(\r\n (feedResults) => {\r\n this.setPosts(feedResults.posts);\r\n this.setHasMoreResults(feedResults.hasMoreResults);\r\n this.setLoading(false);\r\n },\r\n (err: any) => {\r\n // note: API returns 404 here when there are no posts\r\n // we want to ignore that error and just show an empty feed\r\n // 500 errors and other serious errors are handled by http interceptor\r\n this.setHasMoreResults(false);\r\n this.setLoading(false);\r\n }));\r\n }));\r\n });\r\n\r\n /**\r\n * call API to get next page of team feed posts\r\n * \r\n * Called when \"load more\" is selected\r\n *\r\n * */\r\n readonly loadNextTeamFeedPage = this.effect((teamMember$: Observable) => {\r\n return teamMember$.pipe(\r\n withLatestFrom(this.pageNumber$, this.posts$),\r\n switchMap(([teamMember, pageNumber, posts]) => {\r\n this.setError(null);\r\n this.setLoading(true);\r\n const lastActivityPostId = posts[posts.length - 1].id;\r\n const nextPageNumber = pageNumber + 1;\r\n return this.feedService.fetchNextTeamPosts(teamMember?.team?.teamID, this.PAGE_SIZE, nextPageNumber, lastActivityPostId).pipe(\r\n tapResponse(\r\n (feedResults) => {\r\n this.addPosts(feedResults.posts);\r\n this.setPageNumber(nextPageNumber);\r\n this.setHasMoreResults(feedResults.hasMoreResults);\r\n this.setLoading(false);\r\n },\r\n (err: any) => {\r\n this.onApiError(err);\r\n }));\r\n }))\r\n });\r\n}\r\n", "import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\nimport { Team } from '@pepconnect/features/teams/models/team.model';\r\nimport { subscriptionDefaultImage } from '@pepconnect/functions/default-image';\r\nimport { Subscription } from '@pepconnect/models/subscription/subscription.model';\r\n\r\n@Component({\r\n selector: 'app-subscription-post',\r\n templateUrl: './subscription-post.component.html',\r\n styleUrls: ['./subscription-post.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class SubscriptionPostComponent {\r\n @Input() subscription: Subscription;\r\n @Input() team: Team;\r\n\r\n get backgroundImage() {\r\n return this.subscription?.imagePath || subscriptionDefaultImage(this.subscription?.type?.name);\r\n }\r\n}\r\n", "
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{ 'LABEL_PEPCONNECTIONS_REQUIRED_MESSAGE_SHORT' | translate }}\r\n
\r\n
\r\n", "import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\nimport { defaultImage } from '@pepconnect/functions/default-image';\r\nimport { V1LearningObject } from '@pepconnect/models/content/learning-object-v1.model';\r\n\r\n@Component({\r\n selector: 'app-content-post',\r\n templateUrl: './content-post.component.html',\r\n styleUrls: ['./content-post.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class ContentPostComponent {\r\n @Input() content: V1LearningObject;\r\n \r\n get backgroundImage() {\r\n return this.content?.imagePath || defaultImage(this.content?.type);\r\n }\r\n\r\n}\r\n", "
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n", "import { Component, Input } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { constants } from '@pepconnect/constants/constants';\r\nimport { EventOfferingPresenter } from '@pepconnect/models/events/event-offering-presenter.model';\r\nimport { EventOffering } from '@pepconnect/models/events/event-offering.model';\r\n\r\n@Component({\r\n selector: 'app-event-post',\r\n templateUrl: './event-post.component.html',\r\n styleUrls: ['./event-post.component.scss']\r\n})\r\nexport class EventPostComponent {\r\n @Input() offering: EventOffering;\r\n\r\n constructor(public translateService: TranslateService) { }\r\n\r\n get backgroundImage() {\r\n return this.offering?.event?.imagePath || constants.DEFAULT_IMAGE_EVENT;\r\n }\r\n\r\n getExternalInstructors() {\r\n const instructors = this.offering?.eventOfferingPersonnel?.filter(p => p.type === 'Instructor')\r\n .sort((a: EventOfferingPresenter, b: EventOfferingPresenter) => a.firstName > b.firstName ? 1 : -1)\r\n .map(function (i) {\r\n return `${i.firstName} ${i.lastName}`;\r\n });\r\n\r\n return this.getInstructorList(instructors);\r\n }\r\n\r\n getInstructors() {\r\n const instructors = this.offering?.instructors?.map(function (i) {\r\n return i.name;\r\n });\r\n\r\n return this.getInstructorList(instructors);\r\n }\r\n\r\n private getInstructorList(instructors: string[]) {\r\n if (instructors?.length)\r\n return `${this.translateService.instant('TEXT_WITH')} ${instructors.join(', ')}`;\r\n else\r\n return '';\r\n }\r\n}\r\n", "
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n {{offering?.startDate | date: 'mediumDate'}} {{offering?.startDate | date: 'shortTime'}} {{offering?.startDateTimezone?.abbreviation}}\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n", "import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core';\r\nimport { UserLearningPlan } from '@pepconnect/models/plan/user-learning-plan.model';\r\n\r\n@Component({\r\n selector: 'app-plan-post',\r\n templateUrl: './plan-post.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class PlanPostComponent {\r\n @Input() plan: UserLearningPlan;\r\n}\r\n", "
\r\n
\r\n
\r\n
{{ plan?.plan?.name}}
\r\n {{ 'LEARNING_STATUS_DUE' | translate}} {{ plan.dueDate | date: 'longDate'}}\r\n
\r\n
\r\n", "import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\nimport { TeamMember } from '@pepconnect/features/teams/models/team-member.model';\r\n\r\n@Component({\r\n selector: 'app-team-post',\r\n templateUrl: './team-post.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class TeamPostComponent {\r\n @Input() teamMember: TeamMember;\r\n}\r\n", "
\r\n \r\n
\r\n", "import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\r\n\r\ndeclare const cloudMedia: any;\r\n\r\n@Component({\r\n selector: 'app-video-post',\r\n templateUrl: './video-post.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class VideoPostComponent implements OnInit {\r\n cloudMedia: any;\r\n\r\n ngOnInit(): void {\r\n this.cloudMedia = cloudMedia;\r\n }\r\n\r\n}\r\n", "

\r\n\r\n \r\n\r\n", "import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core';\r\nimport { ActivityType } from '@pepconnect/shared/feed/enums/activity-type.enum';\r\nimport { FeedService } from '@pepconnect/shared/feed/services/feed.service';\r\n\r\n@Component({\r\n selector: 'app-post-container',\r\n templateUrl: './post-container.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class PostContainerComponent implements OnInit {\r\n @Input() type: string\r\n iconClass: string;\r\n\r\n constructor(private feedService: FeedService) { }\r\n\r\n ngOnInit(): void {\r\n const activityType: ActivityType = ActivityType[this.type];\r\n \r\n if (activityType)\r\n this.iconClass = `${this.feedService.getActivityIconClass(activityType)} icon-color`;\r\n }\r\n}\r\n", "
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n", "import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Store } from '@ngrx/store';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { LinkRel } from '@pepconnect/enums/link-rel.enum';\r\nimport { TermTypes } from '@pepconnect/enums/term-types.enum';\r\nimport { CartService } from '@pepconnect/features/checkout/services/cart.service';\r\nimport { TeamsModalsService } from '@pepconnect/features/teams/services/teams-modals.service';\r\nimport { TeamsService } from '@pepconnect/features/teams/services/teams.service';\r\nimport { CertificateItem } from '@pepconnect/models/certificates/certificate.model';\r\nimport { Link } from '@pepconnect/models/general/link.model';\r\nimport { ResponseMessage } from '@pepconnect/models/general/response-message.model';\r\nimport { AnalyticsService } from '@pepconnect/services/analytics.service';\r\nimport { EventsService } from '@pepconnect/services/content/events.service';\r\nimport { LinksService } from '@pepconnect/services/links.service';\r\nimport { ModalsService } from '@pepconnect/services/modals.service';\r\nimport { SubscriptionService } from '@pepconnect/services/subscription.service';\r\nimport { WindowPopupService } from '@pepconnect/services/window-popup.service';\r\nimport { BaseFeedComponent } from '@pepconnect/shared/feed/base/base-feed.component';\r\nimport { ActivityFeedStore } from '@pepconnect/shared/feed/components/activity-feed/activity-feed.store';\r\nimport { ActivityType } from '@pepconnect/shared/feed/enums/activity-type.enum';\r\nimport { ActivityPost } from '@pepconnect/shared/feed/models/activity-post.model';\r\nimport { AppState } from '@pepconnect/state/index';\r\nimport { switchMap, take } from 'rxjs';\r\n\r\ndeclare const cloudMedia: any;\r\n\r\n@Component({\r\n selector: 'app-activity-post',\r\n templateUrl: './activity-post.component.html',\r\n styleUrls: ['./activity-post.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class ActivityPostComponent extends BaseFeedComponent {\r\n @Input() post: ActivityPost;\r\n @Output() onSuccessAction = new EventEmitter();\r\n\r\n constructor(\r\n protected store: Store,\r\n protected activityFeedStore: ActivityFeedStore,\r\n private router: Router,\r\n private modalService: ModalsService,\r\n private linksService: LinksService,\r\n private windowPopup: WindowPopupService,\r\n private translateService: TranslateService,\r\n private teamsService: TeamsService,\r\n private cartService: CartService,\r\n private eventsService: EventsService,\r\n private teamsModalsService: TeamsModalsService,\r\n private analyticsService: AnalyticsService,\r\n private subscriptionService: SubscriptionService,\r\n ) {\r\n super(store, activityFeedStore);\r\n }\r\n\r\n gotoPage(item: any) {\r\n this.linksService.gotoPage(item);\r\n }\r\n\r\n gotoPlan() {\r\n if (this.post?.plan?.active) {\r\n this.$authState.pipe(take(1))\r\n .subscribe(authState => {\r\n this.router.navigate([authState.user.locale.locale, 'plan']);\r\n });\r\n }\r\n }\r\n\r\n isShareLink(action: Link) {\r\n return action?.rel === LinkRel.activityShare || action.rel === LinkRel.activityShareObject;\r\n }\r\n\r\n showNonShareLink(action: Link) {\r\n // to hide the member join/accept/deny links\r\n return !this.isShareLink(action) &&\r\n action?.rel !== LinkRel.memberRequestAccess &&\r\n action?.rel !== LinkRel.memberAcceptInvite &&\r\n action?.rel !== LinkRel.memberDenyInvite\r\n }\r\n\r\n\r\n isPrimaryLink(action: Link) {\r\n // we are trying not to use .cssClass\r\n // the activity feed is going away\r\n // referring to it here temporarily to avoid having to remap all the actions to primary/secondary actions or update API\r\n return action.cssClass === 'btn-primary' || action.cssClass === 'btn-pay';\r\n }\r\n\r\n hasEulaLink() {\r\n // don't show EULA for group member actions, they just redirect to group page\r\n return this.post?.actions?.some(a => a.requireEULA && a.rel !== LinkRel.memberRequestAccess && a.rel !== LinkRel.memberDenyInvite && a.rel !== LinkRel.memberAcceptInvite);\r\n }\r\n\r\n linkClick(action: Link) {\r\n switch (action?.rel) {\r\n case LinkRel.activityAbout:\r\n case LinkRel.activityExplore:\r\n case LinkRel.activityGroupDetails:\r\n case LinkRel.activityFindSubscription:\r\n case LinkRel.activitySearchGroups:\r\n case LinkRel.page:\r\n case LinkRel.activityAddCredits:\r\n case LinkRel.join:\r\n if (this.post?.plan)\r\n this.gotoPlan();\r\n else\r\n this.linksService.gotoLink(action);\r\n break;\r\n case LinkRel.activityLaunchPromo:\r\n this.windowPopup.openPopupWindow(\r\n cloudMedia.Utils.cloudTransformUrl(this.translateService.instant(action.href))\r\n );\r\n break;\r\n case LinkRel.ownerPurchase:\r\n case LinkRel.ownerRenew:\r\n this.ownerPurchaseRenew();\r\n break;\r\n case LinkRel.printCertificate:\r\n this.printCertificate();\r\n break;\r\n case LinkRel.sso:\r\n case LinkRel.external:\r\n this.launchSubscriptionWithPrivacyCheck(action);\r\n break;\r\n case LinkRel.unregister:\r\n this.cancelRegistration();\r\n break;\r\n default:\r\n this.doPostAction(action);\r\n break;\r\n\r\n }\r\n }\r\n\r\n launchSubscription(action: Link) {\r\n this.$userCountry.pipe(take(1), switchMap(c => this.subscriptionService.recordLaunch(c.code, this.post?.subscription?.friendlyURL)))\r\n .pipe(take(1))\r\n .subscribe({\r\n next: () => {\r\n if (action.rel === LinkRel.external) {\r\n this.launchSubscriptionExternal();\r\n } else {\r\n this.windowPopup.openPopupWindow(action.href);\r\n }\r\n }, error: (err) => {\r\n this.activityFeedStore.setError(err);\r\n }\r\n });\r\n }\r\n\r\n launchSubscriptionExternal() {\r\n this.subscriptionService.getExternalLaunch(this.post?.subscription?.subscriptionID)\r\n .pipe(take(1))\r\n .subscribe({\r\n next: (res) => {\r\n this.windowPopup.openPopupWindow(res);\r\n }, error: (err) => {\r\n this.activityFeedStore.setError(err);\r\n }\r\n });\r\n }\r\n\r\n\r\n // don't allow them to select completed plans\r\n isPlanSelectable() {\r\n return this.post?.activityType !== ActivityType.FEED_TEAM_PLAN_COMPLETED;\r\n }\r\n\r\n shareClick() {\r\n this.modalService.definitions.openSocialLinksModal();\r\n }\r\n\r\n cancelRegistration() {\r\n if (this.post?.offering?.isRefundable && this.post?.offering?.orderGuid) {\r\n this.modalService.definitions.openRefundModal(this.post?.offering?.orderGuid).afterClosed$.subscribe((r) => {\r\n if (r?.refundSuccess) {\r\n this.doPostEventCancel()\r\n }\r\n });\r\n }\r\n else {\r\n this.eventsService.cancelRegistration(this.post?.offering)\r\n .pipe(take(1))\r\n .subscribe(\r\n () => this.doPostEventCancel()\r\n );\r\n }\r\n }\r\n\r\n private doPostAction(action: Link) {\r\n this.linksService.postAction(action, true).pipe(take(1))\r\n .subscribe((res) => {\r\n this.analyticsService.trackGroup({ action: 'group.join', data: { group: { name: this.post?.team?.name } } });\r\n this.onSuccessAction.emit(true);\r\n });\r\n }\r\n\r\n private doPostEventCancel() {\r\n this.onSuccessAction.emit(true);\r\n // dispatch message to other components\r\n }\r\n\r\n private sendMemberRequest(action: Link) {\r\n this.linksService.postAction(action, true).pipe(take(1)).subscribe(res => {\r\n if ((res).message === 'MEMBER_INVITE_COUNTRY_WARNING') {\r\n this.teamsModalsService.definitions.openGroupCountryWarningModal();\r\n }\r\n this.onSuccessAction.emit(true);\r\n });\r\n }\r\n\r\n private ownerPurchaseRenew() {\r\n if ((this.post?.team?.friendlyURL) && (this.post?.subscription?.subscriptionID)) {\r\n this.teamsService.fetchTeamMember(this.post?.team?.friendlyURL).pipe(take(1)).\r\n subscribe(teamMember => {\r\n const orderItem = { subscriptionId: this.post.subscription.subscriptionID, itemType: 14, teamMemberId: teamMember.id };\r\n this.cartService.initialize(orderItem, this.router.url);\r\n this.cartService.checkout();\r\n })\r\n }\r\n }\r\n\r\n private printCertificate() {\r\n // could be a learningObject cert or event offering cert\r\n // so prepare the certificateItem for modal data\r\n const item: CertificateItem = {\r\n title: this.post?.offering?.name ? this.post?.offering?.name : this.post?.learningObject?.title, // modal title\r\n links: this.post?.offering?.links ? this.post?.offering?.links : this.post?.learningObject?.links, // gets 'self' link to fetch all certificates\r\n instructors: this.post?.offering?.instructors ? this.post?.offering?.instructors : null, // identifier for Events\r\n roster: this.post?.offering?.roster ? this.post?.offering?.roster : null, // identifier for Events\r\n id: this.post?.learningObject?.id ? this.post?.learningObject?.id : null, // identifier for LearningObject\r\n completionTypeId: this.post?.learningObject?.completionTypeId ? this.post?.learningObject?.completionTypeId : null // identifier for LearningObject\r\n }\r\n\r\n this.modalService.definitions.openCertificateModal(item, false, '');\r\n }\r\n\r\n private launchSubscriptionWithPrivacyCheck(action: Link) {\r\n if (this.post?.subscription?.needsPrivacyNotice) {\r\n this.modalService.definitions.openSubscriptionTermsModal(TermTypes.SSOTerms, this.post?.subscription?.subscriptionID).subscribe(result => {\r\n // If true result, member has accepted terms\r\n if (result) {\r\n this.launchSubscription(action);\r\n }\r\n });\r\n }\r\n else {\r\n this.launchSubscription(action);\r\n }\r\n }\r\n\r\n}\r\n", "\r\n

\r\n {{post.date | date: 'longDate'}} {{post.date | date: 'shortTime'}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {{'EULA_PRELINK_TEXT' | translate}} \r\n
\r\n
\r\n\r\n", "class FeedConstants {\r\n maxCommentLength: 500;\r\n}\r\n\r\nexport const feedConstants = new FeedConstants();\r\n", "import { Component, OnInit, inject } from '@angular/core';\r\nimport { UserPost } from '@pepconnect/shared/feed/models/user-post.model';\r\nimport { FeedModalService } from '@pepconnect/shared/feed/services/feed-modal.service';\r\n\r\n@Component({\r\n selector: 'app-user-post-image-viewer',\r\n templateUrl: './user-post-image-viewer.component.html',\r\n styleUrls: ['./user-post-image-viewer.component.scss']\r\n})\r\nexport class UserPostImageViewerComponent implements OnInit {\r\n public static modalId = 'img-viewer';\r\n private modalsService = inject(FeedModalService);\r\n\r\n post: UserPost;\r\n\r\n ngOnInit(): void {\r\n this.post = this.modalsService.getModalData(UserPostImageViewerComponent.modalId);\r\n }\r\n}\r\n", "\"image-file\"\r\n", "import { Observable } from \"rxjs\";\r\n\r\nexport function getImageDimensions(imageUrl): Observable<{height: number, width: number}> {\r\n return new Observable((observer) => {\r\n const img = new Image();\r\n img.onload = () => {\r\n observer.next({height: img.height, width: img.width});\r\n observer.complete();\r\n };\r\n img.src = imageUrl;\r\n });\r\n}\r\n", "import { DialogService } from \"@ngneat/dialog\";\r\nimport { BaseModalsService } from \"@pepconnect/shared/base/base-modal-service/base-modal-service\";\r\nimport { UserPostImageViewerComponent } from \"../components/user-post/user-post-image-viewer/user-post-image-viewer.component\";\r\nimport { UserPost } from \"../models/user-post.model\";\r\nimport { Injectable, inject } from \"@angular/core\";\r\nimport { getImageDimensions } from \"@pepconnect/utils/image-helpers\";\r\nimport { firstValueFrom } from \"rxjs\";\r\nimport { WINDOW } from \"@pepconnect/providers/window-provider\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class FeedModalService extends BaseModalsService {\r\n\r\n definitions = new ModalDefinitions(this);\r\n constructor(protected modalService: DialogService) { super(modalService) }\r\n}\r\n\r\nclass ModalDefinitions {\r\n private readonly window = inject(WINDOW);\r\n constructor(private modalsService: FeedModalService) {}\r\n\r\n async openViewImage(post: UserPost) {\r\n const { height, width } = await firstValueFrom(getImageDimensions(post.mediaUrl));\r\n if(height > this.window.screen.availHeight) {\r\n // img is bigger than the screen\r\n this.modalsService.create(\r\n UserPostImageViewerComponent.modalId,\r\n UserPostImageViewerComponent,\r\n { data: post, size: 'fullscreen', resizable: true, draggable: true }\r\n )\r\n } else {\r\n // img is smaller than the screen\r\n this.modalsService.create(\r\n UserPostImageViewerComponent.modalId,\r\n UserPostImageViewerComponent,\r\n { data: post, height: height + 100, width: width + 100, minHeight: '30vh', minWidth: '60vh', resizable: true, draggable: true, windowClass: 'img-viewer-modal' }\r\n )\r\n }\r\n }\r\n}\r\n", "import { Component } from '@angular/core';\r\nimport { BaseVideoPlayerComponent } from '@pepconnect/shared/base/base-video-player/base-video-player.component';\r\n\r\n/** extend base video player */\r\n\r\n@Component({\r\n selector: 'app-user-post-video-player',\r\n templateUrl: './../../../../base/base-video-player/base-video-player.component.html'\r\n})\r\nexport class UserPostVideoPlayerComponent extends BaseVideoPlayerComponent {\r\n\r\n}\r\n", "\r\n", "import { Component, Input, inject } from '@angular/core';\r\nimport { UserPost } from '@pepconnect/shared/feed/models/user-post.model';\r\nimport { FeedModalService } from '@pepconnect/shared/feed/services/feed-modal.service';\r\n\r\n/** Display either image or video */\r\n\r\n@Component({\r\n selector: 'app-user-post-media',\r\n templateUrl: './user-post-media.component.html',\r\n})\r\nexport class UserPostMediaComponent {\r\n @Input() post: UserPost;\r\n private readonly feedModalService = inject(FeedModalService);\r\n\r\n viewImage() {\r\n this.feedModalService.definitions.openViewImage(this.post);\r\n }\r\n}\r\n", "
\r\n \"image-file\"\r\n \r\n \r\n \r\n
\r\n", "import { Component, EventEmitter, inject, Input, OnInit, Output } from '@angular/core';\r\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { Store } from '@ngrx/store';\r\nimport { Team } from '@pepconnect/features/teams/models/team.model';\r\nimport { TeamStore } from '@pepconnect/features/teams/teams.store';\r\nimport { UserAvatar } from '@pepconnect/models/user/user-avatar.model';\r\nimport { User } from '@pepconnect/models/user/user.model';\r\nimport { AnalyticsService } from '@pepconnect/services/analytics.service';\r\nimport { BaseFeedComponent } from '@pepconnect/shared/feed/base/base-feed.component';\r\nimport { ActivityFeedStore } from '@pepconnect/shared/feed/components/activity-feed/activity-feed.store';\r\nimport { TeamFeedStore } from '@pepconnect/shared/feed/components/team-feed/team-feed.store';\r\nimport { feedConstants } from '@pepconnect/shared/feed/constants/feed-constants';\r\nimport { UserPostEvent } from '@pepconnect/shared/feed/models/user-post-event.model';\r\nimport { UserPost } from '@pepconnect/shared/feed/models/user-post.model';\r\nimport { FeedService } from '@pepconnect/shared/feed/services/feed.service';\r\nimport { AppState } from '@pepconnect/state/index';\r\nimport { takeUntil } from 'rxjs';\r\n\r\ntype EditCommentForm = {\r\n editCommentText: FormControl\r\n}\r\n\r\n@Component({\r\n selector: 'app-user-comment',\r\n templateUrl: './user-comment.component.html',\r\n styleUrls: ['./user-comment.component.scss']\r\n})\r\n\r\n/** This component houses all the comments including parent post with child(replies)\r\n * and enable replies if allowed --> flag comes from as \"allowComments\"\r\n * from API */\r\nexport class UserCommentComponent extends BaseFeedComponent implements OnInit {\r\n readonly teamMember$ = this.teamStore.$teamMember;\r\n readonly post$ = this.activityFeedStore.posts$;\r\n readonly maxCommentLength = +feedConstants.maxCommentLength;\r\n\r\n @Input() commentPost: UserPost;\r\n @Input() parentCommentPost: UserPost;\r\n @Input() placeholder: string;\r\n @Input() saveButtonText: string;\r\n @Input() isActivityPage: boolean;\r\n @Input() team: Team;\r\n @Input() isDepthLevelOne: boolean; // used for conditional labels on parent comment i.e. child comments are excluded\r\n\r\n @Output() onUserPostComment = new EventEmitter();\r\n\r\n showEdit = false;\r\n editCommentForm: FormGroup;\r\n commenter: UserAvatar;\r\n editable: boolean;\r\n loggedInUser: User;\r\n\r\n private fb = inject(FormBuilder);\r\n\r\n // constructor is full per sonar. Use static inject instead for any new deps.\r\n constructor(\r\n protected store: Store,\r\n protected teamFeedStore: TeamFeedStore,\r\n private teamStore: TeamStore,\r\n private feedService: FeedService,\r\n private activityFeedStore: ActivityFeedStore,\r\n private router: Router,\r\n private analyticsService: AnalyticsService) { super(store, teamFeedStore); }\r\n\r\n ngOnInit(): void {\r\n this.setupEditCommentForm();\r\n\r\n this.editable = false;\r\n this.$authState.pipe(takeUntil(this.ngUnsubscribe)).subscribe(authState => {\r\n this.loggedInUser = authState.user;\r\n if (this.commentPost) {\r\n this.editable = authState.user.id === this.commentPost.user?.id;\r\n this.commenter = {\r\n firstname: this.commentPost.user?.firstname,\r\n lastname: this.commentPost.user?.lastname,\r\n avatar: this.commentPost.user?.imageURL\r\n }\r\n } else {\r\n if (!this.parentCommentPost) {\r\n throw new Error(\"userPostID or commentPost is required\");\r\n }\r\n\r\n this.editable = true;\r\n this.commenter = {\r\n firstname: authState.user?.firstname,\r\n lastname: authState.user?.lastname,\r\n avatar: authState.user?.imageURL\r\n }\r\n }\r\n\r\n });\r\n }\r\n\r\n get isNewComment() {\r\n return !this.commentPost;\r\n }\r\n\r\n toggleEdit() {\r\n if (!this.editable) {\r\n return;\r\n }\r\n\r\n this.showEdit = !this.showEdit;\r\n }\r\n\r\n setupEditCommentForm() {\r\n this.editCommentForm = this.fb.group({\r\n editCommentText: this.fb.control(this.commentPost?.message, [Validators.maxLength(this.maxCommentLength)])\r\n })\r\n }\r\n\r\n get f() {\r\n return this.editCommentForm?.controls;\r\n }\r\n\r\n onSubmit() {\r\n if (!this.editCommentForm || this.editCommentForm.invalid) {\r\n return;\r\n }\r\n\r\n const editCommentText = this.f.editCommentText.value;\r\n let inEditPost = Object.assign(this.commentPost ?? {}, { message: editCommentText }) as UserPost;\r\n\r\n if (this.commentPost) {\r\n this.feedService.editUserPost(inEditPost).pipe(takeUntil(this.ngUnsubscribe)).subscribe({\r\n next: (res: any) => {\r\n this.onUserPostComment.emit({\r\n userPost: inEditPost,\r\n parentUserPostId: null\r\n });\r\n this.commentPost.message = res as string;\r\n this.f.editCommentText.setValue(res as string);\r\n this.f.editCommentText.markAsPristine();\r\n this.f.editCommentText.markAsUntouched();\r\n this.showEdit = false;\r\n }\r\n });\r\n } else {\r\n this.feedService.postComment(this.parentCommentPost.teamID, this.parentCommentPost.userPostID, inEditPost)\r\n .pipe(takeUntil(this.ngUnsubscribe)).subscribe({\r\n next: (res) => {\r\n this.analyticsService.trackGroup({ action: 'group.comment', data: { group: { name: this.team.name } } });\r\n this.onUserPostComment.emit({\r\n userPost: res,\r\n parentUserPostId: this.parentCommentPost.userPostID\r\n });\r\n this.f.editCommentText.setValue('');\r\n this.f.editCommentText.markAsPristine();\r\n this.f.editCommentText.markAsUntouched();\r\n this.showEdit = false;\r\n }\r\n });\r\n }\r\n };\r\n\r\n cancelForm() {\r\n this.showEdit = false;\r\n }\r\n\r\n goToTeam() {\r\n if (!this.isActivityPage) {\r\n return;\r\n }\r\n\r\n // route to group details page\r\n this.router.navigate([this.loggedInUser.locale.locale, 'groups', this.team?.friendlyURL]);\r\n }\r\n\r\n}\r\n", "
\r\n \r\n
\r\n \r\n
\r\n

{{commenter.firstname }} {{commenter.lastname}}

\r\n

 in 

\r\n

\r\n {{team?.name}}\r\n

\r\n
\r\n
\r\n \r\n {{commentPost?.modifiedDate | date: \"longDate\"}}\r\n \r\n \r\n {{commentPost?.modifiedDate | date: \"shortDate\"}}\r\n {{commentPost?.modifiedDate | date: \"shortTime\"}}\r\n \r\n
\r\n {{commentPost?.message}}\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n {{ 'REQUIRED_FIELD' | translate }}\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n", "import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { provideComponentStore } from '@ngrx/component-store';\r\nimport { Store } from '@ngrx/store';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { LinkRel } from '@pepconnect/enums/link-rel.enum';\r\nimport { Team } from '@pepconnect/features/teams/models/team.model';\r\nimport { TeamStore } from '@pepconnect/features/teams/teams.store';\r\nimport { Link } from '@pepconnect/models/general/link.model';\r\nimport { User } from '@pepconnect/models/user/user.model';\r\nimport { BaseFeedComponent } from '@pepconnect/shared/feed/base/base-feed.component';\r\nimport { ActivityFeedStore } from '@pepconnect/shared/feed/components/activity-feed/activity-feed.store';\r\nimport { TeamFeedStore } from '@pepconnect/shared/feed/components/team-feed/team-feed.store';\r\nimport { UserCommentComponent } from '@pepconnect/shared/feed/components/user-post/user-comment/user-comment.component';\r\nimport { feedConstants } from '@pepconnect/shared/feed/constants/feed-constants';\r\nimport { ActivityPost } from '@pepconnect/shared/feed/models/activity-post.model';\r\nimport { UserPost } from '@pepconnect/shared/feed/models/user-post.model';\r\nimport { FeedService } from '@pepconnect/shared/feed/services/feed.service';\r\nimport { AppState } from '@pepconnect/state/index';\r\nimport { of, takeUntil } from 'rxjs';\r\nimport { UserPostEvent } from '../../models/user-post-event.model';\r\n\r\n@Component({\r\n selector: 'app-user-post',\r\n templateUrl: './user-post.component.html',\r\n styleUrls: ['./user-post.component.scss'],\r\n providers: [provideComponentStore(ActivityFeedStore)]\r\n})\r\nexport class UserPostComponent extends BaseFeedComponent implements OnInit {\r\n @Input() isActivityPage: boolean;\r\n @Input() post: ActivityPost;\r\n @Output() onUserPostComment = new EventEmitter();\r\n @Output() onUserPostDelete = new EventEmitter();\r\n @Output() onPostModify = new EventEmitter();\r\n\r\n readonly teamMember$ = this.teamStore.$teamMember;\r\n readonly maxCommentLength = +feedConstants.maxCommentLength;\r\n loggedInUser: User;\r\n team: Team;\r\n\r\n constructor(protected store: Store,\r\n protected teamFeedStore: TeamFeedStore,\r\n private teamStore: TeamStore,\r\n private feedService: FeedService,\r\n private translate: TranslateService) { super(store, teamFeedStore); }\r\n\r\n ngOnInit(): void {\r\n this.$authState.pipe(takeUntil(this.ngUnsubscribe)).subscribe(authState => {\r\n this.loggedInUser = authState.user;\r\n });\r\n\r\n this.team = this.post?.team;\r\n }\r\n\r\n get postContent() {\r\n return `${this.post?.userPost?.user?.firstname} ${this.post?.userPost?.user?.lastname} in ${this.post?.team?.name}`;\r\n }\r\n\r\n fileAction(commentComponent: UserCommentComponent, comment: UserPost, action: Link, $event: Event, el: HTMLElement) {\r\n (el as any)._onClose();\r\n $event.stopPropagation();\r\n $event.preventDefault();\r\n\r\n switch (action.rel) {\r\n case LinkRel.editUserPost:\r\n commentComponent.toggleEdit();\r\n break;\r\n case LinkRel.deleteUserPost:\r\n const confirmMessage = this.translate.instant('ACTIVITY_DELETE_POST_CONFIRM');\r\n if (confirm(confirmMessage)) {\r\n this.feedService.deleteUserPost(comment.teamID, comment.userPostID).pipe(takeUntil(this.ngUnsubscribe)).subscribe({\r\n next: () => {\r\n this.onUserPostDelete.emit(comment.userPostID);\r\n },\r\n error: (err) => {\r\n return of(null);\r\n }\r\n });\r\n }\r\n break;\r\n case LinkRel.flagPost:\r\n const confirmFlagMessage = this.translate.instant('ACTIVITY_FLAG_POST_CONFIRM');\r\n if (confirm(confirmFlagMessage)) {\r\n this.feedService.flagUserPost(comment).pipe(takeUntil(this.ngUnsubscribe)).subscribe({\r\n next: () => {\r\n this.onPostModify.emit(true);\r\n },\r\n error: (err) => {\r\n return of(null);\r\n }\r\n });\r\n }\r\n break;\r\n case LinkRel.unFlagPost:\r\n const confirmUnFlagMessage = this.translate.instant('ACTIVITY_UNFLAG_POST_CONFIRM');\r\n if (confirm(confirmUnFlagMessage)) {\r\n this.feedService.unflagUserPost(comment).pipe(takeUntil(this.ngUnsubscribe)).subscribe({\r\n next: () => {\r\n this.onPostModify.emit(true);\r\n },\r\n error: (err) => {\r\n return of(null);\r\n }\r\n });\r\n }\r\n break;\r\n }\r\n\r\n }\r\n\r\n hideCommentLabel(count: number, isReply: boolean): string {\r\n if (isReply) {\r\n return '------- ' + this.translate.instant('TEXT_FEED_REPLIES_HIDE').replace('@@COUNT@@', count);\r\n } else {\r\n return this.translate.instant('TEXT_FEED_COMMENTS_HIDE').replace('@@COUNT@@', count);\r\n }\r\n }\r\n\r\n showCommentLabel(count: number, isReply: boolean): string {\r\n if (isReply) {\r\n return '------- ' + this.translate.instant('TEXT_FEED_REPLIES_VIEW').replace('@@COUNT@@', count);\r\n } else {\r\n return this.translate.instant('TEXT_FEED_COMMENTS_VIEW').replace('@@COUNT@@', count);\r\n }\r\n }\r\n\r\n // pass onto parent component\r\n relayEvent(event: UserPostEvent) {\r\n this.onUserPostComment.emit(event);\r\n }\r\n}\r\n", "\r\n
\r\n \r\n\r\n \r\n 1 && c.depth < 3\">\r\n {{'TEXT_REPLY' | translate}}\r\n \r\n \r\n \r\n
\r\n\r\n \r\n
0\">\r\n
\r\n {{hideCommentLabel(c.comment.comments?.length, c.depth > 1)}}\r\n
\r\n
\r\n {{showCommentLabel(c.comment.comments?.length, c.depth > 1)}}\r\n
\r\n
\r\n\r\n \r\n
    0\">\r\n
  • \r\n \r\n \r\n
  • \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n {{action.text | translate}}\r\n \r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n", "import { Component, OnInit } from '@angular/core';\r\nimport { provideComponentStore } from '@ngrx/component-store';\r\nimport { Store } from '@ngrx/store';\r\nimport { constants } from '@pepconnect/constants/constants';\r\nimport { TeamStore } from '@pepconnect/features/teams/teams.store';\r\nimport { UserService } from '@pepconnect/services/user.service';\r\nimport { BaseFeedComponent } from '@pepconnect/shared/feed/base/base-feed.component';\r\nimport { ActivityFeedStore } from '@pepconnect/shared/feed/components/activity-feed/activity-feed.store';\r\nimport { TeamFeedStore } from '@pepconnect/shared/feed/components/team-feed/team-feed.store';\r\nimport { ActivityPost } from '@pepconnect/shared/feed/models/activity-post.model';\r\nimport { AppState } from '@pepconnect/state';\r\nimport { selectAuthState } from '@pepconnect/state/auth/auth.selector';\r\nimport { combineLatest } from 'rxjs';\r\nimport { take } from 'rxjs/operators';\r\nimport { UserPostEvent } from '../../models/user-post-event.model';\r\n\r\n/**\r\n *\r\n * This component is used to display the user's activity feed\r\n * \r\n * */\r\n@Component({\r\n selector: 'app-activity-feed',\r\n templateUrl: './activity-feed.component.html',\r\n styleUrls: ['./activity-feed.component.scss'],\r\n providers: [provideComponentStore(ActivityFeedStore), provideComponentStore(TeamFeedStore), provideComponentStore(TeamStore)]\r\n})\r\nexport class ActivityFeedComponent extends BaseFeedComponent implements OnInit {\r\n readonly authState$ = this.store.select(selectAuthState);\r\n readonly posts$ = this.activityFeedStore.posts$;\r\n readonly hasMoreResults$ = this.activityFeedStore.hasMoreResults$;\r\n showEpt: boolean;\r\n loadFeed: boolean;\r\n\r\n constructor(protected store: Store,\r\n protected activityFeedStore: ActivityFeedStore,\r\n private userService: UserService\r\n ) {\r\n super(store, activityFeedStore);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.setFlags();\r\n }\r\n\r\n /**\r\n * Get launch darkly flags to decide whether to load feed and display EPT\r\n * */\r\n setFlags() {\r\n this.userService.checkFeatureFlag(constants.FLAG_EPT)\r\n .pipe(take(1))\r\n .subscribe(flag => {\r\n this.showEpt = !!flag;\r\n });\r\n\r\n this.userService.checkFeatureFlag(constants.FLAG_LOAD_FEED)\r\n .pipe(take(1))\r\n .subscribe(flag => {\r\n this.loadFeed = !!flag;\r\n if (this.loadFeed) {\r\n this.setupFeed();\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Clears out any existing feed in the store, load current feed\r\n * */\r\n setupFeed() {\r\n this.authState$.pipe(take(1))\r\n .subscribe((authState) => {\r\n this.activityFeedStore.setError(null);\r\n\r\n // if user is not logged in or impersonating, throw message\r\n if (!authState.isInitialized || !authState.isLoggedIn || authState.isImpersonating) {\r\n this.activityFeedStore.setError('You must be logged in and not impersonating to view your activity feed.');\r\n }\r\n else { // user is logged in and not impersonating, setup the store\r\n this.activityFeedStore.initializeUserFeed(authState.user.id);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Called when user selects \"Load More\"\r\n * */\r\n loadMore() {\r\n this.authState$.pipe(take(1))\r\n .subscribe((authState) => {\r\n // if user is not logged in or impersonating, throw message\r\n if (!authState.isLoggedIn || authState.isImpersonating) {\r\n this.activityFeedStore.setError('You must be logged in and not impersonating to view your activity feed.');\r\n }\r\n else { // user is logged in and not impersonating, setup the store\r\n this.activityFeedStore.loadNextUserFeedPage(authState.user.id);\r\n }\r\n });\r\n }\r\n\r\n feedTrackBy(index, post: ActivityPost) {\r\n return post.id;\r\n }\r\n\r\n showFeed() {\r\n this.loadFeed = true;\r\n this.setupFeed();\r\n }\r\n\r\n refreshPage() {\r\n combineLatest([this.authState$, this.posts$]).pipe(take(1))\r\n .subscribe(([authState, posts]) => {\r\n this.activityFeedStore.setError(null);\r\n\r\n // if user is not logged in or impersonating, throw message\r\n if (!authState.isInitialized || !authState.isLoggedIn || authState.isImpersonating) {\r\n this.activityFeedStore.setError('You must be logged in and not impersonating to view your activity feed.');\r\n }\r\n else { // user is logged in and not impersonating, setup the store\r\n this.activityFeedStore.reloadFeedRange({ userId: authState.user.id, pageSize: posts.length });\r\n }\r\n });\r\n }\r\n \r\n applyComment(event: UserPostEvent)\r\n {\r\n this.activityFeedStore.addComment(event);\r\n }\r\n\r\n deleteComment(userPostId: string)\r\n {\r\n this.activityFeedStore.deleteComment(userPostId);\r\n }\r\n}\r\n", "\r\n \r\n \r\n \r\n {{ 'TITLE_ACTIVITYFEED' | translate }}\r\n \r\n \r\n \r\n
\r\n
\r\n
{{'EP_TOOL_LABEL' | translate}}
\r\n

{{'EP_TOOL_DESC' | translate}}

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n {{ feedState.error | translate }}\r\n \r\n
\r\n
\r\n
\r\n
\r\n", "import { Link } from \"@pepconnect/models/general/link.model\";\r\nimport { VJSSources } from \"@pepconnect/models/media/vjs-source.model\";\r\nimport { User } from \"@pepconnect/models/user/user.model\";\r\n\r\nexport interface UserPost {\r\n userPostID: string;\r\n user: User;\r\n message: string;\r\n createDate: string;\r\n modifiedDate: string;\r\n isFlagged: boolean;\r\n isDeleted: boolean;\r\n actions: Link[];\r\n comments: UserPost[];\r\n teamID: string;\r\n allowComments: boolean;\r\n mediaUrl?: string;\r\n mediaSize?: number;\r\n mediaType?: string;\r\n hasVideo?: boolean;\r\n hasImage?: boolean;\r\n videoSources?: VJSSources;\r\n formattedImage?: string;\r\n}\r\n\r\nexport function defaultUserPostFactory(): UserPost {\r\n return {\r\n userPostID: '',\r\n user: null,\r\n message: '',\r\n createDate: '',\r\n modifiedDate: '',\r\n isFlagged: false,\r\n isDeleted: false,\r\n actions: [],\r\n comments: [],\r\n teamID: '',\r\n allowComments: false,\r\n } as UserPost;\r\n}\r\n", "import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { constants } from '@pepconnect/constants';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-post-file-uploader',\r\n templateUrl: './post-file-uploader.component.html'\r\n})\r\n\r\nexport class PostFileUploaderComponent {\r\n attachmentsAccept = ['.gif', '.jpg', '.jpeg', '.png', '.mp4', '.mov', '.webm', '.mpg', '.avi', '.wmv', '.flv'];\r\n sizeLimit = constants.DEFAULT_USER_POST_FILE_SIZE_LIMIT_MB;\r\n\r\n @Input() validationClass: string;\r\n @Input() label: string;\r\n @Input() reset$: Subject;\r\n @Output() selected = new EventEmitter();\r\n @Output() fileError = new EventEmitter();\r\n\r\n onSelection($event) {\r\n this.selected.emit($event);\r\n }\r\n\r\n onFileError($event) {\r\n this.fileError.emit($event);\r\n }\r\n\r\n}\r\n", "
\r\n \r\n

{{'TEXT_MEDIA_FILE_UPLOADLIMIT' | translate}}

\r\n
", "import { Component, OnInit, inject } from '@angular/core';\r\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { Store } from '@ngrx/store';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { TeamStore } from '@pepconnect/features/teams/teams.store';\r\nimport { AnalyticsService } from '@pepconnect/services/analytics.service';\r\nimport { NotificationService } from '@pepconnect/services/notification.service';\r\nimport { BaseFeedComponent } from '@pepconnect/shared/feed/base/base-feed.component';\r\nimport { feedConstants } from '@pepconnect/shared/feed/constants/feed-constants';\r\nimport { UserPost, defaultUserPostFactory } from '@pepconnect/shared/feed/models/user-post.model';\r\nimport { FeedService } from '@pepconnect/shared/feed/services/feed.service';\r\nimport { Subject, take, takeUntil, withLatestFrom } from 'rxjs';\r\nimport { TeamFeedStore } from '../team-feed.store';\r\nimport { AppState } from '@pepconnect/state/index';\r\nimport { TeamMember } from '@pepconnect/features/teams/models/team-member.model';\r\n\r\ntype AddCommentForm = Required<{\r\n postText: FormControl\r\n}>\r\n\r\n@Component({\r\n selector: 'app-new-user-post-form',\r\n templateUrl: './new-user-post-form.component.html',\r\n styleUrls: ['./new-user-post-form.component.scss']\r\n})\r\nexport class NewUserPostFormComponent extends BaseFeedComponent implements OnInit {\r\n readonly maxCommentLength = +feedConstants.maxCommentLength;\r\n addPostForm: FormGroup;\r\n disablePostButton: boolean = false;\r\n\r\n private readonly teamStore = inject(TeamStore);\r\n private readonly fb = inject(FormBuilder);\r\n private readonly notificationService = inject(NotificationService);\r\n private readonly feedService = inject(FeedService);\r\n private readonly analyticsService = inject(AnalyticsService);\r\n readonly translateService = inject(TranslateService);\r\n\r\n reset$ = new Subject();\r\n\r\n readonly teamMember$ = this.teamStore.$teamMember;\r\n pendingFile: File;\r\n teamMember: TeamMember;\r\n showUploader = false;\r\n fileUploadError: boolean = false;\r\n loading = false;\r\n\r\n constructor(protected store: Store, protected teamFeedStore: TeamFeedStore) {\r\n super(store, teamFeedStore);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.setupForm();\r\n this.setMember();\r\n }\r\n\r\n setMember() {\r\n this.teamMember$.pipe(takeUntil(this.ngUnsubscribe), withLatestFrom(this.checkFeatureFlag('pep-group-owner-upload-media-posts')))\r\n .subscribe(([teamMember, flag]) => {\r\n this.teamMember = teamMember;\r\n this.showUploader = teamMember.isAdmin && flag;\r\n });\r\n }\r\n\r\n get f() {\r\n return this.addPostForm?.controls;\r\n }\r\n\r\n setupForm() {\r\n this.addPostForm = this.fb.nonNullable.group({\r\n postText: this.fb.control('', [Validators.maxLength(this.maxCommentLength)])\r\n });\r\n }\r\n\r\n mediaSelected($event) {\r\n this.pendingFile = $event[0];\r\n this.fileUploadError = false;\r\n }\r\n\r\n onFileUploadError($event) {\r\n this.fileUploadError = $event;\r\n }\r\n\r\n removeAttachment() {\r\n this.pendingFile = null;\r\n this.fileUploadError = false;\r\n }\r\n\r\n // step 1 - check form is valid and data is ok\r\n onSubmit() {\r\n if (!this.addPostForm || this.addPostForm.invalid || this.fileUploadError) {\r\n return;\r\n }\r\n this.disablePostButton = true;\r\n if (this.addPostForm.value.postText !== '' || this.pendingFile && !this.fileUploadError) {\r\n this.createPostRequest();\r\n } else {\r\n this.notificationService.showError(this.translateService.instant('REQUIRED_FIELD_COMMENT'));\r\n this.disablePostButton = false;\r\n }\r\n }\r\n\r\n // step 2 - create the post object and upload the optional media\r\n createPostRequest() {\r\n let newUserPost: UserPost = defaultUserPostFactory();\r\n newUserPost.message = this.addPostForm.value.postText;\r\n\r\n if (this.teamMember && this.pendingFile) {\r\n this.loading = true;\r\n this.feedService.uploadPostMedia(this.teamMember.team.teamID, this.pendingFile).pipe(take(1))\r\n .subscribe({\r\n next: ({ Message }) => {\r\n newUserPost.mediaUrl = Message; // add the media url to the post\r\n newUserPost.mediaSize = this.pendingFile.size; // add the media size to the post\r\n this.pendingFile = null; // reset the pending file\r\n this.sendPostRequest(newUserPost);\r\n }, error: () => {\r\n // todo: handle error\r\n this.disablePostButton = false;\r\n }\r\n });\r\n } else {\r\n this.sendPostRequest(newUserPost);\r\n }\r\n }\r\n\r\n // send it via the feed service\r\n sendPostRequest(newUserPost: UserPost) {\r\n this.feedService.addUserPost(newUserPost, this.teamMember.team.teamID).pipe(take(1))\r\n .subscribe((activityPost) => {\r\n this.analyticsService.trackGroup({ action: 'group.post', data: { group: { name: this.teamMember.team.name } } });\r\n this.addPostForm.get('postText').setValue('');\r\n this.teamFeedStore.addPosts([activityPost]);\r\n this.disablePostButton = false;\r\n this.loading = false;\r\n this.reset$.next();\r\n });\r\n }\r\n\r\n\r\n}\r\n", "\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {{ pendingFile.name }}\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n", "import { Component, inject, Input, OnInit } from '@angular/core';\r\nimport { provideComponentStore } from '@ngrx/component-store';\r\nimport { Store } from '@ngrx/store';\r\nimport { constants } from '@pepconnect/constants/constants';\r\nimport { TeamMember } from '@pepconnect/features/teams/models/team-member.model';\r\nimport { TeamStore } from '@pepconnect/features/teams/teams.store';\r\nimport { UserService } from '@pepconnect/services/user.service';\r\nimport { BaseFeedComponent } from '@pepconnect/shared/feed/base/base-feed.component';\r\nimport { ActivityFeedStore } from '@pepconnect/shared/feed/components/activity-feed/activity-feed.store';\r\nimport { TeamFeedStore } from '@pepconnect/shared/feed/components/team-feed/team-feed.store';\r\nimport { ActivityPost } from '@pepconnect/shared/feed/models/activity-post.model';\r\nimport { AppState } from '@pepconnect/state';\r\nimport { selectAuthState } from '@pepconnect/state/auth/auth.selector';\r\nimport { combineLatest, forkJoin } from 'rxjs';\r\nimport { take } from 'rxjs/operators';\r\nimport { UserPostEvent } from '../../models/user-post-event.model';\r\n\r\n@Component({\r\n selector: 'app-team-feed',\r\n templateUrl: './team-feed.component.html',\r\n styleUrls: ['./team-feed.component.scss'],\r\n providers: [provideComponentStore(TeamFeedStore), provideComponentStore(ActivityFeedStore)]\r\n})\r\nexport class TeamFeedComponent extends BaseFeedComponent implements OnInit {\r\n @Input() member: TeamMember;\r\n private readonly userService = inject(UserService);\r\n private readonly teamStore = inject(TeamStore);\r\n\r\n readonly authState$ = this.store.select(selectAuthState);\r\n readonly teamMember$ = this.teamStore.$teamMember;\r\n readonly posts$ = this.teamFeedStore.posts$;\r\n readonly hasMoreResults$ = this.teamFeedStore.hasMoreResults$;\r\n loadFeed: boolean = false;\r\n\r\n constructor(protected store: Store, protected teamFeedStore: TeamFeedStore) {\r\n super(store, teamFeedStore);\r\n }\r\n\r\n // initialize\r\n ngOnInit(): void {\r\n this.setFlags();\r\n }\r\n\r\n /**\r\n * Clears out any existing feed in the store, load current feed\r\n * */\r\n setupFeed() {\r\n forkJoin([this.authState$.pipe(take(1)), this.teamMember$.pipe(take(1))])\r\n .subscribe(([authState, teamMember]) => {\r\n this.teamFeedStore.setError(null);\r\n\r\n // double check that team member is valid and\r\n if (!teamMember?.team?.teamID) {\r\n this.teamFeedStore.setError('No valid team member.');\r\n } else {\r\n // double check that user is logged in, not impersonating, throw error message\r\n if (!authState.isInitialized || !authState.isLoggedIn || authState.isImpersonating) {\r\n this.teamFeedStore.setError('You must be logged in and not impersonating to view your activity feed.');\r\n }\r\n else {\r\n // user is logged in and not impersonating, setup the store\r\n return this.teamFeedStore.initializeTeamFeed(teamMember);\r\n }\r\n }\r\n });\r\n }\r\n\r\n\r\n /**\r\n * Called when user selects \"Load More\"\r\n * */\r\n loadMore() {\r\n this.teamMember$.pipe(take(1))\r\n .subscribe((teamMember) => {\r\n\r\n if (teamMember) { // user is logged in and not impersonating, setup the store\r\n this.teamFeedStore.loadNextTeamFeedPage(teamMember);\r\n }\r\n });\r\n }\r\n\r\n feedTrackBy(_, post: ActivityPost) {\r\n return post.id;\r\n }\r\n\r\n setFlags() {\r\n this.userService.checkFeatureFlag(constants.FLAG_LOAD_FEED)\r\n .pipe(take(1))\r\n .subscribe(flag => {\r\n this.loadFeed = !!flag;\r\n if (this.loadFeed) {\r\n this.setupFeed();\r\n }\r\n });\r\n }\r\n\r\n showFeed() {\r\n this.loadFeed = true;\r\n this.setupFeed();\r\n }\r\n\r\n refreshPage() {\r\n combineLatest([this.authState$, this.teamMember$, this.posts$]).pipe(take(1))\r\n .subscribe(([authState, teamMember, posts]) => {\r\n this.teamFeedStore.setError(null);\r\n\r\n // if user is not logged in or impersonating, throw message\r\n if (!authState.isInitialized || !authState.isLoggedIn || authState.isImpersonating) {\r\n this.teamFeedStore.setError('You must be logged in and not impersonating to view your activity feed.');\r\n }\r\n else { // user is logged in and not impersonating, setup the store\r\n this.teamFeedStore.reloadFeedRange({ teamMember: teamMember, pageSize: posts.length });\r\n }\r\n });\r\n }\r\n\r\n applyComment(event: UserPostEvent) {\r\n this.teamFeedStore.addComment(event);\r\n }\r\n\r\n deleteComment(userPostId: string) {\r\n this.teamFeedStore.deleteComment(userPostId);\r\n }\r\n}\r\n", "\r\n \r\n \r\n \r\n {{ 'TITLE_ACTIVITYFEED' | translate }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n

{{'TEXT_FEED_NOOWNER' | translate}}

\r\n

{{'TEXT_FEED_COMMENTING_DISABLED' | translate}}

\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n {{ feedState.error | translate }}\r\n \r\n
\r\n
\r\n
\r\n
\r\n", "import { CommonModule } from '@angular/common';\r\nimport { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { MarcomModule } from '@pepconnect-marcom/marcom.module';\r\nimport { TeamsSharedModule } from '@pepconnect/features/teams/teams-shared/teams-shared.module';\r\nimport { BaseFeedComponent } from '@pepconnect/shared/feed/base/base-feed.component';\r\nimport { ActivityFeedComponent } from '@pepconnect/shared/feed/components/activity-feed/activity-feed.component';\r\nimport { ActivityPostComponent } from '@pepconnect/shared/feed/components/activity-post/activity-post.component';\r\nimport { ContentPostComponent } from '@pepconnect/shared/feed/components/activity-post/content-post/content-post.component';\r\nimport { EventPostComponent } from '@pepconnect/shared/feed/components/activity-post/event-post/event-post.component';\r\nimport { PlanPostComponent } from '@pepconnect/shared/feed/components/activity-post/plan-post/plan-post.component';\r\nimport { SubscriptionPostComponent } from '@pepconnect/shared/feed/components/activity-post/subscription-post/subscription-post.component';\r\nimport { TeamPostComponent } from '@pepconnect/shared/feed/components/activity-post/team-post/team-post.component';\r\nimport { VideoPostComponent } from '@pepconnect/shared/feed/components/activity-post/video-post/video-post.component';\r\nimport { PostContainerComponent } from '@pepconnect/shared/feed/components/post-container/post-container.component';\r\nimport { TeamFeedComponent } from '@pepconnect/shared/feed/components/team-feed/team-feed.component';\r\nimport { UserCommentComponent } from '@pepconnect/shared/feed/components/user-post/user-comment/user-comment.component';\r\nimport { UserPostComponent } from '@pepconnect/shared/feed/components/user-post/user-post.component';\r\nimport { SharedModule } from '@pepconnect/shared/module';\r\nimport { ClipboardModule } from 'ngx-clipboard';\r\nimport { NewUserPostFormComponent } from './components/team-feed/new-user-post-form/new-user-post-form.component';\r\nimport { PostFileUploaderComponent } from './components/user-post/post-file-uploader/post-file-uploader.component';\r\nimport { UserPostMediaComponent } from './components/user-post/user-post-media/user-post-media.component';\r\nimport { UserPostVideoPlayerComponent } from './components/user-post/user-post-video-player/user-post-video-player.component';\r\nimport { UserPostImageViewerComponent } from './components/user-post/user-post-image-viewer/user-post-image-viewer.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n BaseFeedComponent,\r\n ActivityFeedComponent,\r\n TeamFeedComponent,\r\n ActivityPostComponent,\r\n UserPostComponent,\r\n UserCommentComponent,\r\n SubscriptionPostComponent,\r\n ContentPostComponent,\r\n EventPostComponent,\r\n PlanPostComponent,\r\n TeamPostComponent,\r\n VideoPostComponent,\r\n PostContainerComponent,\r\n PostFileUploaderComponent,\r\n NewUserPostFormComponent,\r\n UserPostVideoPlayerComponent,\r\n UserPostMediaComponent,\r\n UserPostImageViewerComponent\r\n ],\r\n exports: [\r\n ActivityFeedComponent,\r\n TeamFeedComponent,\r\n PostFileUploaderComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n SharedModule,\r\n MarcomModule,\r\n TranslateModule.forChild({\r\n extend: true\r\n }),\r\n FormsModule,\r\n ReactiveFormsModule,\r\n ClipboardModule,\r\n TeamsSharedModule\r\n ],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA]\r\n})\r\nexport class FeedModule { }\r\n"], "mappings": "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", "names": ["ActivityType", "ActivityIcon", "_c0", "_c0", "_c0", "_c0", "_c1", "_c0", "_c1", "_c0", "_c0"] }