Skip to content

ActivitiesService

reference
2 min readUpdated

Kind: Class

Source: Frontend/src/app/services/dashboard/mydesk/activities.service.ts (line 27)

Part of: Frontend

ActivitiesService manages activity-related operations for the My Desk dashboard area. It exposes methods for mail state, popup status, user permission checks, activity retrieval, location types, participants, and activity searches.

Methods

MethodSignatureReturns
sendNewMailsendNewMail(Activiy: Activities, dataToAttach: DataToAttach, windowProperties: string)void
getNewMailgetNewMail()Activities
updateMailPopupWindowStatusupdateMailPopupWindowStatus(status: MailPopupWindowStatus)void
isUserAllowedisUserAllowed(activityId: number, actionId: number)void
userAllowedActionsuserAllowedActions(activityId: number)void
getActivityByIdServicegetActivityByIdService(ActivityID: number)void
GetActivitiesGetActivities(UserID: number, TaskID: number, ActivityType: number, KeyWord: string, principleId: number, clientId: number, projectId: number, responsibleId: number, contactID: number, preparedBy: number, perioretyID: number, InquiryNumber: number, InvoiceID: number, PaymentID: number)void
GetLocationTypesGetLocationTypes()void
GetParticipantGetParticipant()void
searchActivitiessearchActivities(ActivityType: number, SearchText: string, ID: number)void
saveTopicsaveTopic(ActivityTopicmodel: ActivityTopic)void
DeleteTopicDeleteTopic(TopicID: number)void
saveActionsaveAction(ActivityActionmodel: ActivityAction)void
changeParentTopicchangeParentTopic(itemID: number, parentTopicID: number)void
reorderTopicActionListreorderTopicActionList(ActionList: ActivityAction[])void
changeActivityStatuschangeActivityStatus(Activitymodel: Activities)void
DeleteActionDeleteAction(ActionID: number)void
saveActiivitysaveActiivity(Activitymodel: Activities)void
saveMailActiivityWithAttachmentsaveMailActiivityWithAttachment(Activitymodel: Activities)void
getActivityPurposeListgetActivityPurposeList()void
GetCallTypesGetCallTypes()void
DeleteActivityDeleteActivity(ActivityID: number)void
RemoveTaskIDRemoveTaskID(actionID: number)void
SaveTopicTempleteSaveTopicTemplete(TopicTempleteModel: TopicTemplate)void
GetTopicTemplateByIDGetTopicTemplateByID(ID: number)void
GetTopicTemplatesGetTopicTemplates()void
DeleteTopicTempleteDeleteTopicTemplete(TopicTempleteID: number)void
DeleteAllTopicsDeleteAllTopics(ActivityID: number)void
GetTopicStandrdTemplateByIDGetTopicStandrdTemplateByID(ID: number)void
GetTopicStandrdTemplatesGetTopicStandrdTemplates()void
GetContactPhonesGetContactPhones(ID: undefined)void
duplicateMeetingduplicateMeeting(Id: number)void
GetContactEmailsGetContactEmails()void
SendEmailSendEmail(EmailData: undefined)void
handleErrorhandleError(error: HttpErrorResponse)void

Properties

PropertyType
resourceNamestring
_mailPopupWindowMailPopupWindowStatus
mailPopupWindowSubject<MailPopupWindowStatus>
newWindowany

When something fails

  • ActivitiesService handles failure in 1 place: it discards it silently in all 1.

Diagram

mermaid
graph LR
    Dashboard[My Desk Dashboard] --> Service[ActivitiesService]
    Service --> Mail[Mail State]
    Service --> Permissions[User Permissions]
    Service --> Activities[Activity Data]
    Service --> Lookups[Location Types and Participants]

    Mail --> Send[sendNewMail]
    Mail --> Read[getNewMail]
    Mail --> Popup[updateMailPopupWindowStatus]

    Permissions --> Allowed[isUserAllowed]
    Permissions --> Actions[userAllowedActions]

    Activities --> ById[getActivityByIdService]
    Activities --> List[GetActivities]
    Activities --> Search[searchActivities]

    Lookups --> Locations[GetLocationTypes]
    Lookups --> Participants[GetParticipant]

Usage

ts
import { Component } from '@angular/core';
import { ActivitiesService } from 'src/app/services/dashboard/mydesk/activities.service';

@Component({
  selector: 'app-activity-panel',
  template: `<button (click)="openNewMail()">New mail</button>`,
})
export class ActivityPanelComponent {
  constructor(private readonly activitiesService: ActivitiesService) {}

  openNewMail(): void {
    this.activitiesService.sendNewMail();
    this.activitiesService.updateMailPopupWindowStatus();
  }

  loadActivities(): void {
    this.activitiesService.GetActivities();
  }

  search(): void {
    this.activitiesService.searchActivities();
  }

  canAccessActivities(): void {
    const isAllowed = this.activitiesService.isUserAllowed();

    if (isAllowed) {
      this.activitiesService.GetActivities();
    }
  }

  getMailState() {
    return this.activitiesService.getNewMail();
  }
}

AI Coding Instructions

  • Preserve the existing method casing, including GetActivities, GetLocationTypes, and GetParticipant.
  • Check isUserAllowed() and userAllowedActions() before exposing activity actions in dashboard components.
  • Use getNewMail() to read the current mail state and sendNewMail() to trigger new-mail behavior.
  • Keep activity, participant, and location-type requests inside ActivitiesService rather than duplicating service calls in components.
  • Do not assume return types for methods other than getNewMail(), which returns Activities.

Used by

19 references from 19 files. Each is a place in this repository where the symbol is actually used — go read one rather than trusting an example.

Imported by (19)

  • Activities2ComponentFrontend/src/app/components/dashboard/my-desk/activities/activities-2.component.ts:1
  • ActivitiesComponentFrontend/src/app/components/dashboard/my-desk/activities/activities.component.ts:1
  • CallActivityComponentFrontend/src/app/components/dashboard/my-desk/activities/call-activity/call-activity.component.ts:1
  • MailActivityComponentFrontend/src/app/components/dashboard/my-desk/activities/mail-activity/mail-activity.component.ts:1
  • MeetingActivityComponentFrontend/src/app/components/dashboard/my-desk/activities/meeting-activity/meeting-activity.component.ts:1
  • NewActivityComponentFrontend/src/app/components/dashboard/my-desk/activities/new-activity/new-activity.component.ts:1
  • TopicComponentFrontend/src/app/components/dashboard/my-desk/activities/topic/topic.component.ts:1
  • VisitActivityComponentFrontend/src/app/components/dashboard/my-desk/activities/visit-activity/visit-activity.component.ts:1

…and 11 more.

Was this page helpful?

Download as PDF