import { OnInit, EventEmitter, ElementRef, TemplateRef } from '@angular/core'; import { EditorConfig } from 'vcomply-editor'; import { AuthService } from '../workflow-services/auth.service'; import { ResponsibilityService } from '../workflow-services/responsibility.service'; import { FrequencyService } from '../sharedComponents/frequency/frequency.service'; import { UiKitService } from '../workflow-services/ui-kit.service'; import { SnackBarService } from '../ui-kit/snack-bar/snack-bar.service'; import { Subject, Subscription } from 'rxjs'; import { ProgramsService } from '../workflow-services/programs.service'; import { GrcService } from '../workflow/shared/services/grc.service'; import { OrganizationUserService } from '../workflow-services/organization-user.service'; import { ComplianceCommonService } from '../workflow-services/common-workflow-services/compliance-common.service'; import { OrganizationCommonService } from '../workflow-services/common-workflow-services/organization-common.service'; import { FrequencyObject } from '../interfaces/frequency.interface'; import { Responsibility } from '../interfaces/responsibilty.interface'; import { ListItem } from '../sharedComponents/program-list/interfaces/list-item.interface'; import { IframeService } from '../services/iframe.service'; import * as i0 from "@angular/core"; export declare class WorkflowComplianceComponent implements OnInit { private authService; private responsibilityService; private frequencyService; private uiKitService; private snackBar; private permission; private programService; private grcService; private organizationUserService; private complianceCommonService; private organizationCommonService; private iframeService; mode: string; responsibilityId: number; frameworkDetails: Array; isEntrust: boolean; feature: any; assessmentDetails: any; isDuplicate: boolean; ASSETS: { responsibility_center: string; case_type: string; case_category: string; when: string; what: string; case_resolution_deadline: string; case_assignees: string; format_evidence: string; case_owners: string; link_controls: string; link_items: string; spreadsheet_multiple_category: string; recommended_action: string; risks: string; exception_type: string; priority: string; associated_risks: string; oversight: string; add_risk_more_option: string; lables: string; reviewer: string; checkpoints: string; assessments: string; objectives: string; audit: string; roles: string; approval: string; recurring: string; lock_scope: string; custom_fields: string; link_risks: string; placeholder: string; add_logic: string; image_choice: string; logic_image_choice: string; thank_you_image: string; upload: string; select_users: string; everyone_as_per_category: string; bulb: string; enter_icon: string; im_creating: string; notes: string; attestations: string; risk_category: string; issue_type: string; type: string; search_data: string; approval_workflow: string; sequential: string; round_robin: string; anyone: string; collaborator: string; }; allGroupAssignee: boolean; assignorId: any[]; assigneeIds: any[]; reviewerIds: any[]; overseerIds: any[]; disableRadioAssignee: any[]; isResponsibilitySimplified: boolean; queryParam: string; recentResponsibilityUrl: any; isResponsibilityRcLinkEnabled: boolean; grcList: Array; grcLoader: boolean; otherGRCCard: any; selectedGRCTab: number; grcTabLoader: boolean; grcSearchString: string; GRC_TYPE_ARRAY: string[]; grcDataWithTypes: any; selectedCategory: any[]; programListUrl: { programList: string; categoryList: string; }; set closeOnEsc(escapeCondition: boolean); orgDetails: any; url: string; pickerChanged: EventEmitter; populateOption: EventEmitter; hideElementsFromMoreOptions: EventEmitter; closeWorkflow: EventEmitter; resetForm: EventEmitter; disconnectRefresh: EventEmitter; checkpointCountUpdated: EventEmitter; rcSelected: EventEmitter; openedFrom: any; selectedRC: number; featureFlag_groups: boolean; selectedProgram: any; selectedReviewer: boolean; set setSelectedProgram(program: any); onRemovingCheckpoint: EventEmitter; isAssessmentDisabled: EventEmitter; assigneeTypeChange: EventEmitter; onReviewerTypeChange: EventEmitter; entrustLoader: boolean; scrollToBottom: boolean; description: EditorConfig; programPeopleList: any; loader: boolean; submitted: boolean; editDetails: any; smileyMessage: string; actionButtons: { buttonText: string; class: string; id: string; }[]; showSmiley: boolean; memberId: number; organizationId: number; rcListLoaded: boolean; assignorsListLoaded: boolean; assigneesListLoaded: boolean; categoriesListLoaded: boolean; groupsListLoaded: boolean; selectedFrameworkValues: any; hasReviewer: boolean; assignorsList: any[]; assigneesList: any[]; reviewersList: any[]; disableAssigneeIds: any[]; disableReviewerIds: any[]; disableOverseerIds: any[]; reviewerMemberIdsList: any[]; groupOverseerList: any[]; groupReviewerList: any[]; groupAssigneeList: any[]; overseersList: any[]; allUsersList: any[]; behalfOfUsersList: any[]; assigneeUserList: any[]; reviewerUserList: any[]; overseerUserList: any[]; overseerUserNotifyList: any[]; allCategories: any[]; assuranceCategoriesList: any[]; assuranceRequiresAuditList: any[]; groupsList: any[]; OrgGroup: any[]; adminsList: any[]; responsibilityCentersList: any[]; categoryList: any[]; nonRemovableUsersList: any[]; responsibilityCenterType: Number; responsibilityForm: any; moreOptions: any; activeSelector: string; sideSelectorElements: any; focus: { responsibilityName: boolean; description: boolean; objective: boolean; }; categories: any; allPrograms: any[]; riskClassification: { name: string; value: string; class: string; }[]; assignorMode: string; rcMode: string; invalidType: string; responsibilityPayload: any; assigneeRadioSelect: boolean; programsList: any[]; frequencyDetails: { pattern: string; notificationPending: number; dateOfModified: number; deactivationValue: number; selectedReport: number; lifecycle: string; startDate: number; startOnTheDay: number; window: number; failed: number; time: string; failedTime: string; continuous_failed_days: number; onCompletionReportDetails: {}; }; frequencyObject: FrequencyObject | null; frequencyPlaceholder: string; shortMonth: Array; isEditWhat: Boolean; isFrameworkAvailable: number; isNotificationPending: number; assuranceFlag: any; riskClassificationFlag: any; hiddenList: any[]; subscriptionDetails: any; isRiskEnable: boolean; isDuplicateEntrust: boolean; auditTime: string; sendAuditRemindersValue: number; sampleValue: any; samplePercentage: any; selectedSample: number; isSample: boolean; tempCheckValue: number; isAssessment: boolean; managePermission: boolean; checkpointCount: number; roleBasedPermissions: any; isGroupAssigned: boolean; responsibilityData: any; originalAssignee: any; userListLoader: boolean; assignorsListLoader: boolean; rawResponsibility: any; otherGRCSubscription: Subscription; allowEditDueDateFeatureFlag: boolean; allProgamSelected: any[]; onCompletionResponsibility: any; customFieldsSelected: string; whatInput: ElementRef; unSubscribeProgram: Subject; responsibilityDetails: any; customFields: any[]; constructor(authService: AuthService, responsibilityService: ResponsibilityService, frequencyService: FrequencyService, uiKitService: UiKitService, snackBar: SnackBarService, permission: AuthService, programService: ProgramsService, grcService: GrcService, organizationUserService: OrganizationUserService, complianceCommonService: ComplianceCommonService, organizationCommonService: OrganizationCommonService, iframeService: IframeService); ngOnInit(): void; populateRCList(): void; setFeatureFlags(): void; getInitialData(): void; checkCustomFields(): void; getRCDetailsinRiskTreatment(): void; getOrgDetails(): void; getSubscriptionDetail(): void; hideOptionFromMoreOptions(): void; activateSelector(type: any, event: boolean): void; setCustomFields(event: any): void; setResponsibilityName(): void; whatChanged(event: any): void; activeDeselector(): void; addMoreInfo(event: any): void; onRcTypeChange(selectedType: Number): void; getRCList(program_id?: string): void; getUserDetails(): void; getOrganizationDetails(): void; getCategoryList(): void; filterListsAccordingToProgram(program_id?: string): void; getProgramDetails(programId?: string): void; getListsAccordingToProgram(program_id: string): void; getAssignorsList(program_id?: string): void; getAssigneesList(program_id?: string): void; fetchAssignee(program_id?: string): void; getPeopleListAgainstPID(program_id: string): void; setOrganizationUserList(res: any): void; getGroupsList(program_id?: string): void; getEditResponsibilityDetails(id: any): void; setList(list: any[], ids: any[], key: string): any; returnIds(list: any[], key: string): any[]; populateProgramAssigneeGroup(): void; populateProgramOverseerGroup(): void; populateProgramReviewerGroup(): void; populateOverseerData(res: any): void; populateReviewerData(res: any): void; populateAssigneeData(res: any): void; /** * this function is for getting the users data based on member_id of users of selected User Group * @param userlist contains users data * @param selectedgroups contains selected User Group data * @returns user data of Selected user group. */ getGroupsUserEmployeesId(userList: any, selectedGroups: any): any; setReviewerPayload(ids: any[], type: string, acceptedData?: Array, reviewerType?: string): any; checkWhetherAllListsLoaded(): void; saveSelectedList(type: string, selectedItems: any): void; /** * If the program is selected and the user has full permission, refresh the lists while the program * is selected. Otherwise, refresh all lists. * */ callRefreshList(): void; remove(type: any, event?: any): void; removeCustomFields(event: any): void; saveGroupAssigneeData(selectedItems: any): void; saveGroupReviewerData(selectedItems: any): void; saveOverseerData(selectedItems: any, type: any): void; entrustFramework(event: any): void; assignFromFramework(freqObj: any): void; /** * * @param list userlist for listing users * @returns assign user's my_member_id to member_id data */ assignUserMemberId(list: any): any; refreshAllLists(): void; disableList(allUsers: any, assignorAndAssigneesIds: any, assigneeIds: any, reviewersIds: any, overseerIds: any): void; refreshListsWhileProgramSelected(): void; programGroupList(allGroups: any, ...args: any[]): any; disableProgramList(assignorAndAssigneesIds: any, assigneeIds: any, reviewersIds: any, overseerIds: any): void; /** * If the form is valid, then if the mode is EDIT, then set the organizationId and memberId to the * authService values, and then call the entrustResponsibility function with the responsibilityForm as * a parameter. * * If the mode is not EDIT, then call the entrustResponsibility function with the responsibilityForm * as a parameter. * @returns a boolean value. */ submitResponsibility(): false | undefined; /** * If the responsibility name is empty, or the frequency is empty, or the assignees list is empty, * then return false. Otherwise, return true. */ validateResponsibility(): boolean; entrustResponsibility(entrustForm: any): void; uniqueIdUserGroups(totalUserList: any, selectedGroup: any, selectedUsers: any): any[]; combineUserAndUserGroupMembers(isGroup?: any): void; /** * It resets the form. */ reset(): void; action(event: string): void; viewResponsibilities(): void; closeSmiley(event: any): void; getOnCompletionReportDetails(event: any): any; frequencyDataPopulation(event: any): void; getSelectedAttributes(event: any): { selectedDay: number[]; selectedMonth: number[]; }; frequencyPopulation(event: any): void; setPayload(event: any): Responsibility | null; frequencyData(event: any): void; checkBlank(data: string): string; /** * It takes a string and returns a string. * @param {any} res - any = { */ getFrequencyPlaceholder(frequency: any): void; /** * It gets the frequency details and report id, then it sets the frequency placeholder to the frequency * details and then it gets the on completion of responsibility and sets the frequency placeholder to * the frequency details and the report name. * @param {any} frequencyDetails - [0] => "1" * @param {number} reportId - number */ getOnCompletionOf(frequencyDetails: any, reportId: number, onCompletionReportDetails: any): void; /** * "If the frequencyDetails[3] is 1, then set the frequencyPlaceholder to 'Daily by ' + frequencyTime, * otherwise if frequencyDetails[3] is greater than 1, then set the frequencyPlaceholder to 'Every ' + * parseInt(frequencyDetails[3]) + ' days by ' + frequencyTime." * @param {any} frequencyDetails - [0, 0, 0, 1] * @param {any} frequencyTime - "12:00 AM" */ getDailyPlaceholder(frequencyDetails: any, frequencyTime: any): void; /** * It takes a string of comma separated numbers and returns a string of comma separated words. * * The function is called with a string of comma separated numbers, like this: * * getWeeklyPlaceholder(["1","2,3,4,5,6,7","1","1"], "10:00 AM") * * The function returns a string of comma separated words, like this: * * "Every Monday,Tuesday,Wednesday,Thursday,Friday,Saturday by 10:00 AM" * @param {any} frequencyDetails - ["1", "1,2,3,4,5", "", "1", ""] * @param {any} frequencyTime - "10:00 AM" */ getWeeklyPlaceholder(frequencyDetails: any, frequencyTime: any): void; /** * It takes a string of comma separated numbers, converts them to month names, and then adds them to a * sentence. * @param {any} frequencyDetails - ["1", "1", "1,2,3,4,5,6,7,8,9,10,11,12"] * @param {any} frequencyTime - "10:00 AM" */ getMonthlyPlaceholder(frequencyDetails: any, frequencyTime: any): void; /** * If the frequencyDetails[1] is 1, 2, 3, 21, 22, 23, or greater than 3, then set the * frequencyPlaceholder to a string that includes the frequencyDetails[1] and the frequencyDetails[2] * and the frequencyTime. * @param {any} frequencyDetails - ["3", "1", "1,2,3"] * @param {any} frequencyTime - "10:00 AM" */ getQuarterlyPlaceholder(frequencyDetails: any, frequencyTime: any): void; /** * It takes a string of comma separated numbers and returns a string of comma separated month names. * @param {any} frequencyDetails - ["1", "1", "1,2,3,4,5,6,7,8,9,10,11,12"] * @param {any} frequencyTime - "10:00 AM" */ getBiannualPlaceholder(frequencyDetails: any, frequencyTime: any): void; /** * If the frequencyDetails[1] is less than 2, then the frequencyPlaceholder is set to the 1st, 2nd, * 3rd, or nth of every month by frequencyTime. * * If the frequencyDetails[1] is greater than 1, then the frequencyPlaceholder is set to the 1st, 2nd, * 3rd, or nth of every month, Interval: every yearSequence years by frequencyTime. * @param {any} frequencyDetails - ["Yearly", "1", "1", "1"] * @param {any} frequencyTime - "10:00 AM" */ getYearlyPlaceholder(frequencyDetails: any, frequencyTime: any): void; /** * Generates a placeholder string for one-time frequency events. * * @param {any} frequencyDetails - Array containing frequency details where: * - frequencyDetails[3]: Day of the month * - frequencyDetails[2]: Month number (1-12) * - frequencyDetails[1]: Year * @param {any} frequencyTime - Time string in format 'HH:mm' (e.g. '09:00') * * @example * // For January 15, 2024 at 09:00 AM * getOneTimePlaceholder([null, 2024, 1, 15], '09:00 am') * // Returns: "One Time 15 January 2024 by 09:00 AM" */ getOneTimePlaceholder(frequencyDetails: any, frequencyTime: any): void; /** * It takes a frequencyDetails array and a frequencyTime array and returns a string. * @param {any} frequencyDetails - [4,1,1,1] */ getRandomPlaceholder(frequencyDetails: any, frequencyTime: any): void; getOnCompletePlaceholder(frequencyDetails: any, frequencyTime: any): void; /** * "When the user clicks the edit button, the edit button is hidden and the input field is shown. * When the user clicks the input field, the input field is hidden and the edit button is shown." * @param {any} event - any - the event that triggered the function */ onEditWhat(event: any): void; /** * * The function is called with a parameter and returns an array of strings. * @param {any} [res] - is the response from the API */ getEditMoreOptions(res?: any): void; testFunction(): void; reviewerTypeChange(event: any): void; selectedSampleData(event: number): void; /** * It populates a list of assurance categories based on the test plan category selected. * @param {any} testPlanCategory - any */ populateAssuranceList(testPlanCategory: any): void; checkInputValue(event: any): boolean; switchEnable(event: boolean): void; onAssessmentSelect(event: any): void; /** * * @param assessmentDetails : selected assessment details like it's object id and category_id */ getAssessmentDetails(assessmentDetails: any, type?: string): void; setAssessmentData(res: any, assessmentDetails: any, type?: string): void; onRemoveCheckpoints(type: string): void; removeCheckpoint(): void; /** * * @param event Assessment details */ postAssessment(event: any): void; setIsUploaded(event: any): void; checkDefaultProgramOnRemove(event: any): void; /** * It takes an array of numbers and returns an array of unique numbers. * @param {any} array - The array you want to get the unique values from. * @returns An array of unique values. */ getUniqueIds(array: any): unknown[]; openAssigneeChangeConfirmation(event: any): void; /** * If the mode is EDIT, emit the event. * @param {any} event - any - the event that is triggered when the user selects a radio button */ onReviewerWorkflowChange(event: any): void; getOtherGRCObjects(event?: any): void; /** * The function `getOtherGRCTabCount` retrieves the count of different types of items (assets, * processes, vendors, inventory) and updates the corresponding tabs with the count. * @param {any} [event] - The "event" parameter is an optional parameter that can be passed to the * "getOtherGRCTabCount" function. It is of type "any", which means it can accept any data type. */ getOtherGRCTabCount(event?: any): void; getAllRCIds(rcIds: any): string; setOtherGRCTypesFormate(): void; resetGRCDataWithTypes(): void; removeOtherGRCObjects(event: any): void; filterOtherGRCData(event: any, type: string): void; programs: ListItem[]; selectedPrograms: any; customItemTemplate: TemplateRef | undefined; onItemsSelectedChange(items: ListItem[]): void; selectCategory(): void; generateCustomTags(): void; get currentUserInfo(): { member_email: any; member_id: any; member_name: any; organisation_id: any; uid: any; _id: any; }; removeProgram(program: any): void; populateResponsibilityDetails(): void; populateCustomFields(res: any): any; populateformatDetails(res: any): void; populateProgramDetails(res: any): void; populateFrequencyDetails(frequency: any): void; mapLinkedPrograms(programs: { linked: Record; data: any[]; }): Record; populateGRCObjectDetails(GRC_OBJECTS: any): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }