{"version":3,"file":"vineforce-modules-project-management-vineforce-modules-project-management-CXm2-UtN.mjs","sources":["../../../projects/project-management/src/lib/services/project-management.service.ts","../../../projects/project-management/src/lib/proxy/enum/project-priority.enum.ts","../../../projects/project-management/src/lib/proxy/enum/project-status.enum.ts","../../../projects/project-management/src/lib/proxy/enum/project-task-status.enum.ts","../../../projects/project-management/src/lib/proxy/vf-project-activity-logs/vf-project-activity-log.service.ts","../../../projects/project-management/src/lib/proxy/vf-project-members/vf-project-member.service.ts","../../../projects/project-management/src/lib/proxy/vf-project-task-activity-logs/vf-project-task-activity-log.service.ts","../../../projects/project-management/src/lib/proxy/vf-projects/vf-project.service.ts","../../../projects/project-management/src/lib/proxy/vf-task-attachments/vf-task-attachment.service.ts","../../../projects/project-management/src/lib/proxy/vf-task-comments/vf-task-comment.service.ts","../../../projects/project-management/src/lib/proxy/vf-tasks/vf-task.service.ts","../../../projects/project-management/src/lib/proxy/products.service.ts","../../../projects/project-management/src/lib/components/project-management.component.ts","../../../projects/project-management/src/lib/components/project-management.component.html","../../../projects/project-management/src/lib/vf-projects/vf-project/services/vf-project.abstract.service.ts","../../../projects/project-management/src/lib/vf-projects/vf-project/services/vf-project.service.ts","../../../projects/project-management/src/lib/vf-projects/vf-project/services/vf-project-detail.abstract.service.ts","../../../projects/project-management/src/lib/vf-projects/vf-project/services/vf-project-detail.service.ts","../../../projects/project-management/src/lib/vf-projects/vf-project-member/services/vf-project-member-child.abstract.service.ts","../../../projects/project-management/src/lib/vf-projects/vf-project-member/services/vf-project-member-child.service.ts","../../../projects/project-management/src/lib/vf-projects/vf-project-member/services/vf-project-member-child-detail.abstract.service.ts","../../../projects/project-management/src/lib/vf-projects/vf-project-member/services/vf-project-member-child-detail.service.ts","../../../projects/project-management/src/lib/vf-projects/vf-project-member/components/vf-project-member-child.abstract.component.ts","../../../projects/project-management/src/lib/vf-projects/vf-project-member/components/vf-project-member-child.component.ts","../../../projects/project-management/src/lib/vf-projects/vf-project-member/components/vf-project-member-child.component.html","../../../projects/project-management/src/lib/vf-projects/vf-project-activity-log/services/vf-project-activity-log-child.abstract.service.ts","../../../projects/project-management/src/lib/vf-projects/vf-project-activity-log/services/vf-project-activity-log-child.service.ts","../../../projects/project-management/src/lib/vf-projects/vf-project-activity-log/services/vf-project-activity-log-child-detail.abstract.service.ts","../../../projects/project-management/src/lib/vf-projects/vf-project-activity-log/services/vf-project-activity-log-child-detail.service.ts","../../../projects/project-management/src/lib/vf-projects/vf-project-activity-log/components/vf-project-activity-log-child.abstract.component.ts","../../../projects/project-management/src/lib/vf-projects/vf-project-activity-log/components/vf-project-activity-log-child.component.ts","../../../projects/project-management/src/lib/vf-projects/vf-project-activity-log/components/vf-project-activity-log-child.component.html","../../../projects/project-management/src/lib/vf-projects/vf-project/components/vf-project.abstract.component.ts","../../../projects/project-management/src/lib/vf-projects/vf-project/components/vf-project.component.ts","../../../projects/project-management/src/lib/vf-projects/vf-project/components/vf-project.component.html","../../../projects/project-management/src/lib/vf-projects/vf-project/vf-project-routing.module.ts","../../../projects/project-management/src/lib/vf-projects/vf-project/vf-project.module.ts","../../../projects/project-management/src/lib/vf-tasks/vf-task/services/vf-task.abstract.service.ts","../../../projects/project-management/src/lib/vf-tasks/vf-task/services/vf-task.service.ts","../../../projects/project-management/src/lib/vf-tasks/vf-task/services/vf-task-detail.abstract.service.ts","../../../projects/project-management/src/lib/vf-tasks/vf-task/services/vf-task-detail.service.ts","../../../projects/project-management/src/lib/vf-tasks/vf-task-comment/services/vf-task-comment-child.abstract.service.ts","../../../projects/project-management/src/lib/vf-tasks/vf-task-comment/services/vf-task-comment-child.service.ts","../../../projects/project-management/src/lib/vf-tasks/vf-task-comment/services/vf-task-comment-child-detail.abstract.service.ts","../../../projects/project-management/src/lib/vf-tasks/vf-task-comment/services/vf-task-comment-child-detail.service.ts","../../../projects/project-management/src/lib/vf-tasks/vf-task-comment/components/vf-task-comment-child.abstract.component.ts","../../../projects/project-management/src/lib/vf-tasks/vf-task-comment/components/vf-task-comment-child.component.ts","../../../projects/project-management/src/lib/vf-tasks/vf-task-comment/components/vf-task-comment-child.component.html","../../../projects/project-management/src/lib/vf-tasks/vf-task-attachment/services/vf-task-attachment-child.abstract.service.ts","../../../projects/project-management/src/lib/vf-tasks/vf-task-attachment/services/vf-task-attachment-child.service.ts","../../../projects/project-management/src/lib/vf-tasks/vf-task-attachment/services/vf-task-attachment-child-detail.abstract.service.ts","../../../projects/project-management/src/lib/vf-tasks/vf-task-attachment/services/vf-task-attachment-child-detail.service.ts","../../../projects/project-management/src/lib/vf-tasks/vf-task-attachment/components/vf-task-attachment-child.abstract.component.ts","../../../projects/project-management/src/lib/vf-tasks/vf-task-attachment/components/vf-task-attachment-child.component.ts","../../../projects/project-management/src/lib/vf-tasks/vf-task-attachment/components/vf-task-attachment-child.component.html","../../../projects/project-management/src/lib/vf-tasks/vf-project-task-activity-log/services/vf-project-task-activity-log-child.abstract.service.ts","../../../projects/project-management/src/lib/vf-tasks/vf-project-task-activity-log/services/vf-project-task-activity-log-child.service.ts","../../../projects/project-management/src/lib/vf-tasks/vf-project-task-activity-log/services/vf-project-task-activity-log-child-detail.abstract.service.ts","../../../projects/project-management/src/lib/vf-tasks/vf-project-task-activity-log/services/vf-project-task-activity-log-child-detail.service.ts","../../../projects/project-management/src/lib/vf-tasks/vf-project-task-activity-log/components/vf-project-task-activity-log-child.abstract.component.ts","../../../projects/project-management/src/lib/vf-tasks/vf-project-task-activity-log/components/vf-project-task-activity-log-child.component.ts","../../../projects/project-management/src/lib/vf-tasks/vf-project-task-activity-log/components/vf-project-task-activity-log-child.component.html","../../../projects/project-management/src/lib/vf-tasks/vf-task/components/vf-task.abstract.component.ts","../../../projects/project-management/src/lib/vf-tasks/vf-task/components/vf-task.component.ts","../../../projects/project-management/src/lib/vf-tasks/vf-task/components/vf-task.component.html","../../../projects/project-management/src/lib/vf-tasks/vf-task/vf-task-routing.module.ts","../../../projects/project-management/src/lib/vf-tasks/vf-task/vf-task.module.ts","../../../projects/project-management/src/lib/project-management-routing.module.ts","../../../projects/project-management/src/lib/defaults/default-project-management-toolbar-actions.ts","../../../projects/project-management/src/lib/defaults/default-project-management-form-props.ts","../../../projects/project-management/src/lib/defaults/default-project-management-entity-props.ts","../../../projects/project-management/src/lib/defaults/default-project-management-entity-actions.ts","../../../projects/project-management/src/lib/tokens/extensions.token.ts","../../../projects/project-management/src/lib/project-management.module.ts","../../../projects/project-management/src/vineforce-modules-project-management.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\nimport { RestService } from '@abp/ng.core';\r\n\r\n@Injectable({\r\n  providedIn: 'root',\r\n})\r\nexport class ProjectManagementService {\r\n  apiName = 'ProjectManagement';\r\n\r\n  constructor(private restService: RestService) {}\r\n\r\n  sample() {\r\n    return this.restService.request<void, any>(\r\n      { method: 'GET', url: '/api/ProjectManagement/sample' },\r\n      { apiName: this.apiName }\r\n    );\r\n  }\r\n}\r\n","import { mapEnumToOptions } from '@abp/ng.core';\n\nexport enum ProjectPriority {\n  High = 0,\n  Medium = 1,\n  Low = 2,\n}\n\nexport const projectPriorityOptions = mapEnumToOptions(ProjectPriority);\n","import { mapEnumToOptions } from '@abp/ng.core';\n\nexport enum ProjectStatus {\n  Active = 10,\n  Completed = 50,\n  Overdue = 80,\n  OnHold = 100,\n}\n\nexport const projectStatusOptions = mapEnumToOptions(ProjectStatus);\n","import { mapEnumToOptions } from '@abp/ng.core';\n\nexport enum ProjectTaskStatus {\n  ToDo = 10,\n  InProgress = 20,\n  Done = 50,\n}\n\nexport const projectTaskStatusOptions = mapEnumToOptions(ProjectTaskStatus);\n","import type {\n  GetVfProjectActivityLogListInput,\n  GetVfProjectActivityLogsInput,\n  VfProjectActivityLogCreateDto,\n  VfProjectActivityLogDto,\n  VfProjectActivityLogUpdateDto,\n  VfProjectActivityLogWithNavigationPropertiesDto,\n} from './models';\nimport { RestService, Rest } from '@abp/ng.core';\nimport type { PagedResultDto } from '@abp/ng.core';\nimport { Injectable } from '@angular/core';\nimport type {\n  AppFileDescriptorDto,\n  DownloadTokenResultDto,\n  GetFileInput,\n  LookupDto,\n  LookupRequestDto,\n} from '../shared/models';\n\n@Injectable({\n  providedIn: 'root',\n})\nexport class VfProjectActivityLogService {\n  apiName = 'ProjectManagement';\n\n  create = (input: VfProjectActivityLogCreateDto, config?: Partial<Rest.Config>) =>\n    this.restService.request<any, VfProjectActivityLogDto>(\n      {\n        method: 'POST',\n        url: '/api/project-management/vf-project-activity-logs',\n        body: input,\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  delete = (id: string, config?: Partial<Rest.Config>) =>\n    this.restService.request<any, void>(\n      {\n        method: 'DELETE',\n        url: `/api/project-management/vf-project-activity-logs/${id}`,\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  get = (id: string, config?: Partial<Rest.Config>) =>\n    this.restService.request<any, VfProjectActivityLogDto>(\n      {\n        method: 'GET',\n        url: `/api/project-management/vf-project-activity-logs/${id}`,\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  getDownloadToken = (config?: Partial<Rest.Config>) =>\n    this.restService.request<any, DownloadTokenResultDto>(\n      {\n        method: 'GET',\n        url: '/api/project-management/vf-project-activity-logs/download-token',\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  getFile = (input: GetFileInput, config?: Partial<Rest.Config>) =>\n    this.restService.request<any, Blob>(\n      {\n        method: 'GET',\n        responseType: 'blob',\n        url: '/api/project-management/vf-project-activity-logs/file',\n        params: { downloadToken: input.downloadToken, fileId: input.fileId },\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  getIdentityUserLookup = (input: LookupRequestDto, config?: Partial<Rest.Config>) =>\n    this.restService.request<any, PagedResultDto<LookupDto<string>>>(\n      {\n        method: 'GET',\n        url: '/api/project-management/vf-project-activity-logs/identity-user-lookup',\n        params: {\n          filter: input.filter,\n          skipCount: input.skipCount,\n          maxResultCount: input.maxResultCount,\n        },\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  getList = (input: GetVfProjectActivityLogsInput, config?: Partial<Rest.Config>) =>\n    this.restService.request<any, PagedResultDto<VfProjectActivityLogWithNavigationPropertiesDto>>(\n      {\n        method: 'GET',\n        url: '/api/project-management/vf-project-activity-logs',\n        params: {\n          vfProjectId: input.vfProjectId,\n          filterText: input.filterText,\n          sorting: input.sorting,\n          skipCount: input.skipCount,\n          maxResultCount: input.maxResultCount,\n          projectAction: input.projectAction,\n          details: input.details,\n          identityUserId: input.identityUserId,\n        },\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  getListByVfProjectId = (input: GetVfProjectActivityLogListInput, config?: Partial<Rest.Config>) =>\n    this.restService.request<any, PagedResultDto<VfProjectActivityLogWithNavigationPropertiesDto>>(\n      {\n        method: 'GET',\n        url: '/api/project-management/vf-project-activity-logs/by-vf-project',\n        params: {\n          vfProjectId: input.vfProjectId,\n          filterText: input.filterText,\n          sorting: input.sorting,\n          skipCount: input.skipCount,\n          maxResultCount: input.maxResultCount,\n        },\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  getListWithNavigationPropertiesByVfProjectId = (\n    input: GetVfProjectActivityLogListInput,\n    config?: Partial<Rest.Config>,\n  ) =>\n    this.restService.request<any, PagedResultDto<VfProjectActivityLogWithNavigationPropertiesDto>>(\n      {\n        method: 'GET',\n        url: '/api/project-management/vf-project-activity-logs/detailed/by-vf-project',\n        params: {\n          vfProjectId: input.vfProjectId,\n          filterText: input.filterText,\n          sorting: input.sorting,\n          skipCount: input.skipCount,\n          maxResultCount: input.maxResultCount,\n        },\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  getWithNavigationProperties = (id: string, config?: Partial<Rest.Config>) =>\n    this.restService.request<any, VfProjectActivityLogWithNavigationPropertiesDto>(\n      {\n        method: 'GET',\n        url: `/api/project-management/vf-project-activity-logs/with-navigation-properties/${id}`,\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  update = (id: string, input: VfProjectActivityLogUpdateDto, config?: Partial<Rest.Config>) =>\n    this.restService.request<any, VfProjectActivityLogDto>(\n      {\n        method: 'PUT',\n        url: `/api/project-management/vf-project-activity-logs/${id}`,\n        body: input,\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  uploadFile = (input: FormData, config?: Partial<Rest.Config>) =>\n    this.restService.request<any, AppFileDescriptorDto>(\n      {\n        method: 'POST',\n        url: '/api/project-management/vf-project-activity-logs/upload-file',\n        body: input,\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  constructor(private restService: RestService) {}\n}\n","import type {\n  GetVfProjectMemberListInput,\n  GetVfProjectMembersInput,\n  VfProjectMemberCreateDto,\n  VfProjectMemberDto,\n  VfProjectMemberUpdateDto,\n  VfProjectMemberWithNavigationPropertiesDto,\n} from './models';\nimport { RestService, Rest } from '@abp/ng.core';\nimport type { PagedResultDto } from '@abp/ng.core';\nimport { Injectable } from '@angular/core';\nimport type {\n  AppFileDescriptorDto,\n  DownloadTokenResultDto,\n  GetFileInput,\n  LookupDto,\n  LookupRequestDto,\n} from '../shared/models';\n\n@Injectable({\n  providedIn: 'root',\n})\nexport class VfProjectMemberService {\n  apiName = 'ProjectManagement';\n\n  create = (input: VfProjectMemberCreateDto, config?: Partial<Rest.Config>) =>\n    this.restService.request<any, VfProjectMemberDto>(\n      {\n        method: 'POST',\n        url: '/api/project-management/vf-project-members',\n        body: input,\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  delete = (id: string, config?: Partial<Rest.Config>) =>\n    this.restService.request<any, void>(\n      {\n        method: 'DELETE',\n        url: `/api/project-management/vf-project-members/${id}`,\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  get = (id: string, config?: Partial<Rest.Config>) =>\n    this.restService.request<any, VfProjectMemberDto>(\n      {\n        method: 'GET',\n        url: `/api/project-management/vf-project-members/${id}`,\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  getDownloadToken = (config?: Partial<Rest.Config>) =>\n    this.restService.request<any, DownloadTokenResultDto>(\n      {\n        method: 'GET',\n        url: '/api/project-management/vf-project-members/download-token',\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  getFile = (input: GetFileInput, config?: Partial<Rest.Config>) =>\n    this.restService.request<any, Blob>(\n      {\n        method: 'GET',\n        responseType: 'blob',\n        url: '/api/project-management/vf-project-members/file',\n        params: { downloadToken: input.downloadToken, fileId: input.fileId },\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  getIdentityRoleLookup = (input: LookupRequestDto, config?: Partial<Rest.Config>) =>\n    this.restService.request<any, PagedResultDto<LookupDto<string>>>(\n      {\n        method: 'GET',\n        url: '/api/project-management/vf-project-members/identity-role-lookup',\n        params: {\n          filter: input.filter,\n          skipCount: input.skipCount,\n          maxResultCount: input.maxResultCount,\n        },\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  getIdentityUserLookup = (input: LookupRequestDto, config?: Partial<Rest.Config>) =>\n    this.restService.request<any, PagedResultDto<LookupDto<string>>>(\n      {\n        method: 'GET',\n        url: '/api/project-management/vf-project-members/identity-user-lookup',\n        params: {\n          filter: input.filter,\n          skipCount: input.skipCount,\n          maxResultCount: input.maxResultCount,\n        },\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  getList = (input: GetVfProjectMembersInput, config?: Partial<Rest.Config>) =>\n    this.restService.request<any, PagedResultDto<VfProjectMemberWithNavigationPropertiesDto>>(\n      {\n        method: 'GET',\n        url: '/api/project-management/vf-project-members',\n        params: {\n          vfProjectId: input.vfProjectId,\n          filterText: input.filterText,\n          sorting: input.sorting,\n          skipCount: input.skipCount,\n          maxResultCount: input.maxResultCount,\n          identityUserId: input.identityUserId,\n          identityRoleId: input.identityRoleId,\n        },\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  getListByVfProjectId = (input: GetVfProjectMemberListInput, config?: Partial<Rest.Config>) =>\n    this.restService.request<any, PagedResultDto<VfProjectMemberWithNavigationPropertiesDto>>(\n      {\n        method: 'GET',\n        url: '/api/project-management/vf-project-members/by-vf-project',\n        params: {\n          vfProjectId: input.vfProjectId,\n          filterText: input.filterText,\n          sorting: input.sorting,\n          skipCount: input.skipCount,\n          maxResultCount: input.maxResultCount,\n        },\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  getListWithNavigationPropertiesByVfProjectId = (\n    input: GetVfProjectMemberListInput,\n    config?: Partial<Rest.Config>,\n  ) =>\n    this.restService.request<any, PagedResultDto<VfProjectMemberWithNavigationPropertiesDto>>(\n      {\n        method: 'GET',\n        url: '/api/project-management/vf-project-members/detailed/by-vf-project',\n        params: {\n          vfProjectId: input.vfProjectId,\n          filterText: input.filterText,\n          sorting: input.sorting,\n          skipCount: input.skipCount,\n          maxResultCount: input.maxResultCount,\n        },\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  getWithNavigationProperties = (id: string, config?: Partial<Rest.Config>) =>\n    this.restService.request<any, VfProjectMemberWithNavigationPropertiesDto>(\n      {\n        method: 'GET',\n        url: `/api/project-management/vf-project-members/with-navigation-properties/${id}`,\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  update = (id: string, input: VfProjectMemberUpdateDto, config?: Partial<Rest.Config>) =>\n    this.restService.request<any, VfProjectMemberDto>(\n      {\n        method: 'PUT',\n        url: `/api/project-management/vf-project-members/${id}`,\n        body: input,\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  uploadFile = (input: FormData, config?: Partial<Rest.Config>) =>\n    this.restService.request<any, AppFileDescriptorDto>(\n      {\n        method: 'POST',\n        url: '/api/project-management/vf-project-members/upload-file',\n        body: input,\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  constructor(private restService: RestService) {}\n}\n","import type {\n  GetVfProjectTaskActivityLogListInput,\n  GetVfProjectTaskActivityLogsInput,\n  VfProjectTaskActivityLogCreateDto,\n  VfProjectTaskActivityLogDto,\n  VfProjectTaskActivityLogUpdateDto,\n  VfProjectTaskActivityLogWithNavigationPropertiesDto,\n} from './models';\nimport { RestService, Rest } from '@abp/ng.core';\nimport type { PagedResultDto } from '@abp/ng.core';\nimport { Injectable } from '@angular/core';\nimport type {\n  AppFileDescriptorDto,\n  DownloadTokenResultDto,\n  GetFileInput,\n  LookupDto,\n  LookupRequestDto,\n} from '../shared/models';\n\n@Injectable({\n  providedIn: 'root',\n})\nexport class VfProjectTaskActivityLogService {\n  apiName = 'ProjectManagement';\n\n  create = (input: VfProjectTaskActivityLogCreateDto, config?: Partial<Rest.Config>) =>\n    this.restService.request<any, VfProjectTaskActivityLogDto>(\n      {\n        method: 'POST',\n        url: '/api/project-management/vf-project-task-activity-logs',\n        body: input,\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  delete = (id: string, config?: Partial<Rest.Config>) =>\n    this.restService.request<any, void>(\n      {\n        method: 'DELETE',\n        url: `/api/project-management/vf-project-task-activity-logs/${id}`,\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  get = (id: string, config?: Partial<Rest.Config>) =>\n    this.restService.request<any, VfProjectTaskActivityLogDto>(\n      {\n        method: 'GET',\n        url: `/api/project-management/vf-project-task-activity-logs/${id}`,\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  getDownloadToken = (config?: Partial<Rest.Config>) =>\n    this.restService.request<any, DownloadTokenResultDto>(\n      {\n        method: 'GET',\n        url: '/api/project-management/vf-project-task-activity-logs/download-token',\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  getFile = (input: GetFileInput, config?: Partial<Rest.Config>) =>\n    this.restService.request<any, Blob>(\n      {\n        method: 'GET',\n        responseType: 'blob',\n        url: '/api/project-management/vf-project-task-activity-logs/file',\n        params: { downloadToken: input.downloadToken, fileId: input.fileId },\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  getIdentityUserLookup = (input: LookupRequestDto, config?: Partial<Rest.Config>) =>\n    this.restService.request<any, PagedResultDto<LookupDto<string>>>(\n      {\n        method: 'GET',\n        url: '/api/project-management/vf-project-task-activity-logs/identity-user-lookup',\n        params: {\n          filter: input.filter,\n          skipCount: input.skipCount,\n          maxResultCount: input.maxResultCount,\n        },\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  getList = (input: GetVfProjectTaskActivityLogsInput, config?: Partial<Rest.Config>) =>\n    this.restService.request<\n      any,\n      PagedResultDto<VfProjectTaskActivityLogWithNavigationPropertiesDto>\n    >(\n      {\n        method: 'GET',\n        url: '/api/project-management/vf-project-task-activity-logs',\n        params: {\n          vfTaskId: input.vfTaskId,\n          filterText: input.filterText,\n          sorting: input.sorting,\n          skipCount: input.skipCount,\n          maxResultCount: input.maxResultCount,\n          taskAction: input.taskAction,\n          details: input.details,\n          vfProjectId: input.vfProjectId,\n          identityUserId: input.identityUserId,\n        },\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  getListByVfTaskId = (\n    input: GetVfProjectTaskActivityLogListInput,\n    config?: Partial<Rest.Config>,\n  ) =>\n    this.restService.request<\n      any,\n      PagedResultDto<VfProjectTaskActivityLogWithNavigationPropertiesDto>\n    >(\n      {\n        method: 'GET',\n        url: '/api/project-management/vf-project-task-activity-logs/by-vf-task',\n        params: {\n          vfTaskId: input.vfTaskId,\n          filterText: input.filterText,\n          sorting: input.sorting,\n          skipCount: input.skipCount,\n          maxResultCount: input.maxResultCount,\n        },\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  getListWithNavigationPropertiesByVfTaskId = (\n    input: GetVfProjectTaskActivityLogListInput,\n    config?: Partial<Rest.Config>,\n  ) =>\n    this.restService.request<\n      any,\n      PagedResultDto<VfProjectTaskActivityLogWithNavigationPropertiesDto>\n    >(\n      {\n        method: 'GET',\n        url: '/api/project-management/vf-project-task-activity-logs/detailed/by-vf-task',\n        params: {\n          vfTaskId: input.vfTaskId,\n          filterText: input.filterText,\n          sorting: input.sorting,\n          skipCount: input.skipCount,\n          maxResultCount: input.maxResultCount,\n        },\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  getVfProjectLookup = (input: LookupRequestDto, config?: Partial<Rest.Config>) =>\n    this.restService.request<any, PagedResultDto<LookupDto<string>>>(\n      {\n        method: 'GET',\n        url: '/api/project-management/vf-project-task-activity-logs/vf-project-lookup',\n        params: {\n          filter: input.filter,\n          skipCount: input.skipCount,\n          maxResultCount: input.maxResultCount,\n        },\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  getWithNavigationProperties = (id: string, config?: Partial<Rest.Config>) =>\n    this.restService.request<any, VfProjectTaskActivityLogWithNavigationPropertiesDto>(\n      {\n        method: 'GET',\n        url: `/api/project-management/vf-project-task-activity-logs/with-navigation-properties/${id}`,\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  update = (id: string, input: VfProjectTaskActivityLogUpdateDto, config?: Partial<Rest.Config>) =>\n    this.restService.request<any, VfProjectTaskActivityLogDto>(\n      {\n        method: 'PUT',\n        url: `/api/project-management/vf-project-task-activity-logs/${id}`,\n        body: input,\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  uploadFile = (input: FormData, config?: Partial<Rest.Config>) =>\n    this.restService.request<any, AppFileDescriptorDto>(\n      {\n        method: 'POST',\n        url: '/api/project-management/vf-project-task-activity-logs/upload-file',\n        body: input,\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  constructor(private restService: RestService) {}\n}\n","import type {\n  GetVfProjectsInput,\n  VfProjectCreateDto,\n  VfProjectDto,\n  VfProjectExcelDownloadDto,\n  VfProjectUpdateDto,\n} from './models';\nimport { RestService, Rest } from '@abp/ng.core';\nimport type { PagedResultDto } from '@abp/ng.core';\nimport { Injectable } from '@angular/core';\nimport type { AppFileDescriptorDto, DownloadTokenResultDto, GetFileInput } from '../shared/models';\n\n@Injectable({\n  providedIn: 'root',\n})\nexport class VfProjectService {\n  apiName = 'ProjectManagement';\n\n  create = (input: VfProjectCreateDto, config?: Partial<Rest.Config>) =>\n    this.restService.request<any, VfProjectDto>(\n      {\n        method: 'POST',\n        url: '/api/project-management/vf-projects',\n        body: input,\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  delete = (id: string, config?: Partial<Rest.Config>) =>\n    this.restService.request<any, void>(\n      {\n        method: 'DELETE',\n        url: `/api/project-management/vf-projects/${id}`,\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  deleteAll = (input: GetVfProjectsInput, config?: Partial<Rest.Config>) =>\n    this.restService.request<any, void>(\n      {\n        method: 'DELETE',\n        url: '/api/project-management/vf-projects/all',\n        params: {\n          filterText: input.filterText,\n          sorting: input.sorting,\n          skipCount: input.skipCount,\n          maxResultCount: input.maxResultCount,\n          name: input.name,\n          description: input.description,\n          startDateMin: input.startDateMin,\n          startDateMax: input.startDateMax,\n          endDateMin: input.endDateMin,\n          endDateMax: input.endDateMax,\n          status: input.status,\n        },\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  deleteByIds = (vfProjectIds: string[], config?: Partial<Rest.Config>) =>\n    this.restService.request<any, void>(\n      {\n        method: 'DELETE',\n        url: '/api/project-management/vf-projects',\n        params: { vfProjectIds },\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  get = (id: string, config?: Partial<Rest.Config>) =>\n    this.restService.request<any, VfProjectDto>(\n      {\n        method: 'GET',\n        url: `/api/project-management/vf-projects/${id}`,\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  getDownloadToken = (config?: Partial<Rest.Config>) =>\n    this.restService.request<any, DownloadTokenResultDto>(\n      {\n        method: 'GET',\n        url: '/api/project-management/vf-projects/download-token',\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  getFile = (input: GetFileInput, config?: Partial<Rest.Config>) =>\n    this.restService.request<any, Blob>(\n      {\n        method: 'GET',\n        responseType: 'blob',\n        url: '/api/project-management/vf-projects/file',\n        params: { downloadToken: input.downloadToken, fileId: input.fileId },\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  getList = (input: GetVfProjectsInput, config?: Partial<Rest.Config>) =>\n    this.restService.request<any, PagedResultDto<VfProjectDto>>(\n      {\n        method: 'GET',\n        url: '/api/project-management/vf-projects',\n        params: {\n          filterText: input.filterText,\n          sorting: input.sorting,\n          skipCount: input.skipCount,\n          maxResultCount: input.maxResultCount,\n          name: input.name,\n          description: input.description,\n          startDateMin: input.startDateMin,\n          startDateMax: input.startDateMax,\n          endDateMin: input.endDateMin,\n          endDateMax: input.endDateMax,\n          status: input.status,\n        },\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  getListAsExcelFile = (input: VfProjectExcelDownloadDto, config?: Partial<Rest.Config>) =>\n    this.restService.request<any, Blob>(\n      {\n        method: 'GET',\n        responseType: 'blob',\n        url: '/api/project-management/vf-projects/as-excel-file',\n        params: {\n          downloadToken: input.downloadToken,\n          filterText: input.filterText,\n          name: input.name,\n          description: input.description,\n          startDateMin: input.startDateMin,\n          startDateMax: input.startDateMax,\n          endDateMin: input.endDateMin,\n          endDateMax: input.endDateMax,\n          status: input.status,\n        },\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  update = (id: string, input: VfProjectUpdateDto, config?: Partial<Rest.Config>) =>\n    this.restService.request<any, VfProjectDto>(\n      {\n        method: 'PUT',\n        url: `/api/project-management/vf-projects/${id}`,\n        body: input,\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  uploadFile = (input: FormData, config?: Partial<Rest.Config>) =>\n    this.restService.request<any, AppFileDescriptorDto>(\n      {\n        method: 'POST',\n        url: '/api/project-management/vf-projects/upload-file',\n        body: input,\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  constructor(private restService: RestService) {}\n}\n","import type {\n  GetVfTaskAttachmentListInput,\n  GetVfTaskAttachmentsInput,\n  VfTaskAttachmentCreateDto,\n  VfTaskAttachmentDto,\n  VfTaskAttachmentUpdateDto,\n} from './models';\nimport { RestService, Rest } from '@abp/ng.core';\nimport type { PagedResultDto } from '@abp/ng.core';\nimport { Injectable } from '@angular/core';\nimport type { AppFileDescriptorDto, DownloadTokenResultDto, GetFileInput } from '../shared/models';\n\n@Injectable({\n  providedIn: 'root',\n})\nexport class VfTaskAttachmentService {\n  apiName = 'ProjectManagement';\n\n  create = (input: VfTaskAttachmentCreateDto, config?: Partial<Rest.Config>) =>\n    this.restService.request<any, VfTaskAttachmentDto>(\n      {\n        method: 'POST',\n        url: '/api/project-management/vf-task-attachments',\n        body: input,\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  delete = (id: string, config?: Partial<Rest.Config>) =>\n    this.restService.request<any, void>(\n      {\n        method: 'DELETE',\n        url: `/api/project-management/vf-task-attachments/${id}`,\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  get = (id: string, config?: Partial<Rest.Config>) =>\n    this.restService.request<any, VfTaskAttachmentDto>(\n      {\n        method: 'GET',\n        url: `/api/project-management/vf-task-attachments/${id}`,\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  getDownloadToken = (config?: Partial<Rest.Config>) =>\n    this.restService.request<any, DownloadTokenResultDto>(\n      {\n        method: 'GET',\n        url: '/api/project-management/vf-task-attachments/download-token',\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  getFile = (input: GetFileInput, config?: Partial<Rest.Config>) =>\n    this.restService.request<any, Blob>(\n      {\n        method: 'GET',\n        responseType: 'blob',\n        url: '/api/project-management/vf-task-attachments/file',\n        params: { downloadToken: input.downloadToken, fileId: input.fileId },\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  getList = (input: GetVfTaskAttachmentsInput, config?: Partial<Rest.Config>) =>\n    this.restService.request<any, PagedResultDto<VfTaskAttachmentDto>>(\n      {\n        method: 'GET',\n        url: '/api/project-management/vf-task-attachments',\n        params: {\n          vfTaskId: input.vfTaskId,\n          filterText: input.filterText,\n          sorting: input.sorting,\n          skipCount: input.skipCount,\n          maxResultCount: input.maxResultCount,\n          fileName: input.fileName,\n          filePath: input.filePath,\n          fileSizeMin: input.fileSizeMin,\n          fileSizeMax: input.fileSizeMax,\n        },\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  getListByVfTaskId = (input: GetVfTaskAttachmentListInput, config?: Partial<Rest.Config>) =>\n    this.restService.request<any, PagedResultDto<VfTaskAttachmentDto>>(\n      {\n        method: 'GET',\n        url: '/api/project-management/vf-task-attachments/by-vf-task',\n        params: {\n          vfTaskId: input.vfTaskId,\n          filterText: input.filterText,\n          sorting: input.sorting,\n          skipCount: input.skipCount,\n          maxResultCount: input.maxResultCount,\n        },\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  update = (id: string, input: VfTaskAttachmentUpdateDto, config?: Partial<Rest.Config>) =>\n    this.restService.request<any, VfTaskAttachmentDto>(\n      {\n        method: 'PUT',\n        url: `/api/project-management/vf-task-attachments/${id}`,\n        body: input,\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  uploadFile = (input: FormData, config?: Partial<Rest.Config>) =>\n    this.restService.request<any, AppFileDescriptorDto>(\n      {\n        method: 'POST',\n        url: '/api/project-management/vf-task-attachments/upload-file',\n        body: input,\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  constructor(private restService: RestService) {}\n}\n","import type {\n  GetVfTaskCommentListInput,\n  GetVfTaskCommentsInput,\n  VfTaskCommentCreateDto,\n  VfTaskCommentDto,\n  VfTaskCommentUpdateDto,\n  VfTaskCommentWithNavigationPropertiesDto,\n} from './models';\nimport { RestService, Rest } from '@abp/ng.core';\nimport type { PagedResultDto } from '@abp/ng.core';\nimport { Injectable } from '@angular/core';\nimport type {\n  AppFileDescriptorDto,\n  DownloadTokenResultDto,\n  GetFileInput,\n  LookupDto,\n  LookupRequestDto,\n} from '../shared/models';\n\n@Injectable({\n  providedIn: 'root',\n})\nexport class VfTaskCommentService {\n  apiName = 'ProjectManagement';\n\n  create = (input: VfTaskCommentCreateDto, config?: Partial<Rest.Config>) =>\n    this.restService.request<any, VfTaskCommentDto>(\n      {\n        method: 'POST',\n        url: '/api/project-management/vf-task-comments',\n        body: input,\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  delete = (id: string, config?: Partial<Rest.Config>) =>\n    this.restService.request<any, void>(\n      {\n        method: 'DELETE',\n        url: `/api/project-management/vf-task-comments/${id}`,\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  get = (id: string, config?: Partial<Rest.Config>) =>\n    this.restService.request<any, VfTaskCommentDto>(\n      {\n        method: 'GET',\n        url: `/api/project-management/vf-task-comments/${id}`,\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  getDownloadToken = (config?: Partial<Rest.Config>) =>\n    this.restService.request<any, DownloadTokenResultDto>(\n      {\n        method: 'GET',\n        url: '/api/project-management/vf-task-comments/download-token',\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  getFile = (input: GetFileInput, config?: Partial<Rest.Config>) =>\n    this.restService.request<any, Blob>(\n      {\n        method: 'GET',\n        responseType: 'blob',\n        url: '/api/project-management/vf-task-comments/file',\n        params: { downloadToken: input.downloadToken, fileId: input.fileId },\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  getIdentityUserLookup = (input: LookupRequestDto, config?: Partial<Rest.Config>) =>\n    this.restService.request<any, PagedResultDto<LookupDto<string>>>(\n      {\n        method: 'GET',\n        url: '/api/project-management/vf-task-comments/identity-user-lookup',\n        params: {\n          filter: input.filter,\n          skipCount: input.skipCount,\n          maxResultCount: input.maxResultCount,\n        },\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  getList = (input: GetVfTaskCommentsInput, config?: Partial<Rest.Config>) =>\n    this.restService.request<any, PagedResultDto<VfTaskCommentWithNavigationPropertiesDto>>(\n      {\n        method: 'GET',\n        url: '/api/project-management/vf-task-comments',\n        params: {\n          vfTaskId: input.vfTaskId,\n          filterText: input.filterText,\n          sorting: input.sorting,\n          skipCount: input.skipCount,\n          maxResultCount: input.maxResultCount,\n          comment: input.comment,\n          identityUserId: input.identityUserId,\n        },\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  getListByVfTaskId = (input: GetVfTaskCommentListInput, config?: Partial<Rest.Config>) =>\n    this.restService.request<any, PagedResultDto<VfTaskCommentWithNavigationPropertiesDto>>(\n      {\n        method: 'GET',\n        url: '/api/project-management/vf-task-comments/by-vf-task',\n        params: {\n          vfTaskId: input.vfTaskId,\n          filterText: input.filterText,\n          sorting: input.sorting,\n          skipCount: input.skipCount,\n          maxResultCount: input.maxResultCount,\n        },\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  getListWithNavigationPropertiesByVfTaskId = (\n    input: GetVfTaskCommentListInput,\n    config?: Partial<Rest.Config>,\n  ) =>\n    this.restService.request<any, PagedResultDto<VfTaskCommentWithNavigationPropertiesDto>>(\n      {\n        method: 'GET',\n        url: '/api/project-management/vf-task-comments/detailed/by-vf-task',\n        params: {\n          vfTaskId: input.vfTaskId,\n          filterText: input.filterText,\n          sorting: input.sorting,\n          skipCount: input.skipCount,\n          maxResultCount: input.maxResultCount,\n        },\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  getWithNavigationProperties = (id: string, config?: Partial<Rest.Config>) =>\n    this.restService.request<any, VfTaskCommentWithNavigationPropertiesDto>(\n      {\n        method: 'GET',\n        url: `/api/project-management/vf-task-comments/with-navigation-properties/${id}`,\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  update = (id: string, input: VfTaskCommentUpdateDto, config?: Partial<Rest.Config>) =>\n    this.restService.request<any, VfTaskCommentDto>(\n      {\n        method: 'PUT',\n        url: `/api/project-management/vf-task-comments/${id}`,\n        body: input,\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  uploadFile = (input: FormData, config?: Partial<Rest.Config>) =>\n    this.restService.request<any, AppFileDescriptorDto>(\n      {\n        method: 'POST',\n        url: '/api/project-management/vf-task-comments/upload-file',\n        body: input,\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  constructor(private restService: RestService) {}\n}\n","import type {\n  GetVfTasksInput,\n  VfTaskCreateDto,\n  VfTaskDto,\n  VfTaskExcelDownloadDto,\n  VfTaskUpdateDto,\n  VfTaskWithNavigationPropertiesDto,\n} from './models';\nimport { RestService, Rest } from '@abp/ng.core';\nimport type { PagedResultDto } from '@abp/ng.core';\nimport { Injectable } from '@angular/core';\nimport type {\n  AppFileDescriptorDto,\n  DownloadTokenResultDto,\n  GetFileInput,\n  LookupDto,\n  LookupRequestDto,\n} from '../shared/models';\n\n@Injectable({\n  providedIn: 'root',\n})\nexport class VfTaskService {\n  apiName = 'ProjectManagement';\n\n  create = (input: VfTaskCreateDto, config?: Partial<Rest.Config>) =>\n    this.restService.request<any, VfTaskDto>(\n      {\n        method: 'POST',\n        url: '/api/project-management/vf-tasks',\n        body: input,\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  delete = (id: string, config?: Partial<Rest.Config>) =>\n    this.restService.request<any, void>(\n      {\n        method: 'DELETE',\n        url: `/api/project-management/vf-tasks/${id}`,\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  deleteAll = (input: GetVfTasksInput, config?: Partial<Rest.Config>) =>\n    this.restService.request<any, void>(\n      {\n        method: 'DELETE',\n        url: '/api/project-management/vf-tasks/all',\n        params: {\n          filterText: input.filterText,\n          sorting: input.sorting,\n          skipCount: input.skipCount,\n          maxResultCount: input.maxResultCount,\n          title: input.title,\n          description: input.description,\n          status: input.status,\n          priority: input.priority,\n          dueDateMin: input.dueDateMin,\n          dueDateMax: input.dueDateMax,\n          vfProjectId: input.vfProjectId,\n          identityUserId: input.identityUserId,\n        },\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  deleteByIds = (vfTaskIds: string[], config?: Partial<Rest.Config>) =>\n    this.restService.request<any, void>(\n      {\n        method: 'DELETE',\n        url: '/api/project-management/vf-tasks',\n        params: { vfTaskIds },\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  get = (id: string, config?: Partial<Rest.Config>) =>\n    this.restService.request<any, VfTaskDto>(\n      {\n        method: 'GET',\n        url: `/api/project-management/vf-tasks/${id}`,\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  getDownloadToken = (config?: Partial<Rest.Config>) =>\n    this.restService.request<any, DownloadTokenResultDto>(\n      {\n        method: 'GET',\n        url: '/api/project-management/vf-tasks/download-token',\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  getFile = (input: GetFileInput, config?: Partial<Rest.Config>) =>\n    this.restService.request<any, Blob>(\n      {\n        method: 'GET',\n        responseType: 'blob',\n        url: '/api/project-management/vf-tasks/file',\n        params: { downloadToken: input.downloadToken, fileId: input.fileId },\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  getIdentityUserLookup = (input: LookupRequestDto, config?: Partial<Rest.Config>) =>\n    this.restService.request<any, PagedResultDto<LookupDto<string>>>(\n      {\n        method: 'GET',\n        url: '/api/project-management/vf-tasks/identity-user-lookup',\n        params: {\n          filter: input.filter,\n          skipCount: input.skipCount,\n          maxResultCount: input.maxResultCount,\n        },\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  getList = (input: GetVfTasksInput, config?: Partial<Rest.Config>) =>\n    this.restService.request<any, PagedResultDto<VfTaskWithNavigationPropertiesDto>>(\n      {\n        method: 'GET',\n        url: '/api/project-management/vf-tasks',\n        params: {\n          filterText: input.filterText,\n          sorting: input.sorting,\n          skipCount: input.skipCount,\n          maxResultCount: input.maxResultCount,\n          title: input.title,\n          description: input.description,\n          status: input.status,\n          priority: input.priority,\n          dueDateMin: input.dueDateMin,\n          dueDateMax: input.dueDateMax,\n          vfProjectId: input.vfProjectId,\n          identityUserId: input.identityUserId,\n        },\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  getListAsExcelFile = (input: VfTaskExcelDownloadDto, config?: Partial<Rest.Config>) =>\n    this.restService.request<any, Blob>(\n      {\n        method: 'GET',\n        responseType: 'blob',\n        url: '/api/project-management/vf-tasks/as-excel-file',\n        params: {\n          downloadToken: input.downloadToken,\n          filterText: input.filterText,\n          title: input.title,\n          description: input.description,\n          status: input.status,\n          priority: input.priority,\n          dueDateMin: input.dueDateMin,\n          dueDateMax: input.dueDateMax,\n          vfProjectId: input.vfProjectId,\n          identityUserId: input.identityUserId,\n        },\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  getVfProjectLookup = (input: LookupRequestDto, config?: Partial<Rest.Config>) =>\n    this.restService.request<any, PagedResultDto<LookupDto<string>>>(\n      {\n        method: 'GET',\n        url: '/api/project-management/vf-tasks/vf-project-lookup',\n        params: {\n          filter: input.filter,\n          skipCount: input.skipCount,\n          maxResultCount: input.maxResultCount,\n        },\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  getWithNavigationProperties = (id: string, config?: Partial<Rest.Config>) =>\n    this.restService.request<any, VfTaskWithNavigationPropertiesDto>(\n      {\n        method: 'GET',\n        url: `/api/project-management/vf-tasks/with-navigation-properties/${id}`,\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  update = (id: string, input: VfTaskUpdateDto, config?: Partial<Rest.Config>) =>\n    this.restService.request<any, VfTaskDto>(\n      {\n        method: 'PUT',\n        url: `/api/project-management/vf-tasks/${id}`,\n        body: input,\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  uploadFile = (input: FormData, config?: Partial<Rest.Config>) =>\n    this.restService.request<any, AppFileDescriptorDto>(\n      {\n        method: 'POST',\n        url: '/api/project-management/vf-tasks/upload-file',\n        body: input,\n      },\n      { apiName: this.apiName, ...config },\n    );\n\n  constructor(private restService: RestService) {}\n}\n","import { PagedResultDto, uuid } from '@abp/ng.core';\r\nimport { Injectable, WritableSignal, signal } from '@angular/core';\r\nimport { ProductDto } from './models';\r\n\r\n@Injectable()\r\nexport class ProductsService {\r\n  readonly brands = signal([\r\n    { id: uuid(), name: 'Brand 1' },\r\n    { id: uuid(), name: 'Brand 2' },\r\n    { id: uuid(), name: 'Brand 3' },\r\n    { id: uuid(), name: 'Brand 4' },\r\n  ]);\r\n\r\n  readonly genres = signal([\r\n    { id: uuid(), name: 'Genre 1' },\r\n    { id: uuid(), name: 'Genre 2' },\r\n    { id: uuid(), name: 'Genre 3' },\r\n  ]);\r\n\r\n  readonly products = signal([\r\n    { id: uuid(), name: 'Product 1', brand: 'Brand 1', genre: 'Genre 1' },\r\n    { id: uuid(), name: 'Product 2', brand: 'Brand 2', genre: 'Genre 2' },\r\n    { id: uuid(), name: 'Product 3', brand: 'Brand 3', genre: 'Genre 3' },\r\n  ]);\r\n\r\n  readonly boughtProducts: WritableSignal<PagedResultDto<ProductDto>> = signal({\r\n    items: [\r\n      {\r\n        id: uuid(),\r\n        name: 'Product 1',\r\n        brand: 'Brand 1',\r\n        genre: 'Genre 2',\r\n        returnDate: new Date('2024-01-01'),\r\n      },\r\n      {\r\n        id: uuid(),\r\n        name: 'Product 2',\r\n        brand: 'Brand 1',\r\n        genre: 'Genre 2',\r\n        returnDate: new Date('2024-02-01'),\r\n      },\r\n      {\r\n        id: uuid(),\r\n        name: 'Product 3',\r\n        brand: 'Brand 2',\r\n        genre: 'Genre 3',\r\n        returnDate: new Date('2024-03-01'),\r\n      },\r\n    ],\r\n    totalCount: 3,\r\n  });\r\n}\r\n","import { Component, Injector, OnInit, inject } from '@angular/core';\r\nimport { ProjectManagementService } from '../services/project-management.service';\r\nimport {\r\n  EXTENSIONS_IDENTIFIER,\r\n  FormPropData,\r\n  generateFormFromProps,\r\n} from '@abp/ng.components/extensible';\r\nimport { ListService, PagedResultDto, uuid } from '@abp/ng.core';\r\nimport { UntypedFormGroup } from '@angular/forms';\r\nimport { GetProjectManagementProducts, ProductDto, ProductsService } from '../../lib/proxy';\r\nimport { eProjectManagementComponents } from '../enums/components';\r\n\r\n@Component({\r\n  standalone: false,\r\n  selector: 'lib-project-management',\r\n  templateUrl: './project-management.component.html',\r\n  providers: [\r\n    ProductsService,\r\n    ListService,\r\n    {\r\n      provide: EXTENSIONS_IDENTIFIER,\r\n      useValue: eProjectManagementComponents.ProjectManagement,\r\n    },\r\n  ],\r\n})\r\nexport class ProjectManagementComponent implements OnInit {\r\n  private service = inject(ProjectManagementService);\r\n  protected readonly injector = inject(Injector);\r\n  protected readonly productsService = inject(ProductsService);\r\n  public readonly list = inject(ListService<GetProjectManagementProducts>);\r\n\r\n  data: PagedResultDto<ProductDto> = { items: [], totalCount: 0 };\r\n\r\n  //#region Just for demo\r\n  readonly #brands = this.productsService.brands();\r\n  readonly #genres = this.productsService.genres();\r\n  readonly #products = this.productsService.products();\r\n  //#endregion\r\n\r\n  protected modalBusy = false;\r\n  protected isModalVisible = false;\r\n\r\n  form: UntypedFormGroup;\r\n  selectedProduct = {};\r\n\r\n  ngOnInit(): void {\r\n    this.service.sample().subscribe(console.log);\r\n    this.refreshData();\r\n  }\r\n\r\n  protected buildForm(): void {\r\n    const data = new FormPropData(this.injector, this.selectedProduct);\r\n    this.form = generateFormFromProps(data);\r\n  }\r\n\r\n  openModal() {\r\n    this.buildForm();\r\n    this.isModalVisible = true;\r\n  }\r\n\r\n  onAdd() {\r\n    this.selectedProduct = {} as ProductDto;\r\n    this.openModal();\r\n  }\r\n\r\n  save(): void {\r\n    if (this.form.invalid) {\r\n      return;\r\n    }\r\n\r\n    this.modalBusy = true;\r\n\r\n    const { genreId, productId, returnDate, brandId } = this.form.value;\r\n\r\n    //#region Just for demo\r\n    const genreName = this.#genres.find(({ id }) => id === genreId).name;\r\n    const productName = this.#products.find(({ id }) => id === productId).name;\r\n    const brandName = this.#brands.find(({ id }) => id === brandId).name;\r\n    //#endregion\r\n\r\n    const productItems = [\r\n      ...this.productsService.boughtProducts().items,\r\n      {\r\n        id: uuid(),\r\n        name: productName,\r\n        genre: genreName,\r\n        brand: brandName,\r\n        returnDate,\r\n      },\r\n    ];\r\n    this.productsService.boughtProducts.update(() => {\r\n      return {\r\n        items: [...productItems],\r\n        totalCount: productItems.length,\r\n      };\r\n    });\r\n\r\n    this.refreshData();\r\n    this.modalBusy = false;\r\n    this.isModalVisible = false;\r\n  }\r\n\r\n  onEdit(selectedProduct) {\r\n    const { brand, genre, returnDate, name } = selectedProduct;\r\n\r\n    //#region Just for demo\r\n    const genreId = this.#genres.find(({ name }) => name === genre).id;\r\n    const productId = this.#products.find(({ name }) => name === name).id;\r\n    const brandId = this.#brands.find(({ name }) => name === brand).id;\r\n    //#endregion\r\n\r\n    this.selectedProduct = {\r\n      brandId,\r\n      genreId,\r\n      productId,\r\n      returnDate,\r\n    };\r\n    this.openModal();\r\n  }\r\n\r\n  delete(selectedProduct) {\r\n    const filteredProducts = this.productsService.boughtProducts().items.filter(product => {\r\n      return product.id !== selectedProduct.id;\r\n    });\r\n\r\n    this.productsService.boughtProducts.set({\r\n      items: filteredProducts,\r\n      totalCount: filteredProducts.length,\r\n    });\r\n\r\n    this.refreshData();\r\n  }\r\n\r\n  refreshData() {\r\n    this.data = this.productsService.boughtProducts();\r\n  }\r\n}\r\n","<abp-page [title]=\"'ProjectManagement::Menu:ProjectManagement' | abpLocalization\" [toolbar]=\"data.items\">\r\n  <div class=\"card\">\r\n    <abp-extensible-table\r\n      [data]=\"data.items\"\r\n      [recordsTotal]=\"data.totalCount\"\r\n      [list]=\"list\"\r\n    ></abp-extensible-table>\r\n  </div>\r\n</abp-page>\r\n\r\n<abp-modal [(visible)]=\"isModalVisible\" [busy]=\"modalBusy\" (disappear)=\"form = null\">\r\n  <ng-template #abpHeader>\r\n    <h3>\r\n      {{ (selectedProduct.productId ? 'AbpUi::Edit' : 'AbpUi::AddNew') | abpLocalization }}\r\n    </h3>\r\n  </ng-template>\r\n\r\n  <ng-template #abpBody>\r\n    @if (form) {\r\n    <form [formGroup]=\"form\" id=\"productForm\" (ngSubmit)=\"save()\" validateOnSubmit>\r\n      <abp-extensible-form class=\"row gap-x2\" [selectedRecord]=\"selected\"></abp-extensible-form>\r\n    </form>\r\n    }\r\n  </ng-template>\r\n  <ng-template #abpFooter>\r\n    <button type=\"button\" class=\"btn btn-outline-primary\" abpClose>\r\n      {{ 'AbpUi::Cancel' | abpLocalization }}\r\n    </button>\r\n    <abp-button iconClass=\"fa fa-check\" buttonType=\"submit\" formName=\"productForm\">{{\r\n      'AbpUi::Save' | abpLocalization\r\n    }}</abp-button>\r\n  </ng-template>\r\n</abp-modal>\r\n","import { inject, computed, signal } from '@angular/core';\nimport { SelectionType } from '@swimlane/ngx-datatable';\nimport { ConfirmationService, Confirmation } from '@abp/ng.theme.shared';\nimport { ABP, AbpWindowService, ListService, PagedResultDto } from '@abp/ng.core';\nimport { filter, switchMap, finalize } from 'rxjs/operators';\nimport type { GetVfProjectsInput, VfProjectDto } from '../../../proxy/vf-projects/models';\nimport { VfProjectService } from '../../../proxy/vf-projects/vf-project.service';\n\nexport abstract class AbstractVfProjectViewService {\n  protected readonly proxyService = inject(VfProjectService);\n  protected readonly confirmationService = inject(ConfirmationService);\n  protected readonly list = inject(ListService);\n  protected readonly abpWindowService = inject(AbpWindowService);\n\n  isExportToExcelBusy = false;\n\n  data: PagedResultDto<VfProjectDto> = {\n    items: [],\n    totalCount: 0,\n  };\n\n  selectionType = SelectionType;\n  selected = signal<VfProjectDto[]>([]);\n  allSelected = signal(false);\n  selectedCount = computed(() => this.selected().length);\n\n  filters = {} as GetVfProjectsInput;\n\n  protected clearAllSelection() {\n    this.selected.set([]);\n    this.allSelected.set(false);\n  }\n\n  protected bulkDeleteRequest() {\n    const ids = this.selected().map(({ id }) => id);\n\n    const request = !this.allSelected()\n      ? this.proxyService.deleteByIds(ids)\n      : this.proxyService.deleteAll({\n          filterText: this.list.filter,\n          ...this.filters,\n        });\n\n    return request.pipe(finalize(this.list.get));\n  }\n\n  delete(record: VfProjectDto) {\n    this.confirmationService\n      .warn('ProjectManagement::DeleteConfirmationMessage', 'ProjectManagement::AreYouSure', {\n        messageLocalizationParams: [],\n      })\n      .pipe(\n        filter(status => status === Confirmation.Status.confirm),\n        switchMap(() => this.proxyService.delete(record.id)),\n      )\n      .subscribe(this.list.get);\n  }\n\n  bulkDelete() {\n    if (this.selectedCount() < 1) {\n      return;\n    }\n\n    let message = 'ProjectManagement::';\n    let messageParam = null;\n\n    if (this.allSelected()) {\n      message += 'DeleteAllRecords';\n    } else {\n      message += 'DeleteSelectedRecords';\n      messageParam = this.selectedCount().toString();\n    }\n\n    this.confirmationService\n      .warn(message, 'AbpUi::AreYouSure', {\n        messageLocalizationParams: [messageParam],\n      })\n      .pipe(\n        filter(result => result === Confirmation.Status.confirm),\n        switchMap(() => this.bulkDeleteRequest()),\n      )\n      .subscribe();\n  }\n\n  selectAll() {\n    this.allSelected.set(!this.allSelected());\n    this.selected.set(this.allSelected() ? [...this.data.items] : []);\n  }\n\n  onSelect({ selected }) {\n    if (selected.length < 1) {\n      this.clearAllSelection();\n      return;\n    }\n\n    if (selected.length === this.data.totalCount) {\n      this.allSelected.set(true);\n      this.selected.set(selected);\n      return;\n    }\n\n    if (selected.length !== this.data.totalCount && this.allSelected()) {\n      this.allSelected.set(false);\n    }\n\n    if (selected.length === 1) {\n      this.selected.set([...this.selected()]);\n      return;\n    }\n\n    this.selected.set(selected);\n  }\n\n  hookToQuery() {\n    const getData = (query: ABP.PageQueryParams) =>\n      this.proxyService.getList({\n        ...query,\n        ...this.filters,\n        filterText: query.filter,\n      });\n\n    const setData = (list: PagedResultDto<VfProjectDto>) => {\n      this.data = list;\n\n      if (this.selectedCount() > 0) {\n        this.clearAllSelection();\n      }\n    };\n\n    this.list.hookToQuery(getData).subscribe(setData);\n  }\n\n  clearFilters() {\n    this.filters = {} as GetVfProjectsInput;\n    this.list.get();\n  }\n\n  exportToExcel() {\n    this.isExportToExcelBusy = true;\n    this.proxyService\n      .getDownloadToken()\n      .pipe(\n        switchMap(({ token }) =>\n          this.proxyService.getListAsExcelFile({\n            downloadToken: token,\n            filterText: this.list.filter,\n            ...this.filters,\n          }),\n        ),\n        finalize(() => (this.isExportToExcelBusy = false)),\n      )\n      .subscribe(result => {\n        this.abpWindowService.downloadBlob(result, 'VfProject.xlsx');\n      });\n  }\n}\n","import { Injectable } from '@angular/core';\r\nimport { AbstractVfProjectViewService } from './vf-project.abstract.service';\r\n\r\n@Injectable()\r\nexport class VfProjectViewService extends AbstractVfProjectViewService {}\r\n","import { inject } from '@angular/core';\nimport { AbstractControl, FormBuilder, FormGroup, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';\nimport { ListService, TrackByService } from '@abp/ng.core';\n\nimport { finalize, tap } from 'rxjs/operators';\n\nimport { ProjectStatus, projectStatusOptions } from '../../../proxy/enum/project-status.enum';\nimport type { VfProjectDto } from '../../../proxy/vf-projects/models';\nimport { VfProjectService } from '../../../proxy/vf-projects/vf-project.service';\n\nexport abstract class AbstractVfProjectDetailViewService {\n  protected readonly fb = inject(FormBuilder);\n  protected readonly track = inject(TrackByService);\n\n  public readonly proxyService = inject(VfProjectService);\n  public readonly list = inject(ListService);\n\n  projectStatusOptions = projectStatusOptions;\n\n  isBusy = false;\n  isVisible = false;\n  selected = {} as any;\n  form: FormGroup | undefined;\n\n  protected createRequest() {\n    const formValues = {\n      ...this.form.value,\n    };\n\n    if (this.selected) {\n      return this.proxyService.update(this.selected.id, {\n        ...formValues,\n        concurrencyStamp: this.selected.concurrencyStamp,\n      });\n    }\n\n    return this.proxyService.create(formValues);\n  }\n\n  buildForm() {\n    const { name, description, startDate, endDate, status } = this.selected || {};\n\n    this.form = this.fb.group({\n      name: [name ?? null, [Validators.required, Validators.maxLength(200)]],\n      description: [description ?? null, [Validators.maxLength(1000)]],\n      startDate: [startDate ?? null, [Validators.required]],\n      endDate: [endDate ?? null, [Validators.required]],\n      status: [status ?? ProjectStatus.Active, [Validators.required]],\n    },{\n    validators: [this.startDateBeforeEndDateValidator()],\n  });\n    \n  }\n  private startDateBeforeEndDateValidator(): ValidatorFn {\n    return (group: AbstractControl): ValidationErrors | null => {\n      const start = group.get('startDate')?.value;\n      const end = group.get('endDate')?.value;\n\n      if (start && end && new Date(start) > new Date(end)) {\n        group.get('endDate')?.setErrors({ endBeforeStart: true });\n        return { endBeforeStart: true };\n      }\n\n      return null;\n    };\n  }\n\n  showForm() {\n    this.buildForm();\n    this.isVisible = true;\n  }\n\n  create() {\n    this.selected = undefined;\n    this.showForm();\n  }\n\n  update(record: VfProjectDto) {\n    this.selected = record;\n    this.showForm();\n  }\n\n  hideForm() {\n    this.isVisible = false;\n  }\n\n  submitForm() {\n    if (this.form.invalid) return;\n\n    this.isBusy = true;\n\n    const request = this.createRequest().pipe(\n      finalize(() => (this.isBusy = false)),\n      tap(() => this.hideForm()),\n    );\n\n    request.subscribe(this.list.get);\n  }\n\n  changeVisible($event: boolean) {\n    this.isVisible = $event;\n  }\n}\n","import { Injectable } from '@angular/core';\r\nimport { AbstractVfProjectDetailViewService } from './vf-project-detail.abstract.service';\r\n\r\n@Injectable()\r\nexport class VfProjectDetailViewService extends AbstractVfProjectDetailViewService {}\r\n","import { inject, ChangeDetectorRef } from '@angular/core';\nimport { filter, switchMap } from 'rxjs/operators';\nimport { ABP, ListService, PagedResultDto } from '@abp/ng.core';\nimport { ConfirmationService, Confirmation } from '@abp/ng.theme.shared';\nimport type {\n  GetVfProjectMemberListInput,\n  VfProjectMemberWithNavigationPropertiesDto,\n} from '../../../proxy/vf-project-members/models';\nimport { VfProjectMemberService } from '../../../proxy/vf-project-members/vf-project-member.service';\n\nexport abstract class AbstractVfProjectMemberViewService {\n  protected readonly cdr = inject(ChangeDetectorRef);\n  protected readonly proxyService = inject(VfProjectMemberService);\n  protected readonly confirmationService = inject(ConfirmationService);\n  protected readonly list = inject(ListService);\n\n  data: PagedResultDto<VfProjectMemberWithNavigationPropertiesDto> = {\n    items: [],\n    totalCount: 0,\n  };\n\n  delete(record: VfProjectMemberWithNavigationPropertiesDto) {\n    this.confirmationService\n      .warn('ProjectManagement::DeleteConfirmationMessage', 'ProjectManagement::AreYouSure', {\n        messageLocalizationParams: [],\n      })\n      .pipe(\n        filter(status => status === Confirmation.Status.confirm),\n        switchMap(() => this.proxyService.delete(record.vfProjectMember.id)),\n      )\n      .subscribe(this.list.get);\n  }\n\n  hookToQuery(vfProjectId: string) {\n    const getData = (query: ABP.PageQueryParams) =>\n      this.proxyService.getListWithNavigationPropertiesByVfProjectId({\n        ...(query as GetVfProjectMemberListInput),\n        vfProjectId,\n      });\n\n    const setData = (list: PagedResultDto<VfProjectMemberWithNavigationPropertiesDto>) =>\n      (this.data = list);\n\n    this.list.hookToQuery(getData).subscribe(list => {\n      setData(list);\n      this.cdr.markForCheck();\n    });\n  }\n}\n","import { Injectable } from '@angular/core';\r\nimport { AbstractVfProjectMemberViewService } from './vf-project-member-child.abstract.service';\r\n\r\n@Injectable()\r\nexport class VfProjectMemberViewService extends AbstractVfProjectMemberViewService {}\r\n","import { inject } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { ListService, TrackByService } from '@abp/ng.core';\n\nimport { finalize, tap } from 'rxjs/operators';\n\nimport type { VfProjectMemberWithNavigationPropertiesDto } from '../../../proxy/vf-project-members/models';\nimport { VfProjectMemberService } from '../../../proxy/vf-project-members/vf-project-member.service';\n\nexport abstract class AbstractVfProjectMemberDetailViewService {\n  protected readonly fb = inject(FormBuilder);\n  protected readonly track = inject(TrackByService);\n\n  public readonly proxyService = inject(VfProjectMemberService);\n  public readonly list = inject(ListService);\n\n  public readonly getIdentityUserLookup = this.proxyService.getIdentityUserLookup;\n\n  public readonly getIdentityRoleLookup = this.proxyService.getIdentityRoleLookup;\n\n  vfProjectId: string;\n\n  isBusy = false;\n  isVisible = false;\n  selected = {} as any;\n  form: FormGroup | undefined;\n\n  protected createRequest() {\n    if (this.selected) {\n      return this.proxyService.update(this.selected.id, this.form.value);\n    }\n    return this.proxyService.create(this.form.value);\n  }\n\n  buildForm() {\n    const { identityUserId, identityRoleId } = this.selected || {};\n\n    this.form = this.fb.group({\n      vfProjectId: [this.vfProjectId],\n      identityUserId: [identityUserId ?? null, []],\n      identityRoleId: [identityRoleId ?? null, []],\n    });\n  }\n\n  showForm() {\n    this.buildForm();\n    this.isVisible = true;\n  }\n\n  create() {\n    this.selected = undefined;\n    this.showForm();\n  }\n\n  update(record: VfProjectMemberWithNavigationPropertiesDto) {\n    this.selected = record.vfProjectMember;\n    this.showForm();\n  }\n\n  hideForm() {\n    this.isVisible = false;\n  }\n\n  submitForm() {\n    if (this.form.invalid) return;\n\n    this.isBusy = true;\n\n    const request = this.createRequest().pipe(\n      finalize(() => (this.isBusy = false)),\n      tap(() => this.hideForm()),\n    );\n\n    request.subscribe(this.list.get);\n  }\n\n  changeVisible(isVisible: boolean) {\n    this.isVisible = isVisible;\n  }\n}\n","import { Injectable } from '@angular/core';\r\nimport { AbstractVfProjectMemberDetailViewService } from './vf-project-member-child-detail.abstract.service';\r\n\r\n@Injectable()\r\nexport class VfProjectMemberDetailViewService extends AbstractVfProjectMemberDetailViewService {}\r\n","import { Directive, OnInit, inject, Input } from '@angular/core';\nimport { ListService, PermissionService, TrackByService } from '@abp/ng.core';\n\nimport type { VfProjectMemberWithNavigationPropertiesDto } from '../../../proxy/vf-project-members/models';\nimport { VfProjectMemberViewService } from '../services/vf-project-member-child.service';\nimport { VfProjectMemberDetailViewService } from '../services/vf-project-member-child-detail.service';\n\n@Directive()\nexport abstract class AbstractVfProjectMemberComponent implements OnInit {\n  public readonly list = inject(ListService);\n  public readonly track = inject(TrackByService);\n  public readonly service = inject(VfProjectMemberViewService);\n  public readonly serviceDetail = inject(VfProjectMemberDetailViewService);\n  public readonly permissionService = inject(PermissionService);\n\n  protected isActionButtonVisible: boolean | null = null;\n\n  @Input() title = 'ProjectManagement::VfProjectMembers';\n  @Input() vfProjectId: string;\n\n  ngOnInit() {\n    this.serviceDetail.vfProjectId = this.vfProjectId;\n    this.service.hookToQuery(this.vfProjectId);\n    this.checkActionButtonVisibility();\n  }\n\n  create() {\n    this.serviceDetail.selected = undefined;\n    this.serviceDetail.showForm();\n  }\n\n  update(record: VfProjectMemberWithNavigationPropertiesDto) {\n    this.serviceDetail.update(record);\n  }\n\n  delete(record: VfProjectMemberWithNavigationPropertiesDto) {\n    this.service.delete(record);\n  }\n\n  checkActionButtonVisibility() {\n    if (this.isActionButtonVisible !== null) {\n      return;\n    }\n\n    const canEdit = this.permissionService.getGrantedPolicy(\n      'ProjectManagement.VfProjectMembers.Edit',\n    );\n    const canDelete = this.permissionService.getGrantedPolicy(\n      'ProjectManagement.VfProjectMembers.Delete',\n    );\n    this.isActionButtonVisible = canEdit || canDelete;\n  }\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\nimport {\r\n  NgbDateAdapter,\r\n  NgbCollapseModule,\r\n  NgbDatepickerModule,\r\n  NgbDropdownModule,\r\n} from '@ng-bootstrap/ng-bootstrap';\r\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\r\nimport { ListService, CoreModule } from '@abp/ng.core';\r\nimport { PageModule } from '@abp/ng.components/page';\r\nimport { ThemeSharedModule, DateAdapter } from '@abp/ng.theme.shared';\r\nimport { CommercialUiModule } from '@volo/abp.commercial.ng.ui';\r\nimport { VfProjectMemberViewService } from '../services/vf-project-member-child.service';\r\nimport { VfProjectMemberDetailViewService } from '../services/vf-project-member-child-detail.service';\r\nimport { VfProjectMemberDetailModalComponent } from './vf-project-member-child-detail.component';\r\nimport { AbstractVfProjectMemberComponent } from './vf-project-member-child.abstract.component';\r\n\r\n@Component({\r\n  selector: 'lib-vf-project-member',\r\n  imports: [\r\n    NgbCollapseModule,\r\n    NgbDatepickerModule,\r\n    NgbDropdownModule,\r\n    NgxValidateCoreModule,\r\n    CoreModule,\r\n    PageModule,\r\n    ThemeSharedModule,\r\n    VfProjectMemberDetailModalComponent,\r\n    CommercialUiModule,\r\n  ],\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n  providers: [\r\n    { provide: NgbDateAdapter, useClass: DateAdapter },\r\n    ListService,\r\n    VfProjectMemberViewService,\r\n    VfProjectMemberDetailViewService,\r\n  ],\r\n  templateUrl: './vf-project-member-child.component.html',\r\n})\r\nexport class VfProjectMemberComponent extends AbstractVfProjectMemberComponent {}\r\n","<div class=\"text-lg-end py-1\">\n  <!--<suite-custom-code-block-0>-->\n  <!--</suite-custom-code-block-0>-->\n  <button\n    *abpPermission=\"'ProjectManagement.VfProjectMembers.Create'\"\n    class=\"btn btn-primary btn-sm\"\n    type=\"button\"\n    (click)=\"create()\"\n  >\n    <i class=\"fa fa-plus me-1\" aria-hidden=\"true\"></i>\n    {{ 'ProjectManagement::NewVfProjectMember' | abpLocalization }}\n  </button>\n  <!--<suite-custom-code-block-1>-->\n  <!--</suite-custom-code-block-1>-->\n</div>\n<!--<suite-custom-code-block-2>-->\n<!--</suite-custom-code-block-2>-->\n<ngx-datatable default [list]=\"list\" [rows]=\"service.data.items\" [count]=\"service.data.totalCount\">\n  @if (isActionButtonVisible) {\n    <ngx-datatable-column\n      [name]=\"'AbpUi::Actions' | abpLocalization\"\n      [maxWidth]=\"150\"\n      [width]=\"150\"\n      [sortable]=\"false\"\n    >\n      <ng-template let-row=\"row\" let-i=\"rowIndex\" ngx-datatable-cell-template>\n        <div ngbDropdown container=\"body\" class=\"d-inline-block\">\n          <button\n            class=\"btn btn-primary btn-sm dropdown-toggle\"\n            data-toggle=\"dropdown\"\n            aria-haspopup=\"true\"\n            ngbDropdownToggle\n          >\n            <i class=\"fa fa-cog me-1\" aria-hidden=\"true\"></i>\n            {{ 'AbpUi::Actions' | abpLocalization }}\n          </button>\n\n          <div ngbDropdownMenu>\n            <button\n              ngbDropdownItem\n              *abpPermission=\"'ProjectManagement.VfProjectMembers.Edit'\"\n              (click)=\"update(row)\"\n            >\n              {{ 'AbpUi::Edit' | abpLocalization }}\n            </button>\n\n            <button\n              ngbDropdownItem\n              *abpPermission=\"'ProjectManagement.VfProjectMembers.Delete'\"\n              (click)=\"delete(row)\"\n            >\n              {{ 'AbpUi::Delete' | abpLocalization }}\n            </button>\n          </div>\n        </div>\n      </ng-template>\n\n      <!--<suite-custom-code-block-3>-->\n      <!--</suite-custom-code-block-3>-->\n    </ngx-datatable-column>\n  }\n\n  <ngx-datatable-column\n    name=\"{{ 'ProjectManagement::ProjectMemeberIdentityUser' | abpLocalization }}\"\n    prop=\"identityUser.id\"\n  >\n\n\n    <ng-template let-row=\"row\" ngx-datatable-cell-template>\n  <span *ngIf=\"row.identityUser?.name && row.identityUser?.surname; else fallback\">\n    {{ (row.identityUser.name + ' ' + row.identityUser.surname) | titlecase }}\n  </span>\n  <ng-template #fallback>\n    {{ row.identityUser?.name| titlecase  }}\n  </ng-template>\n</ng-template>\n  </ngx-datatable-column>\n\n  <ngx-datatable-column\n    name=\"{{ 'ProjectManagement::ProjectMemberIdentityRole' | abpLocalization }}\"\n    prop=\"identityRole.id\"\n  >   \n    <ng-template let-row=\"row\" ngx-datatable-cell-template>\n      {{ row.identityRole?.name }}\n    </ng-template>\n  </ngx-datatable-column>\n  <!--<suite-custom-code-block-4>-->\n  <!--</suite-custom-code-block-4>-->\n</ngx-datatable>\n\n<!--<suite-custom-code-block-5>-->\n<!--</suite-custom-code-block-5>-->\n\n@defer (when serviceDetail.isVisible) {\n  @if (serviceDetail.isVisible) {\n    <lib-vf-project-member-detail-modal />\n  }\n}\n","import { inject, ChangeDetectorRef } from '@angular/core';\nimport { filter, switchMap } from 'rxjs/operators';\nimport { ABP, ListService, PagedResultDto } from '@abp/ng.core';\nimport { ConfirmationService, Confirmation } from '@abp/ng.theme.shared';\nimport type {\n  GetVfProjectActivityLogListInput,\n  VfProjectActivityLogWithNavigationPropertiesDto,\n} from '../../../proxy/vf-project-activity-logs/models';\nimport { VfProjectActivityLogService } from '../../../proxy/vf-project-activity-logs/vf-project-activity-log.service';\n\nexport abstract class AbstractVfProjectActivityLogViewService {\n  protected readonly cdr = inject(ChangeDetectorRef);\n  protected readonly proxyService = inject(VfProjectActivityLogService);\n  protected readonly confirmationService = inject(ConfirmationService);\n  protected readonly list = inject(ListService);\n\n  data: PagedResultDto<VfProjectActivityLogWithNavigationPropertiesDto> = {\n    items: [],\n    totalCount: 0,\n  };\n\n  delete(record: VfProjectActivityLogWithNavigationPropertiesDto) {\n    this.confirmationService\n      .warn('ProjectManagement::DeleteConfirmationMessage', 'ProjectManagement::AreYouSure', {\n        messageLocalizationParams: [],\n      })\n      .pipe(\n        filter(status => status === Confirmation.Status.confirm),\n        switchMap(() => this.proxyService.delete(record.vfProjectActivityLog.id)),\n      )\n      .subscribe(this.list.get);\n  }\n\n  hookToQuery(vfProjectId: string) {\n    const getData = (query: ABP.PageQueryParams) =>\n      this.proxyService.getListWithNavigationPropertiesByVfProjectId({\n        ...(query as GetVfProjectActivityLogListInput),\n        vfProjectId,\n      });\n\n    const setData = (list: PagedResultDto<VfProjectActivityLogWithNavigationPropertiesDto>) =>\n      (this.data = list);\n\n    this.list.hookToQuery(getData).subscribe(list => {\n      setData(list);\n      this.cdr.markForCheck();\n    });\n  }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractVfProjectActivityLogViewService } from './vf-project-activity-log-child.abstract.service';\n\n@Injectable()\nexport class VfProjectActivityLogViewService extends AbstractVfProjectActivityLogViewService {}\n","import { inject } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { ListService, TrackByService } from '@abp/ng.core';\n\nimport { finalize, tap } from 'rxjs/operators';\n\nimport type { VfProjectActivityLogWithNavigationPropertiesDto } from '../../../proxy/vf-project-activity-logs/models';\nimport { VfProjectActivityLogService } from '../../../proxy/vf-project-activity-logs/vf-project-activity-log.service';\n\nexport abstract class AbstractVfProjectActivityLogDetailViewService {\n  protected readonly fb = inject(FormBuilder);\n  protected readonly track = inject(TrackByService);\n\n  public readonly proxyService = inject(VfProjectActivityLogService);\n  public readonly list = inject(ListService);\n\n  public readonly getIdentityUserLookup = this.proxyService.getIdentityUserLookup;\n  isViewMode = false;\n  vfProjectId: string;\n\n  isBusy = false;\n  isVisible = false;\n  selected = {} as any;\n  form: FormGroup | undefined;\n\n  protected createRequest() {\n    if (this.selected) {\n      return this.proxyService.update(this.selected.id, this.form.value);\n    }\n    return this.proxyService.create(this.form.value);\n  }\n\n  buildForm() {\n    const { identityUserId, projectAction, details } = this.selected || {};\n\n    this.form = this.fb.group({\n      vfProjectId: [this.vfProjectId],\n      identityUserId: [identityUserId ?? null, []],\n      projectAction: [projectAction ?? null, [Validators.required, Validators.maxLength(255)]],\n      details: [details ?? null, [Validators.maxLength(1000)]],\n    });\n  }\n\n showForm(viewMode: boolean = false) {  \n     this.isViewMode = viewMode;\n    this.buildForm();\n\n    if (this.isViewMode) {\n    this.form.disable(); \n  } else {\n    this.form.enable(); \n  }\n    this.isVisible = true;\n  }\n  create() {\n    this.selected = undefined;\n    this.showForm();\n  }\n\n  update(record: VfProjectActivityLogWithNavigationPropertiesDto) {\n    this.selected = record.vfProjectActivityLog;\n    this.showForm();\n  }\n  view(record: VfProjectActivityLogWithNavigationPropertiesDto) {\n  this.selected = record.vfProjectActivityLog;\n  this.showForm(true); \n}\n\n\n  hideForm() {\n    this.isVisible = false;\n  }\n\n  submitForm() {\n    if (this.form.invalid) return;\n\n    this.isBusy = true;\n\n    const request = this.createRequest().pipe(\n      finalize(() => (this.isBusy = false)),\n      tap(() => this.hideForm()),\n    );\n\n    request.subscribe(this.list.get);\n  }\n\n  changeVisible(isVisible: boolean) {\n    this.isVisible = isVisible;\n  }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractVfProjectActivityLogDetailViewService } from './vf-project-activity-log-child-detail.abstract.service';\n\n@Injectable()\nexport class VfProjectActivityLogDetailViewService extends AbstractVfProjectActivityLogDetailViewService {}\n","import { Directive, OnInit, inject, Input } from '@angular/core';\nimport { ListService, PermissionService, TrackByService } from '@abp/ng.core';\n\nimport type { VfProjectActivityLogWithNavigationPropertiesDto } from '../../../proxy/vf-project-activity-logs/models';\nimport { VfProjectActivityLogViewService } from '../services/vf-project-activity-log-child.service';\nimport { VfProjectActivityLogDetailViewService } from '../services/vf-project-activity-log-child-detail.service';\n\n@Directive()\nexport abstract class AbstractVfProjectActivityLogComponent implements OnInit {\n  public readonly list = inject(ListService);\n  public readonly track = inject(TrackByService);\n  public readonly service = inject(VfProjectActivityLogViewService);\n  public readonly serviceDetail = inject(VfProjectActivityLogDetailViewService);\n  public readonly permissionService = inject(PermissionService);\n\n  protected isActionButtonVisible: boolean | null = null;\n\n  @Input() title = 'ProjectManagement::VfProjectActivityLogs';\n  @Input() vfProjectId: string;\n\n  ngOnInit() {\n    this.serviceDetail.vfProjectId = this.vfProjectId;\n    this.service.hookToQuery(this.vfProjectId);\n    this.checkActionButtonVisibility();\n  }\n\n  create() {\n    this.serviceDetail.selected = undefined;\n    this.serviceDetail.showForm();\n  }\n\n  update(record: VfProjectActivityLogWithNavigationPropertiesDto) {\n    this.serviceDetail.update(record);\n  }\n  view(record: VfProjectActivityLogWithNavigationPropertiesDto) {\n    this.serviceDetail.view(record);\n  }\n  onRowActivate(event: any) {\n  if (event.type === 'click') {\n    this.view(event.row); \n  }}\n  delete(record: VfProjectActivityLogWithNavigationPropertiesDto) {\n    this.service.delete(record);\n  }\n\n  checkActionButtonVisibility() {\n    if (this.isActionButtonVisible !== null) {\n      return;\n    }\n\n    const canEdit = this.permissionService.getGrantedPolicy(\n      'ProjectManagement.VfProjectActivityLogs.Edit',\n    );\n    const canDelete = this.permissionService.getGrantedPolicy(\n      'ProjectManagement.VfProjectActivityLogs.Delete',\n    );\n    const canView = this.permissionService.getGrantedPolicy(\n      'ProjectManagement.VfProjectActivityLogs.View',\n    );\n    this.isActionButtonVisible = canEdit || canDelete||canView;\n  }\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport {\n  NgbDateAdapter,\n  NgbCollapseModule,\n  NgbDatepickerModule,\n  NgbDropdownModule,\n} from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { ListService, CoreModule } from '@abp/ng.core';\nimport { PageModule } from '@abp/ng.components/page';\nimport { ThemeSharedModule, DateAdapter } from '@abp/ng.theme.shared';\nimport { CommercialUiModule } from '@volo/abp.commercial.ng.ui';\nimport { VfProjectActivityLogViewService } from '../services/vf-project-activity-log-child.service';\nimport { VfProjectActivityLogDetailViewService } from '../services/vf-project-activity-log-child-detail.service';\nimport { VfProjectActivityLogDetailModalComponent } from './vf-project-activity-log-child-detail.component';\nimport { AbstractVfProjectActivityLogComponent } from './vf-project-activity-log-child.abstract.component';\n\n@Component({\n  selector: 'lib-vf-project-activity-log',\n  imports: [\n    NgbCollapseModule,\n    NgbDatepickerModule,\n    NgbDropdownModule,\n    NgxValidateCoreModule,\n    CoreModule,\n    PageModule,\n    ThemeSharedModule,\n    VfProjectActivityLogDetailModalComponent,\n    CommercialUiModule,\n  ],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  providers: [\n    { provide: NgbDateAdapter, useClass: DateAdapter },\n    ListService,\n    VfProjectActivityLogViewService,\n    VfProjectActivityLogDetailViewService,\n  ],\n  templateUrl: './vf-project-activity-log-child.component.html',\n})\nexport class VfProjectActivityLogComponent extends AbstractVfProjectActivityLogComponent {}\n","<div class=\"text-lg-end py-1\">  \n  <button *abpPermission=\"'ProjectManagement.VfProjectActivityLogs.Create'\" class=\"btn btn-primary btn-sm\" type=\"button\"\n    (click)=\"create()\">\n    <i class=\"fa fa-plus me-1\" aria-hidden=\"true\"></i>\n    {{ 'ProjectManagement::NewVfProjectActivityLog' | abpLocalization }}\n  </button>  \n</div>\n<ngx-datatable default [list]=\"list\" [rows]=\"service.data.items\" [count]=\"service.data.totalCount\" (activate)=\"onRowActivate($event)\">\n  @if (isActionButtonVisible) {\n  <ngx-datatable-column [name]=\"'AbpUi::Actions' | abpLocalization\" [maxWidth]=\"150\" [width]=\"150\" [sortable]=\"false\">\n      <ng-template let-row=\"row\" ngx-datatable-cell-template>\n    <button\n      class=\"btn btn-sm btn-outline-primary\"\n      (click)=\"view(row)\"\n      title=\"{{ 'AbpUi::View' | abpLocalization }}\"\n    >\n      <i class=\"fa fa-eye\"></i>\n    </button>\n  </ng-template>\n  </ngx-datatable-column>\n  }\n  <ngx-datatable-column name=\"{{ 'ProjectManagement::ProjectAction' | abpLocalization }}\"\n    prop=\"vfProjectActivityLog.projectAction\">\n    <ng-template let-row=\"row\" ngx-datatable-cell-template>\n      {{ row.vfProjectActivityLog.projectAction }}\n    </ng-template>\n  </ngx-datatable-column>\n\n  <ngx-datatable-column name=\"{{ 'ProjectManagement::ProjectActivityIdentityUser' | abpLocalization }}\" prop=\"identityUser.id\">\n    <ng-template let-row=\"row\" ngx-datatable-cell-template>\n            <span *ngIf=\"row.identityUser?.name && row.identityUser?.surname; else fallback\">\n              {{ (row.identityUser.name + ' ' + row.identityUser.surname) | titlecase }}\n            </span>\n            <ng-template #fallback>\n              {{ row.identityUser?.name| titlecase }}\n            </ng-template>\n          </ng-template>\n  </ngx-datatable-column> \n</ngx-datatable>\n@defer (when serviceDetail.isVisible) {\n@if (serviceDetail.isVisible) {\n<lib-vf-project-activity-log-detail-modal />\n}\n}","import { Directive, OnInit, inject, ViewChild } from '@angular/core';\n\nimport {\n  NgbNav,\n  NgbNavItem,\n  NgbNavLink,\n  NgbNavContent,\n  NgbNavOutlet,\n} from '@ng-bootstrap/ng-bootstrap';\nimport { ListService, PermissionService, TrackByService } from '@abp/ng.core';\n\nimport { projectStatusOptions } from '../../../proxy/enum/project-status.enum';\nimport type { VfProjectDto } from '../../../proxy/vf-projects/models';\nimport { VfProjectViewService } from '../services/vf-project.service';\nimport { VfProjectDetailViewService } from '../services/vf-project-detail.service';\nimport { VfProjectMemberComponent } from '../../vf-project-member/components/vf-project-member-child.component';\n\nimport { VfProjectActivityLogComponent } from '../../vf-project-activity-log/components/vf-project-activity-log-child.component';\n\nexport const ChildTabDependencies = [NgbNav, NgbNavItem, NgbNavLink, NgbNavContent, NgbNavOutlet];\n\nexport const ChildComponentDependencies = [VfProjectMemberComponent, VfProjectActivityLogComponent];\n\n@Directive()\nexport abstract class AbstractVfProjectComponent implements OnInit {\n  public readonly list = inject(ListService);\n  public readonly track = inject(TrackByService);\n  public readonly service = inject(VfProjectViewService);\n  public readonly serviceDetail = inject(VfProjectDetailViewService);\n  public readonly permissionService = inject(PermissionService);\n\n  protected title = 'ProjectManagement::VfProjects';\n  protected isActionButtonVisible: boolean | null = null;\n  protected isChildEntitiesPermitted: boolean | null = null;\n\n  projectStatusOptions = projectStatusOptions;\n\n  @ViewChild('vfProjectTable') table: any;\n\n  ngOnInit() {\n    this.service.hookToQuery();\n    this.checkActionButtonVisibility();\n    this.checkChildEntityPermissions();\n  }\n\n  clearFilters() {\n    this.service.clearFilters();\n  }\n\n  showForm() {\n    this.serviceDetail.showForm();\n  }\n\n  create() {\n    this.serviceDetail.selected = undefined;\n    this.serviceDetail.showForm();\n  }\n\n  update(record: VfProjectDto) {\n    this.serviceDetail.update(record);\n  }\n\n  delete(record: VfProjectDto) {\n    this.service.delete(record);\n  }\n\n  exportToExcel() {\n    this.service.exportToExcel();\n  }\n\n  toggleExpandRow(row) {\n    this.table.rowDetail.toggleExpandRow(row);\n  }\n\n  checkChildEntityPermissions() {\n    if (this.isChildEntitiesPermitted !== null) {\n      return;\n    }\n\n    const childPermissions = [\n      'ProjectManagement.VfProjectMembers',\n\n      'ProjectManagement.VfProjectActivityLogs',\n    ];\n    this.isChildEntitiesPermitted = childPermissions.some(permission =>\n      this.permissionService.getGrantedPolicy(permission),\n    );\n  }\n\n  checkActionButtonVisibility() {\n    if (this.isActionButtonVisible !== null) {\n      return;\n    }\n\n    const canEdit = this.permissionService.getGrantedPolicy('ProjectManagement.VfProjects.Edit');\n    const canDelete = this.permissionService.getGrantedPolicy(\n      'ProjectManagement.VfProjects.Delete',\n    );\n    this.isActionButtonVisible = canEdit || canDelete;\n  }\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\nimport {\r\n  NgbDateAdapter,\r\n  NgbTimeAdapter,\r\n  NgbCollapseModule,\r\n  NgbDatepickerModule,\r\n  NgbTimepickerModule,\r\n  NgbDropdownModule,\r\n} from '@ng-bootstrap/ng-bootstrap';\r\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\r\nimport { ListService, CoreModule, UtcToLocalPipe } from '@abp/ng.core';\r\nimport { ThemeSharedModule, DateAdapter, TimeAdapter } from '@abp/ng.theme.shared';\r\nimport { PageModule } from '@abp/ng.components/page';\r\nimport { CommercialUiModule } from '@volo/abp.commercial.ng.ui';\r\nimport { VfProjectViewService } from '../services/vf-project.service';\r\nimport { VfProjectDetailViewService } from '../services/vf-project-detail.service';\r\nimport { VfProjectDetailModalComponent } from './vf-project-detail.component';\r\nimport {\r\n  AbstractVfProjectComponent,\r\n  ChildTabDependencies,\r\n  ChildComponentDependencies,\r\n} from './vf-project.abstract.component';\r\n\r\n@Component({\r\n  selector: 'lib-vf-project',\r\n  changeDetection: ChangeDetectionStrategy.Default,\r\n  imports: [\r\n    ...ChildTabDependencies,\r\n    NgbCollapseModule,\r\n    NgbDatepickerModule,\r\n    NgbTimepickerModule,\r\n    NgbDropdownModule,\r\n    NgxValidateCoreModule,UtcToLocalPipe ,\r\n    PageModule,\r\n    CoreModule,\r\n    ThemeSharedModule,\r\n    CommercialUiModule,\r\n    VfProjectDetailModalComponent,\r\n    ...ChildComponentDependencies,\r\n  ],\r\n  providers: [\r\n    ListService,\r\n    VfProjectViewService,\r\n    VfProjectDetailViewService,\r\n    { provide: NgbDateAdapter, useClass: DateAdapter },\r\n    { provide: NgbTimeAdapter, useClass: TimeAdapter },\r\n  ],\r\n  templateUrl: './vf-project.component.html',\r\n  styles: `\r\n    ::ng-deep.datatable-row-detail {\r\n      background: transparent !important;\r\n    }\r\n  `,\r\n})\r\nexport class VfProjectComponent extends AbstractVfProjectComponent {}\r\n","<abp-page [title]=\"title | abpLocalization\">\n  <abp-page-toolbar-container class=\"col\">\n    <!--<suite-custom-code-block-0>-->\n    <!--</suite-custom-code-block-0>-->\n    <div class=\"text-lg-end pt-2\">\n      <!--<suite-custom-code-block-1>-->\n      <!--</suite-custom-code-block-1>-->\n\n      <button\n        class=\"btn btn-primary btn-sm mx-2\"\n        type=\"button\"\n        [disabled]=\"service.isExportToExcelBusy\"\n        (click)=\"exportToExcel()\"\n      >\n        {{ 'ProjectManagement::ExportToExcel' | abpLocalization }}\n      </button>\n\n      <button\n        *abpPermission=\"'ProjectManagement.VfProjects.Create'\"\n        class=\"btn btn-primary btn-sm\"\n        type=\"button\"\n        (click)=\"create()\"\n      >\n        <i class=\"fa fa-plus me-1\" aria-hidden=\"true\"></i>\n        {{ 'ProjectManagement::NewVfProject' | abpLocalization }}\n      </button>\n      <!--<suite-custom-code-block-2>-->\n      <!--</suite-custom-code-block-2>-->\n    </div>\n  </abp-page-toolbar-container>\n\n  <abp-advanced-entity-filters localizationSourceName=\"ProjectManagement\" [list]=\"list\">\n    @if (service.filters; as filters) {\n      <abp-advanced-entity-filters-form>\n        <form #filterForm (keyup.enter)=\"list.get()\">\n          <!--<suite-custom-code-block-3>-->\n          <!--</suite-custom-code-block-3>-->\n          <div class=\"row\">\n            <div class=\"col-12 col-sm-auto\">\n              <div class=\"mb-3\">\n                <label class=\"form-label\" for=\"nameFilter\">\n                  {{ 'ProjectManagement::Name' | abpLocalization }}\n                </label>\n\n                <input\n                  id=\"nameFilter\"\n                  class=\"form-control\"\n                  [(ngModel)]=\"filters.name\"\n                  [ngModelOptions]=\"{ standalone: true }\"\n                />\n              </div>\n            </div>\n\n            <div class=\"col-12 col-sm-auto\">\n              <div class=\"mb-3\">\n                <label class=\"form-label\" for=\"descriptionFilter\">\n                  {{ 'ProjectManagement::Description' | abpLocalization }}\n                </label>\n\n                <input\n                  id=\"descriptionFilter\"\n                  class=\"form-control\"\n                  [(ngModel)]=\"filters.description\"\n                  [ngModelOptions]=\"{ standalone: true }\"\n                />\n              </div>\n            </div>\n\n            <div class=\"col-12 col-sm-auto\">\n              <div class=\"mb-3\">\n                <label class=\"form-label\" for=\"minStartDate\">\n                  {{ 'ProjectManagement::MinStartDate' | abpLocalization }}\n                </label>\n\n                <div class=\"input-group\" validationTarget>\n                  <input\n                    id=\"minStartDate\"\n                    class=\"form-control\"\n                    #minStartDateInput\n                    #minStartDateDatepicker=\"ngbDatepicker\"\n                    name=\"minStartDate\"\n                    ngbDatepicker\n                    container=\"body\"\n                    readonly\n                    (click)=\"minStartDateDatepicker.toggle()\"\n                    (keyup.space)=\"minStartDateDatepicker.toggle()\"\n                    [(ngModel)]=\"filters.startDateMin\"\n                    [ngModelOptions]=\"{ standalone: true }\"\n                  />\n                  @if (minStartDateInput.value) {\n                    <div class=\"input-group-append\">\n                      <button\n                        class=\"btn btn-link px-2\"\n                        type=\"button\"\n                        [title]=\"'AbpUi::Clear' | abpLocalization\"\n                        (click)=\"\n                          minStartDateDatepicker.writeValue(null);\n                          minStartDateDatepicker.manualDateChange(null, true)\n                        \"\n                      >\n                        <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\n                      </button>\n                    </div>\n                  }\n                </div>\n              </div>\n            </div>\n\n            <div class=\"col-12 col-sm-auto\">\n              <div class=\"mb-3\">\n                <label class=\"form-label\" for=\"maxStartDate\">\n                  {{ 'ProjectManagement::MaxStartDate' | abpLocalization }}\n                </label>\n\n             <div class=\"input-group\" validationTarget>\n                  <input\n                    id=\"maxStartDate\"\n                    class=\"form-control\"\n                    #maxStartDateInput\n                    #maxStartDateDatepicker=\"ngbDatepicker\"\n                    name=\"maxStartDate\"\n                    ngbDatepicker\n                    readonly\n                    (click)=\"maxStartDateDatepicker.toggle()\"\n                    (keyup.space)=\"maxStartDateDatepicker.toggle()\"\n                    [(ngModel)]=\"filters.startDateMax\"\n                    [ngModelOptions]=\"{ standalone: true }\"\n                  />\n                  @if (maxStartDateInput.value) {\n                    <div class=\"input-group-append\">\n                      <button\n                        class=\"btn btn-link px-2\"\n                        type=\"button\"\n                        [title]=\"'AbpUi::Clear' | abpLocalization\"\n                        (click)=\"\n                          maxStartDateDatepicker.writeValue(null);\n                          maxStartDateDatepicker.manualDateChange(null, true)\n                        \"\n                      >\n                        <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\n                      </button>\n                    </div>\n                  }\n                </div>\n              </div>\n            </div>\n\n            <div class=\"col-12 col-sm-auto\">\n              <div class=\"mb-3\">\n                <label class=\"form-label\" for=\"statusFilter\">\n                  {{ 'ProjectManagement::Status' | abpLocalization }}\n                </label>\n\n                <select\n                  id=\"statusFilter\"\n                  class=\"form-select form-control\"\n                  [(ngModel)]=\"filters.status\"\n                  [ngModelOptions]=\"{ standalone: true }\"\n                >\n                  <option [ngValue]=\"null\"></option>\n                  <option\n                    *ngFor=\"let option of projectStatusOptions; trackBy: track.by('value')\"\n                    [ngValue]=\"option.value\"\n                  >\n                    {{ 'ProjectManagement::Enum:ProjectStatus.' + option.value | abpLocalization }}\n                  </option>\n                </select>\n              </div>\n            </div>\n\n            <div class=\"col-12 col-sm-auto align-self-end mb-3\">\n              <div class=\"row\">\n                <div class=\"col-6 col-sm-auto d-grid\">\n                  <button type=\"button\" class=\"btn btn-outline-primary\" (click)=\"clearFilters()\">\n                    <span>{{ 'AbpUi::Clear' | abpLocalization }}</span>\n                  </button>\n                </div>\n                <div class=\"col-6 col-sm-auto d-grid\">\n                  <button type=\"button\" class=\"btn btn-primary\" (click)=\"list.get()\">\n                    <span>{{ 'AbpUi::Refresh' | abpLocalization }}</span>\n                  </button>\n                </div>\n              </div>\n            </div>\n          </div>\n          <!--<suite-custom-code-block-4>-->\n          <!--</suite-custom-code-block-4>-->\n        </form>\n      </abp-advanced-entity-filters-form>\n    }\n  </abp-advanced-entity-filters>\n  <!--<suite-custom-code-block-5>-->\n  <!--</suite-custom-code-block-5>-->\n  <div class=\"card\">\n    <div class=\"card-header d-flex justify-content-between align-items-center\">\n      @if (service.selectedCount() > 0) {\n        <h4 class=\"card-title\">\n          {{\n            'ProjectManagement::AllItemsAreSelected'\n              | abpLocalization\n                : (service.allSelected() ? service.data.totalCount : service.selectedCount())\n          }}\n        </h4>\n\n        <div>\n          <button class=\"btn btn-outline-primary btn-sm\" (click)=\"service.selectAll()\">\n            @if (service.allSelected()) {\n              {{ 'ProjectManagement::ClearSelection' | abpLocalization }}\n            } @else {\n              {{ 'ProjectManagement::SelectAllItems' | abpLocalization: service.data.totalCount }}\n            }\n          </button>\n\n          <button\n            *abpPermission=\"'ProjectManagement.VfProjects.Delete'\"\n            class=\"btn btn-danger btn-sm mx-1\"\n            (click)=\"service.bulkDelete()\"\n          >\n            <i class=\"fa fa-trash me-1\" aria-hidden=\"true\"></i>\n            {{ 'AbpUi::Delete' | abpLocalization: service.selectedCount() }}\n          </button>\n        </div>\n      }\n    </div>\n\n    <!--<suite-custom-code-block-6>-->\n    <!--</suite-custom-code-block-6>-->\n    <div class=\"card-body\">\n      <!--<suite-custom-code-block-7>-->\n      <!--</suite-custom-code-block-7>-->\n      <ngx-datatable\n        #vfProjectTable\n        default\n        [rows]=\"service.data.items\"\n        [count]=\"service.data.totalCount\"\n        [list]=\"list\"\n        [selected]=\"service.selected()\"\n        [selectionType]=\"service.selectionType.checkbox\"\n        (select)=\"service.onSelect($event)\"\n      >\n        <!--<suite-custom-code-block-8>-->\n        <!--</suite-custom-code-block-8>-->\n\n        <ngx-datatable-column\n          [width]=\"40\"\n          [sortable]=\"false\"\n          [canAutoResize]=\"false\"\n          [draggable]=\"false\"\n          [resizeable]=\"false\"\n        >\n          <ng-template\n            ngx-datatable-header-template\n            let-value=\"value\"\n            let-allRowsSelected=\"allRowsSelected\"\n            let-selectFn=\"selectFn\"\n          >\n            @if (service.data.items.length > 0) {\n              <input\n                type=\"checkbox\"\n                class=\"form-check-input\"\n                [checked]=\"allRowsSelected\"\n                (change)=\"selectFn(!allRowsSelected)\"\n              />\n            }\n          </ng-template>\n          <ng-template\n            ngx-datatable-cell-template\n            let-value=\"value\"\n            let-isSelected=\"isSelected\"\n            let-onCheckboxChangeFn=\"onCheckboxChangeFn\"\n          >\n            <input\n              class=\"form-check-input\"\n              type=\"checkbox\"\n              [checked]=\"isSelected\"\n              (change)=\"onCheckboxChangeFn($event)\"\n            />\n          </ng-template>\n        </ngx-datatable-column>\n\n        <!-- Row Detail Template -->\n        <ngx-datatable-row-detail rowHeight=\"100%\">\n          <ng-template let-row=\"row\" let-expanded=\"expanded\" ngx-datatable-row-detail-template>\n            <ul id=\"vfProject-nav-tabs mb-0\" ngbNav #nav=\"ngbNav\" class=\"nav-tabs\">\n              <li\n                *abpPermission=\"'ProjectManagement.VfProjectMembers'\"\n                id=\"vf-project-member-informations\"\n                ngbNavItem\n              >\n                <a ngbNavLink>{{ 'ProjectManagement::VfProjectMember' | abpLocalization }}</a>\n\n                <ng-template ngbNavContent>\n                  <lib-vf-project-member [vfProjectId]=\"row.id\" />\n                </ng-template>\n              </li>\n\n              <li\n                *abpPermission=\"'ProjectManagement.VfProjectActivityLogs'\"\n                id=\"vf-project-activity-log-informations\"\n                ngbNavItem\n              >\n                <a ngbNavLink>{{ 'ProjectManagement::VfProjectActivityLog' | abpLocalization }}</a>\n\n                <ng-template ngbNavContent>\n                  <lib-vf-project-activity-log [vfProjectId]=\"row.id\" />\n                </ng-template>\n              </li>\n            </ul>\n\n            <div [ngbNavOutlet]=\"nav\" class=\"m-0 fade-in-top\"></div>\n          </ng-template>\n        </ngx-datatable-row-detail>\n        @if (isChildEntitiesPermitted) {\n          <ngx-datatable-column\n            [width]=\"50\"\n            [resizeable]=\"false\"\n            [sortable]=\"false\"\n            [draggable]=\"false\"\n            [canAutoResize]=\"false\"\n          >\n            <ng-template let-row=\"row\" let-expanded=\"expanded\" ngx-datatable-cell-template>\n              <a\n                href=\"javascript:void(0)\"\n                class=\"ngx-datatable-toggle text-decoration-none text-muted fa\"\n                [class.fa-angle-down]=\"!expanded\"\n                [class.fa-angle-up]=\"expanded\"\n                title=\"Expand/Collapse Row\"\n                (click)=\"toggleExpandRow(row)\"\n              >\n              </a>\n            </ng-template>\n          </ngx-datatable-column>\n        }\n\n        @if (isActionButtonVisible) {\n          <ngx-datatable-column\n            [name]=\"'AbpUi::Actions' | abpLocalization\"\n            [maxWidth]=\"150\"\n            [width]=\"150\"\n            [sortable]=\"false\"\n          >\n            <ng-template let-row=\"row\" let-i=\"rowIndex\" ngx-datatable-cell-template>\n              <div ngbDropdown container=\"body\" class=\"d-inline-block\">\n                <button\n                  class=\"btn btn-primary btn-sm dropdown-toggle\"\n                  data-toggle=\"dropdown\"\n                  aria-haspopup=\"true\"\n                  ngbDropdownToggle\n                >\n                  <i class=\"fa fa-cog me-1\" aria-hidden=\"true\"></i>\n                  {{ 'AbpUi::Actions' | abpLocalization }}\n                </button>\n\n                <div ngbDropdownMenu>\n                  <button\n                    ngbDropdownItem\n                    *abpPermission=\"'ProjectManagement.VfProjects.Edit'\"\n                    (click)=\"update(row)\"\n                  >\n                    {{ 'AbpUi::Edit' | abpLocalization }}\n                  </button>\n\n                  <button\n                    ngbDropdownItem\n                    *abpPermission=\"'ProjectManagement.VfProjects.Delete'\"\n                    (click)=\"delete(row)\"\n                  >\n                    {{ 'AbpUi::Delete' | abpLocalization }}\n                  </button>\n                </div>\n              </div>\n            </ng-template>\n          </ngx-datatable-column>\n        }\n        <ngx-datatable-column name=\"{{ 'ProjectManagement::Name' | abpLocalization }}\" prop=\"name\">\n          <ng-template let-row=\"row\" ngx-datatable-cell-template>\n            {{ row.name }}\n          </ng-template>\n        </ngx-datatable-column>\n        <ngx-datatable-column\n          name=\"{{ 'ProjectManagement::Description' | abpLocalization }}\"\n          prop=\"description\"\n        >\n          <ng-template let-row=\"row\" ngx-datatable-cell-template>\n            {{ row.description }}\n          </ng-template>\n        </ngx-datatable-column>\n        <ngx-datatable-column\n          name=\"{{ 'ProjectManagement::StartDate' | abpLocalization }}\"\n          prop=\"startDate\"\n        >\n          <ng-template let-row=\"row\" ngx-datatable-cell-template>\n            {{ row.startDate | abpUtcToLocal: 'date' }}\n          </ng-template>\n        </ngx-datatable-column>\n        <ngx-datatable-column\n          name=\"{{ 'ProjectManagement::EndDate' | abpLocalization }}\"\n          prop=\"endDate\"\n        >\n          <ng-template let-row=\"row\" ngx-datatable-cell-template>\n            {{ row.endDate | abpUtcToLocal: 'date' }}\n          </ng-template>\n        </ngx-datatable-column>\n        <ngx-datatable-column\n          name=\"{{ 'ProjectManagement::Status' | abpLocalization }}\"\n          prop=\"status\"\n        >\n          <ng-template let-row=\"row\" ngx-datatable-cell-template>\n            {{\n              row.status !== null\n                ? ('ProjectManagement::Enum:ProjectStatus.' + row.status | abpLocalization)\n                : ''\n            }}\n          </ng-template>\n        </ngx-datatable-column>\n        <!--<suite-custom-code-block-9>-->\n        <!--</suite-custom-code-block-9>-->\n      </ngx-datatable>\n      <!--<suite-custom-code-block-10>-->\n      <!--</suite-custom-code-block-10>-->\n    </div>\n  </div>\n  <!--<suite-custom-code-block-11>-->\n  <!--</suite-custom-code-block-11>-->\n</abp-page>\n<!--<suite-custom-code-block-12>-->\n<!--</suite-custom-code-block-12>-->\n\n@defer (when serviceDetail.isVisible) {\n  @if (serviceDetail.isVisible) {\n    <lib-vf-project-detail-modal />\n  }\n}\n","import { authGuard, permissionGuard } from '@abp/ng.core';\r\nimport { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { VfProjectComponent } from './components/vf-project.component';\r\n\r\nexport const routes: Routes = [\r\n  {\r\n    path: '',\r\n    component: VfProjectComponent,\r\n    canActivate: [authGuard, permissionGuard],\r\n  },\r\n];\r\n\r\n@NgModule({\r\n  imports: [RouterModule.forChild(routes)],\r\n  exports: [RouterModule],\r\n})\r\nexport class VfProjectRoutingModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { VfProjectComponent } from './components/vf-project.component';\r\nimport { VfProjectRoutingModule } from './vf-project-routing.module';\r\n\r\n@NgModule({\r\n  declarations: [],\r\n  imports: [VfProjectComponent, VfProjectRoutingModule],\r\n})\r\nexport class VfProjectModule {}\r\n\r\nexport function loadVfProjectModuleAsChild() {\r\n  return Promise.resolve(VfProjectModule);\r\n}\r\n","import { inject, computed, signal } from '@angular/core';\nimport { SelectionType } from '@swimlane/ngx-datatable';\nimport { ConfirmationService, Confirmation } from '@abp/ng.theme.shared';\nimport { ABP, AbpWindowService, ListService, PagedResultDto } from '@abp/ng.core';\nimport { filter, switchMap, finalize } from 'rxjs/operators';\nimport type {\n  GetVfTasksInput,\n  VfTaskWithNavigationPropertiesDto,\n} from '../../../proxy/vf-tasks/models';\nimport { VfTaskService } from '../../../proxy/vf-tasks/vf-task.service';\n\nexport abstract class AbstractVfTaskViewService {\n  protected readonly proxyService = inject(VfTaskService);\n  protected readonly confirmationService = inject(ConfirmationService);\n  protected readonly list = inject(ListService);\n  protected readonly abpWindowService = inject(AbpWindowService);\n\n  isExportToExcelBusy = false;\n\n  data: PagedResultDto<VfTaskWithNavigationPropertiesDto> = {\n    items: [],\n    totalCount: 0,\n  };\n\n  selectionType = SelectionType;\n  selected = signal<VfTaskWithNavigationPropertiesDto[]>([]);\n  allSelected = signal(false);\n  selectedCount = computed(() => this.selected().length);\n\n  filters = {} as GetVfTasksInput;\n\n  protected clearAllSelection() {\n    this.selected.set([]);\n    this.allSelected.set(false);\n  }\n\n  protected bulkDeleteRequest() {\n    const ids = this.selected().map(({ vfTask: { id } }) => id);\n\n    const request = !this.allSelected()\n      ? this.proxyService.deleteByIds(ids)\n      : this.proxyService.deleteAll({\n          filterText: this.list.filter,\n          ...this.filters,\n        });\n\n    return request.pipe(finalize(this.list.get));\n  }\n\n  delete(record: VfTaskWithNavigationPropertiesDto) {\n    this.confirmationService\n      .warn('ProjectManagement::DeleteConfirmationMessage', 'ProjectManagement::AreYouSure', {\n        messageLocalizationParams: [],\n      })\n      .pipe(\n        filter(status => status === Confirmation.Status.confirm),\n        switchMap(() => this.proxyService.delete(record.vfTask.id)),\n      )\n      .subscribe(this.list.get);\n  }\n\n  bulkDelete() {\n    if (this.selectedCount() < 1) {\n      return;\n    }\n\n    let message = 'ProjectManagement::';\n    let messageParam = null;\n\n    if (this.allSelected()) {\n      message += 'DeleteAllRecords';\n    } else {\n      message += 'DeleteSelectedRecords';\n      messageParam = this.selectedCount().toString();\n    }\n\n    this.confirmationService\n      .warn(message, 'AbpUi::AreYouSure', {\n        messageLocalizationParams: [messageParam],\n      })\n      .pipe(\n        filter(result => result === Confirmation.Status.confirm),\n        switchMap(() => this.bulkDeleteRequest()),\n      )\n      .subscribe();\n  }\n\n  selectAll() {\n    this.allSelected.set(!this.allSelected());\n    this.selected.set(this.allSelected() ? [...this.data.items] : []);\n  }\n\n  onSelect({ selected }) {\n    if (selected.length < 1) {\n      this.clearAllSelection();\n      return;\n    }\n\n    if (selected.length === this.data.totalCount) {\n      this.allSelected.set(true);\n      this.selected.set(selected);\n      return;\n    }\n\n    if (selected.length !== this.data.totalCount && this.allSelected()) {\n      this.allSelected.set(false);\n    }\n\n    if (selected.length === 1) {\n      if (this.selected().length < 1) {\n        this.selected.set(selected);\n        return;\n      }\n\n      this.selected.set([...this.selected()]);\n      return;\n    }\n\n    this.selected.set(selected);\n  }\n\n  hookToQuery() {\n    const getData = (query: ABP.PageQueryParams) =>\n      this.proxyService.getList({\n        ...query,\n        ...this.filters,\n        filterText: query.filter,\n      });\n\n    const setData = (list: PagedResultDto<VfTaskWithNavigationPropertiesDto>) => {\n      this.data = list;\n\n      if (this.selectedCount() > 0) {\n        this.clearAllSelection();\n      }\n    };\n\n    this.list.hookToQuery(getData).subscribe(setData);\n  }\n\n  clearFilters() {\n    this.filters = {} as GetVfTasksInput;\n    this.list.get();\n  }\n\n  exportToExcel() {\n    this.isExportToExcelBusy = true;\n    this.proxyService\n      .getDownloadToken()\n      .pipe(\n        switchMap(({ token }) =>\n          this.proxyService.getListAsExcelFile({\n            downloadToken: token,\n            filterText: this.list.filter,\n            ...this.filters,\n          }),\n        ),\n        finalize(() => (this.isExportToExcelBusy = false)),\n      )\n      .subscribe(result => {\n        this.abpWindowService.downloadBlob(result, 'VfTask.xlsx');\n      });\n  }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractVfTaskViewService } from './vf-task.abstract.service';\n\n@Injectable()\nexport class VfTaskViewService extends AbstractVfTaskViewService {}\n","import { inject } from '@angular/core';\nimport { AbstractControl, FormBuilder, FormGroup, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';\nimport { ListService, TrackByService } from '@abp/ng.core';\nimport { NgbDateStruct } from '@ng-bootstrap/ng-bootstrap';\nimport { finalize, tap } from 'rxjs/operators';\n\nimport { ProjectTaskStatus, projectTaskStatusOptions } from '../../../proxy/enum/project-task-status.enum';\nimport { ProjectPriority, projectPriorityOptions } from '../../../proxy/enum/project-priority.enum';\nimport type { VfTaskWithNavigationPropertiesDto } from '../../../proxy/vf-tasks/models';\nimport { VfTaskService } from '../../../proxy/vf-tasks/vf-task.service';\n\nexport abstract class AbstractVfTaskDetailViewService {\n  protected readonly fb = inject(FormBuilder);\n  protected readonly track = inject(TrackByService);\n\n  public readonly proxyService = inject(VfTaskService);\n  public readonly list = inject(ListService);\n\n  public readonly getVfProjectLookup = this.proxyService.getVfProjectLookup;\n\n  public readonly getIdentityUserLookup = this.proxyService.getIdentityUserLookup;\n\n  projectTaskStatusOptions = projectTaskStatusOptions;\n  projectPriorityOptions = projectPriorityOptions;\n\n  isBusy = false;\n  isVisible = false;\n  selected = {} as any;\n  form: FormGroup | undefined;\n\n  protected createRequest() {\n    const formValues = {\n      ...this.form.value,\n    };\n\n    if (this.selected) {\n      return this.proxyService.update(this.selected.vfTask.id, {\n        ...formValues,\n        concurrencyStamp: this.selected.vfTask.concurrencyStamp,\n      });\n    }\n\n    return this.proxyService.create(formValues);\n  }\n\n  buildForm() {\n    const { title, description, status, priority, dueDate, vfProjectId, identityUserId } =\n      this.selected?.vfTask || {};\n\n    this.form = this.fb.group({\n      title: [title ?? null, [Validators.required, Validators.maxLength(200)]],\n      description: [description ?? null, [Validators.maxLength(2000)]],\n      status: [status ?? ProjectTaskStatus.ToDo, [Validators.required]],\n      priority: [priority ?? ProjectPriority.Low, [Validators.required]],\n     dueDate: [dueDate ?? null, this.optionalPastDateValidator()],\n      vfProjectId: [vfProjectId ?? null, [Validators.required]],\n      identityUserId: [identityUserId ?? null, []],\n    });\n  }private optionalPastDateValidator(): ValidatorFn {\n  const isEdit = !!this.selected?.vfTask?.id;\n\n  return (control: AbstractControl): ValidationErrors | null => {\n    const value = control.value;\n    if (!value || isEdit) return null;\n\n    const today = new Date();\n    today.setHours(0, 0, 0, 0);\n    const selected = new Date(value.year, value.month - 1, value.day);\n\n    return selected < today ? { pastDate: true } : null;\n  };\n}\n\n  private dueDateNotInPastValidator(): ValidatorFn {\n    return (control: AbstractControl): ValidationErrors | null => {\n      const date: NgbDateStruct = control.value;\n      if (!date) return null;\n\n      const today = new Date();\n      today.setHours(0, 0, 0, 0);\n      const selectedDate = new Date(date.year, date.month - 1, date.day);\n\n      return selectedDate < today ? { pastDate: true } : null;\n    };\n  }\n\n  showForm() {\n    this.buildForm();\n    this.isVisible = true;\n  }\n\n  create() {\n    this.selected = undefined;\n    this.showForm();\n  }\n\n  update(record: VfTaskWithNavigationPropertiesDto) {\n    this.selected = record;\n    this.showForm();\n  }\n\n  hideForm() {\n    this.isVisible = false;\n  }\n\n  submitForm() {\n    if (this.form.invalid) return;\n\n    this.isBusy = true;\n\n    const request = this.createRequest().pipe(\n      finalize(() => (this.isBusy = false)),\n      tap(() => this.hideForm()),\n    );\n\n    request.subscribe(this.list.get);\n  }\n\n  changeVisible($event: boolean) {\n    this.isVisible = $event;\n  }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractVfTaskDetailViewService } from './vf-task-detail.abstract.service';\n\n@Injectable()\nexport class VfTaskDetailViewService extends AbstractVfTaskDetailViewService {}\n","import { inject, ChangeDetectorRef } from '@angular/core';\nimport { filter, switchMap } from 'rxjs/operators';\nimport { ABP, ListService, PagedResultDto } from '@abp/ng.core';\nimport { ConfirmationService, Confirmation } from '@abp/ng.theme.shared';\nimport type {\n  GetVfTaskCommentListInput,\n  VfTaskCommentWithNavigationPropertiesDto,\n} from '../../../proxy/vf-task-comments/models';\nimport { VfTaskCommentService } from '../../../proxy/vf-task-comments/vf-task-comment.service';\n\nexport abstract class AbstractVfTaskCommentViewService {\n  protected readonly cdr = inject(ChangeDetectorRef);\n  protected readonly proxyService = inject(VfTaskCommentService);\n  protected readonly confirmationService = inject(ConfirmationService);\n  protected readonly list = inject(ListService);\n\n  data: PagedResultDto<VfTaskCommentWithNavigationPropertiesDto> = {\n    items: [],\n    totalCount: 0,\n  };\n\n  delete(record: VfTaskCommentWithNavigationPropertiesDto) {\n    this.confirmationService\n      .warn('ProjectManagement::DeleteConfirmationMessage', 'ProjectManagement::AreYouSure', {\n        messageLocalizationParams: [],\n      })\n      .pipe(\n        filter(status => status === Confirmation.Status.confirm),\n        switchMap(() => this.proxyService.delete(record.vfTaskComment.id)),\n      )\n      .subscribe(this.list.get);\n  }\n\n  hookToQuery(vfTaskId: string) {\n    const getData = (query: ABP.PageQueryParams) =>\n      this.proxyService.getListWithNavigationPropertiesByVfTaskId({\n        ...(query as GetVfTaskCommentListInput),\n        vfTaskId,\n      });\n\n    const setData = (list: PagedResultDto<VfTaskCommentWithNavigationPropertiesDto>) =>\n      (this.data = list);\n\n    this.list.hookToQuery(getData).subscribe(list => {\n      setData(list);\n      this.cdr.markForCheck();\n    });\n  }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractVfTaskCommentViewService } from './vf-task-comment-child.abstract.service';\n\n@Injectable()\nexport class VfTaskCommentViewService extends AbstractVfTaskCommentViewService {}\n","import { inject } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { ListService, TrackByService } from '@abp/ng.core';\n\nimport { finalize, tap } from 'rxjs/operators';\n\nimport type { VfTaskCommentWithNavigationPropertiesDto } from '../../../proxy/vf-task-comments/models';\nimport { VfTaskCommentService } from '../../../proxy/vf-task-comments/vf-task-comment.service';\n\nexport abstract class AbstractVfTaskCommentDetailViewService {\n  protected readonly fb = inject(FormBuilder);\n  protected readonly track = inject(TrackByService);\n\n  public readonly proxyService = inject(VfTaskCommentService);\n  public readonly list = inject(ListService);\n\n  public readonly getIdentityUserLookup = this.proxyService.getIdentityUserLookup;\n\n  vfTaskId: string;\n\n  isBusy = false;\n  isVisible = false;\n  selected = {} as any;\n  form: FormGroup | undefined;\n\n  protected createRequest() {\n    if (this.selected) {\n      return this.proxyService.update(this.selected.id, this.form.value);\n    }\n    return this.proxyService.create(this.form.value);\n  }\n\n  buildForm() {\n    const { identityUserId, comment } = this.selected || {};\n\n    this.form = this.fb.group({\n      vfTaskId: [this.vfTaskId],\n      identityUserId: [identityUserId ?? null, []],\n      comment: [comment ?? null, [Validators.required, Validators.maxLength(2000)]],\n    });\n  }\n\n  showForm() {\n    this.buildForm();\n    this.isVisible = true;\n  }\n\n  create() {\n    this.selected = undefined;\n    this.showForm();\n  }\n\n  update(record: VfTaskCommentWithNavigationPropertiesDto) {\n    this.selected = record.vfTaskComment;\n    this.showForm();\n  }\n\n  hideForm() {\n    this.isVisible = false;\n  }\n\n  submitForm() {\n    if (this.form.invalid) return;\n\n    this.isBusy = true;\n\n    const request = this.createRequest().pipe(\n      finalize(() => (this.isBusy = false)),\n      tap(() => this.hideForm()),\n    );\n\n    request.subscribe(this.list.get);\n  }\n\n  changeVisible(isVisible: boolean) {\n    this.isVisible = isVisible;\n  }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractVfTaskCommentDetailViewService } from './vf-task-comment-child-detail.abstract.service';\n\n@Injectable()\nexport class VfTaskCommentDetailViewService extends AbstractVfTaskCommentDetailViewService {}\n","import { Directive, OnInit, inject, Input } from '@angular/core';\nimport { ListService, PermissionService, TrackByService } from '@abp/ng.core';\n\nimport type { VfTaskCommentWithNavigationPropertiesDto } from '../../../proxy/vf-task-comments/models';\nimport { VfTaskCommentViewService } from '../services/vf-task-comment-child.service';\nimport { VfTaskCommentDetailViewService } from '../services/vf-task-comment-child-detail.service';\n\n@Directive()\nexport abstract class AbstractVfTaskCommentComponent implements OnInit {\n  public readonly list = inject(ListService);\n  public readonly track = inject(TrackByService);\n  public readonly service = inject(VfTaskCommentViewService);\n  public readonly serviceDetail = inject(VfTaskCommentDetailViewService);\n  public readonly permissionService = inject(PermissionService);\n\n  protected isActionButtonVisible: boolean | null = null;\n\n  @Input() title = 'ProjectManagement::VfTaskComments';\n  @Input() vfTaskId: string;\n\n  ngOnInit() {\n    this.serviceDetail.vfTaskId = this.vfTaskId;\n    this.service.hookToQuery(this.vfTaskId);\n    this.checkActionButtonVisibility();\n  }\n\n  create() {\n    this.serviceDetail.selected = undefined;\n    this.serviceDetail.showForm();\n  }\n\n  update(record: VfTaskCommentWithNavigationPropertiesDto) {\n    this.serviceDetail.update(record);\n  }\n\n  delete(record: VfTaskCommentWithNavigationPropertiesDto) {\n    this.service.delete(record);\n  }\n\n  checkActionButtonVisibility() {\n    if (this.isActionButtonVisible !== null) {\n      return;\n    }\n\n    const canEdit = this.permissionService.getGrantedPolicy(\n      'ProjectManagement.VfTaskComments.Edit',\n    );\n    const canDelete = this.permissionService.getGrantedPolicy(\n      'ProjectManagement.VfTaskComments.Delete',\n    );\n    this.isActionButtonVisible = canEdit || canDelete;\n  }\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport {\n  NgbDateAdapter,\n  NgbCollapseModule,\n  NgbDatepickerModule,\n  NgbDropdownModule,\n} from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { ListService, CoreModule } from '@abp/ng.core';\nimport { PageModule } from '@abp/ng.components/page';\nimport { ThemeSharedModule, DateAdapter } from '@abp/ng.theme.shared';\nimport { CommercialUiModule } from '@volo/abp.commercial.ng.ui';\nimport { VfTaskCommentViewService } from '../services/vf-task-comment-child.service';\nimport { VfTaskCommentDetailViewService } from '../services/vf-task-comment-child-detail.service';\nimport { VfTaskCommentDetailModalComponent } from './vf-task-comment-child-detail.component';\nimport { AbstractVfTaskCommentComponent } from './vf-task-comment-child.abstract.component';\n\n@Component({\n  selector: 'lib-vf-task-comment',\n  imports: [\n    NgbCollapseModule,\n    NgbDatepickerModule,\n    NgbDropdownModule,\n    NgxValidateCoreModule,\n    CoreModule,\n    PageModule,\n    ThemeSharedModule,\n    VfTaskCommentDetailModalComponent,\n    CommercialUiModule,\n  ],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  providers: [\n    { provide: NgbDateAdapter, useClass: DateAdapter },\n    ListService,\n    VfTaskCommentViewService,\n    VfTaskCommentDetailViewService,\n  ],\n  templateUrl: './vf-task-comment-child.component.html',\n})\nexport class VfTaskCommentComponent extends AbstractVfTaskCommentComponent {}\n","<div class=\"text-lg-end py-1\">\n  <!--<suite-custom-code-block-0>-->\n  <!--</suite-custom-code-block-0>-->\n  <button\n    *abpPermission=\"'ProjectManagement.VfTaskComments.Create'\"\n    class=\"btn btn-primary btn-sm\"\n    type=\"button\"\n    (click)=\"create()\"\n  >\n    <i class=\"fa fa-plus me-1\" aria-hidden=\"true\"></i>\n    {{ 'ProjectManagement::NewVfTaskComment' | abpLocalization }}\n  </button>\n  <!--<suite-custom-code-block-1>-->\n  <!--</suite-custom-code-block-1>-->\n</div>\n<!--<suite-custom-code-block-2>-->\n<!--</suite-custom-code-block-2>-->\n<ngx-datatable default [list]=\"list\" [rows]=\"service.data.items\" [count]=\"service.data.totalCount\">\n  @if (isActionButtonVisible) {\n    <ngx-datatable-column\n      [name]=\"'AbpUi::Actions' | abpLocalization\"\n      [maxWidth]=\"150\"\n      [width]=\"150\"\n      [sortable]=\"false\"\n    >\n      <ng-template let-row=\"row\" let-i=\"rowIndex\" ngx-datatable-cell-template>\n        <div ngbDropdown container=\"body\" class=\"d-inline-block\">\n          <button\n            class=\"btn btn-primary btn-sm dropdown-toggle\"\n            data-toggle=\"dropdown\"\n            aria-haspopup=\"true\"\n            ngbDropdownToggle\n          >\n            <i class=\"fa fa-cog me-1\" aria-hidden=\"true\"></i>\n            {{ 'AbpUi::Actions' | abpLocalization }}\n          </button>\n\n          <div ngbDropdownMenu>\n            <button\n              ngbDropdownItem\n              *abpPermission=\"'ProjectManagement.VfTaskComments.Edit'\"\n              (click)=\"update(row)\"\n            >\n              {{ 'AbpUi::Edit' | abpLocalization }}\n            </button>\n\n            <button\n              ngbDropdownItem\n              *abpPermission=\"'ProjectManagement.VfTaskComments.Delete'\"\n              (click)=\"delete(row)\"\n            >\n              {{ 'AbpUi::Delete' | abpLocalization }}\n            </button>\n          </div>\n        </div>\n      </ng-template>\n\n      <!--<suite-custom-code-block-3>-->\n      <!--</suite-custom-code-block-3>-->\n    </ngx-datatable-column>\n  }\n\n  <ngx-datatable-column\n    name=\"{{ 'ProjectManagement::ProjectTaskIdentityUser' | abpLocalization }}\"\n    prop=\"identityUser.id\"\n  >\n   <ng-template let-row=\"row\" ngx-datatable-cell-template>\n  <span *ngIf=\"row.identityUser?.name && row.identityUser?.surname; else fallback\">\n    {{ (row.identityUser.name + ' ' + row.identityUser.surname) | titlecase }}\n  </span>\n  <ng-template #fallback>\n    {{ row.identityUser?.name| titlecase  }}\n  </ng-template>\n</ng-template>\n  </ngx-datatable-column>\n  <!--<suite-custom-code-block-4>-->\n  <!--</suite-custom-code-block-4>-->\n</ngx-datatable>\n\n<!--<suite-custom-code-block-5>-->\n<!--</suite-custom-code-block-5>-->\n\n@defer (when serviceDetail.isVisible) {\n  @if (serviceDetail.isVisible) {\n    <lib-vf-task-comment-detail-modal />\n  }\n}\n","import { inject, ChangeDetectorRef } from '@angular/core';\nimport { filter, switchMap } from 'rxjs/operators';\nimport { ABP, ListService, PagedResultDto } from '@abp/ng.core';\nimport { ConfirmationService, Confirmation } from '@abp/ng.theme.shared';\nimport type {\n  GetVfTaskAttachmentListInput,\n  VfTaskAttachmentDto,\n} from '../../../proxy/vf-task-attachments/models';\nimport { VfTaskAttachmentService } from '../../../proxy/vf-task-attachments/vf-task-attachment.service';\n\nexport abstract class AbstractVfTaskAttachmentViewService {\n  protected readonly cdr = inject(ChangeDetectorRef);\n  protected readonly proxyService = inject(VfTaskAttachmentService);\n  protected readonly confirmationService = inject(ConfirmationService);\n  protected readonly list = inject(ListService);\n\n  data: PagedResultDto<VfTaskAttachmentDto> = {\n    items: [],\n    totalCount: 0,\n  };\n\n  delete(record: VfTaskAttachmentDto) {\n    this.confirmationService\n      .warn('ProjectManagement::DeleteConfirmationMessage', 'ProjectManagement::AreYouSure', {\n        messageLocalizationParams: [],\n      })\n      .pipe(\n        filter(status => status === Confirmation.Status.confirm),\n        switchMap(() => this.proxyService.delete(record.id)),\n      )\n      .subscribe(this.list.get);\n  }\n\n  hookToQuery(vfTaskId: string) {\n    const getData = (query: ABP.PageQueryParams) =>\n      this.proxyService.getListByVfTaskId({\n        ...(query as GetVfTaskAttachmentListInput),\n        vfTaskId,\n      });\n\n    const setData = (list: PagedResultDto<VfTaskAttachmentDto>) => (this.data = list);\n\n    this.list.hookToQuery(getData).subscribe(list => {\n      setData(list);\n      this.cdr.markForCheck();\n    });\n  }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractVfTaskAttachmentViewService } from './vf-task-attachment-child.abstract.service';\n\n@Injectable()\nexport class VfTaskAttachmentViewService extends AbstractVfTaskAttachmentViewService {}\n","import { inject } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { ListService, TrackByService } from '@abp/ng.core';\n\nimport { finalize, tap } from 'rxjs/operators';\n\nimport type { VfTaskAttachmentDto } from '../../../proxy/vf-task-attachments/models';\nimport { VfTaskAttachmentService } from '../../../proxy/vf-task-attachments/vf-task-attachment.service';\n\nexport abstract class AbstractVfTaskAttachmentDetailViewService {\n  protected readonly fb = inject(FormBuilder);\n  protected readonly track = inject(TrackByService);\n\n  public readonly proxyService = inject(VfTaskAttachmentService);\n  public readonly list = inject(ListService);\n\n  vfTaskId: string;\n\n  isBusy = false;\n  isVisible = false;\n  selected = {} as any;\n  form: FormGroup | undefined;\n\n  protected createRequest() {\n    if (this.selected) {\n      return this.proxyService.update(this.selected.id, this.form.value);\n    }\n    return this.proxyService.create(this.form.value);\n  }\n\n  buildForm() {\n    const { fileName, filePath, fileSize } = this.selected || {};\n\n    this.form = this.fb.group({\n      vfTaskId: [this.vfTaskId],\n      fileName: [fileName ?? null, [Validators.required, Validators.maxLength(255)]],\n      filePath: [filePath ?? null, [Validators.required, Validators.maxLength(500)]],\n      fileSize: [fileSize ?? null, [Validators.required]],\n    });\n  }\n\n  showForm() {\n    this.buildForm();\n    this.isVisible = true;\n  }\n\n  create() {\n    this.selected = undefined;\n    this.showForm();\n  }\n\n  update(record: VfTaskAttachmentDto) {\n    this.selected = record;\n    this.showForm();\n  }\n\n  hideForm() {\n    this.isVisible = false;\n  }\n\n  submitForm() {\n    if (this.form.invalid) return;\n\n    this.isBusy = true;\n\n    const request = this.createRequest().pipe(\n      finalize(() => (this.isBusy = false)),\n      tap(() => this.hideForm()),\n    );\n\n    request.subscribe(this.list.get);\n  }\n\n  changeVisible(isVisible: boolean) {\n    this.isVisible = isVisible;\n  }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractVfTaskAttachmentDetailViewService } from './vf-task-attachment-child-detail.abstract.service';\n\n@Injectable()\nexport class VfTaskAttachmentDetailViewService extends AbstractVfTaskAttachmentDetailViewService {}\n","import { Directive, OnInit, inject, Input } from '@angular/core';\nimport { ListService, PermissionService, TrackByService } from '@abp/ng.core';\n\nimport type { VfTaskAttachmentDto } from '../../../proxy/vf-task-attachments/models';\nimport { VfTaskAttachmentViewService } from '../services/vf-task-attachment-child.service';\nimport { VfTaskAttachmentDetailViewService } from '../services/vf-task-attachment-child-detail.service';\n\n@Directive()\nexport abstract class AbstractVfTaskAttachmentComponent implements OnInit {\n  public readonly list = inject(ListService);\n  public readonly track = inject(TrackByService);\n  public readonly service = inject(VfTaskAttachmentViewService);\n  public readonly serviceDetail = inject(VfTaskAttachmentDetailViewService);\n  public readonly permissionService = inject(PermissionService);\n\n  protected isActionButtonVisible: boolean | null = null;\n\n  @Input() title = 'ProjectManagement::VfTaskAttachments';\n  @Input() vfTaskId: string;\n\n  ngOnInit() {\n    this.serviceDetail.vfTaskId = this.vfTaskId;\n    this.service.hookToQuery(this.vfTaskId);\n    this.checkActionButtonVisibility();\n  }\n\n  create() {\n    this.serviceDetail.selected = undefined;\n    this.serviceDetail.showForm();\n  }\n\n  update(record: VfTaskAttachmentDto) {\n    this.serviceDetail.update(record);\n  }\n\n  delete(record: VfTaskAttachmentDto) {\n    this.service.delete(record);\n  }\n\n  checkActionButtonVisibility() {\n    if (this.isActionButtonVisible !== null) {\n      return;\n    }\n\n    const canEdit = this.permissionService.getGrantedPolicy(\n      'ProjectManagement.VfTaskAttachments.Edit',\n    );\n    const canDelete = this.permissionService.getGrantedPolicy(\n      'ProjectManagement.VfTaskAttachments.Delete',\n    );\n    this.isActionButtonVisible = canEdit || canDelete;\n  }\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport {\n  NgbDateAdapter,\n  NgbCollapseModule,\n  NgbDatepickerModule,\n  NgbDropdownModule,\n} from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { ListService, CoreModule } from '@abp/ng.core';\nimport { PageModule } from '@abp/ng.components/page';\nimport { ThemeSharedModule, DateAdapter } from '@abp/ng.theme.shared';\nimport { CommercialUiModule } from '@volo/abp.commercial.ng.ui';\nimport { VfTaskAttachmentViewService } from '../services/vf-task-attachment-child.service';\nimport { VfTaskAttachmentDetailViewService } from '../services/vf-task-attachment-child-detail.service';\nimport { VfTaskAttachmentDetailModalComponent } from './vf-task-attachment-child-detail.component';\nimport { AbstractVfTaskAttachmentComponent } from './vf-task-attachment-child.abstract.component';\n\n@Component({\n  selector: 'lib-vf-task-attachment',\n  imports: [\n    NgbCollapseModule,\n    NgbDatepickerModule,\n    NgbDropdownModule,\n    NgxValidateCoreModule,\n    CoreModule,\n    PageModule,\n    ThemeSharedModule,\n    VfTaskAttachmentDetailModalComponent,\n    CommercialUiModule,\n  ],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  providers: [\n    { provide: NgbDateAdapter, useClass: DateAdapter },\n    ListService,\n    VfTaskAttachmentViewService,\n    VfTaskAttachmentDetailViewService,\n  ],\n  templateUrl: './vf-task-attachment-child.component.html',\n})\nexport class VfTaskAttachmentComponent extends AbstractVfTaskAttachmentComponent {}\n","<div class=\"text-lg-end py-1\">\n  <!--<suite-custom-code-block-0>-->\n  <!--</suite-custom-code-block-0>-->\n  <button\n    *abpPermission=\"'ProjectManagement.VfTaskAttachments.Create'\"\n    class=\"btn btn-primary btn-sm\"\n    type=\"button\"\n    (click)=\"create()\"\n  >\n    <i class=\"fa fa-plus me-1\" aria-hidden=\"true\"></i>\n    {{ 'ProjectManagement::NewVfTaskAttachment' | abpLocalization }}\n  </button>\n  <!--<suite-custom-code-block-1>-->\n  <!--</suite-custom-code-block-1>-->\n</div>\n<!--<suite-custom-code-block-2>-->\n<!--</suite-custom-code-block-2>-->\n<ngx-datatable default [list]=\"list\" [rows]=\"service.data.items\" [count]=\"service.data.totalCount\">\n  @if (isActionButtonVisible) {\n    <ngx-datatable-column\n      [name]=\"'AbpUi::Actions' | abpLocalization\"\n      [maxWidth]=\"150\"\n      [width]=\"150\"\n      [sortable]=\"false\"\n    >\n      <ng-template let-row=\"row\" let-i=\"rowIndex\" ngx-datatable-cell-template>\n        <div ngbDropdown container=\"body\" class=\"d-inline-block\">\n          <button\n            class=\"btn btn-primary btn-sm dropdown-toggle\"\n            data-toggle=\"dropdown\"\n            aria-haspopup=\"true\"\n            ngbDropdownToggle\n          >\n            <i class=\"fa fa-cog me-1\" aria-hidden=\"true\"></i>\n            {{ 'AbpUi::Actions' | abpLocalization }}\n          </button>\n\n          <div ngbDropdownMenu>\n            <button\n              ngbDropdownItem\n              *abpPermission=\"'ProjectManagement.VfTaskAttachments.Edit'\"\n              (click)=\"update(row)\"\n            >\n              {{ 'AbpUi::Edit' | abpLocalization }}\n            </button>\n\n            <button\n              ngbDropdownItem\n              *abpPermission=\"'ProjectManagement.VfTaskAttachments.Delete'\"\n              (click)=\"delete(row)\"\n            >\n              {{ 'AbpUi::Delete' | abpLocalization }}\n            </button>\n          </div>\n        </div>\n      </ng-template>\n\n      <!--<suite-custom-code-block-3>-->\n      <!--</suite-custom-code-block-3>-->\n    </ngx-datatable-column>\n  }\n  <ngx-datatable-column\n    name=\"{{ 'ProjectManagement::FileName' | abpLocalization }}\"\n    prop=\"fileName\"\n  >\n    <ng-template let-row=\"row\" ngx-datatable-cell-template>\n      {{ row.fileName }}\n    </ng-template>\n  </ngx-datatable-column>\n  <ngx-datatable-column\n    name=\"{{ 'ProjectManagement::FilePath' | abpLocalization }}\"\n    prop=\"filePath\"\n  >\n    <ng-template let-row=\"row\" ngx-datatable-cell-template>\n      {{ row.filePath }}\n    </ng-template>\n  </ngx-datatable-column>\n  <ngx-datatable-column\n    name=\"{{ 'ProjectManagement::FileSize' | abpLocalization }}\"\n    prop=\"fileSize\"\n  >\n    <ng-template let-row=\"row\" ngx-datatable-cell-template>\n      {{ row.fileSize }}\n    </ng-template>\n  </ngx-datatable-column>\n  <!--<suite-custom-code-block-4>-->\n  <!--</suite-custom-code-block-4>-->\n</ngx-datatable>\n\n<!--<suite-custom-code-block-5>-->\n<!--</suite-custom-code-block-5>-->\n\n@defer (when serviceDetail.isVisible) {\n  @if (serviceDetail.isVisible) {\n    <lib-vf-task-attachment-detail-modal />\n  }\n}\n","import { inject, ChangeDetectorRef } from '@angular/core';\nimport { filter, switchMap } from 'rxjs/operators';\nimport { ABP, ListService, PagedResultDto } from '@abp/ng.core';\nimport { ConfirmationService, Confirmation } from '@abp/ng.theme.shared';\nimport type {\n  GetVfProjectTaskActivityLogListInput,\n  VfProjectTaskActivityLogWithNavigationPropertiesDto,\n} from '../../../proxy/vf-project-task-activity-logs/models';\nimport { VfProjectTaskActivityLogService } from '../../../proxy/vf-project-task-activity-logs/vf-project-task-activity-log.service';\n\nexport abstract class AbstractVfProjectTaskActivityLogViewService {\n  protected readonly cdr = inject(ChangeDetectorRef);\n  protected readonly proxyService = inject(VfProjectTaskActivityLogService);\n  protected readonly confirmationService = inject(ConfirmationService);\n  protected readonly list = inject(ListService);\n\n  data: PagedResultDto<VfProjectTaskActivityLogWithNavigationPropertiesDto> = {\n    items: [],\n    totalCount: 0,\n  };\n\n  delete(record: VfProjectTaskActivityLogWithNavigationPropertiesDto) {\n    this.confirmationService\n      .warn('ProjectManagement::DeleteConfirmationMessage', 'ProjectManagement::AreYouSure', {\n        messageLocalizationParams: [],\n      })\n      .pipe(\n        filter(status => status === Confirmation.Status.confirm),\n        switchMap(() => this.proxyService.delete(record.vfProjectTaskActivityLog.id)),\n      )\n      .subscribe(this.list.get);\n  }\n\n  hookToQuery(vfTaskId: string) {\n    const getData = (query: ABP.PageQueryParams) =>\n      this.proxyService.getListWithNavigationPropertiesByVfTaskId({\n        ...(query as GetVfProjectTaskActivityLogListInput),\n        vfTaskId,\n      });\n\n    const setData = (list: PagedResultDto<VfProjectTaskActivityLogWithNavigationPropertiesDto>) =>\n      (this.data = list);\n\n    this.list.hookToQuery(getData).subscribe(list => {\n      setData(list);\n      this.cdr.markForCheck();\n    });\n  }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractVfProjectTaskActivityLogViewService } from './vf-project-task-activity-log-child.abstract.service';\n\n@Injectable()\nexport class VfProjectTaskActivityLogViewService extends AbstractVfProjectTaskActivityLogViewService {}\n","import { inject } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { ListService, TrackByService } from '@abp/ng.core';\n\nimport { finalize, tap } from 'rxjs/operators';\n\nimport type { VfProjectTaskActivityLogWithNavigationPropertiesDto } from '../../../proxy/vf-project-task-activity-logs/models';\nimport { VfProjectTaskActivityLogService } from '../../../proxy/vf-project-task-activity-logs/vf-project-task-activity-log.service';\n\nexport abstract class AbstractVfProjectTaskActivityLogDetailViewService {\n  protected readonly fb = inject(FormBuilder);\n  protected readonly track = inject(TrackByService);\n\n  public readonly proxyService = inject(VfProjectTaskActivityLogService);\n  public readonly list = inject(ListService);\n\n  public readonly getVfProjectLookup = this.proxyService.getVfProjectLookup;\n\n  public readonly getIdentityUserLookup = this.proxyService.getIdentityUserLookup;\n  isViewMode = false;\n  vfTaskId: string;\n\n  isBusy = false;\n  isVisible = false;\n  selected = {} as any;\n  form: FormGroup | undefined;\n\n  protected createRequest() {\n    if (this.selected) {\n      return this.proxyService.update(this.selected.id, this.form.value);\n    }\n    return this.proxyService.create(this.form.value);\n  }\n\n  buildForm() {\n    const { vfProjectId, identityUserId, taskAction, details } = this.selected || {};\n\n    this.form = this.fb.group({\n      vfTaskId: [this.vfTaskId],\n      vfProjectId: [vfProjectId ?? null, []],\n      identityUserId: [identityUserId ?? null, []],\n      taskAction: [taskAction ?? null, [Validators.required, Validators.maxLength(255)]],\n      details: [details ?? null, [Validators.maxLength(1000)]],\n    });\n  }\n\n showForm(viewMode: boolean = false) {\n  \n     this.isViewMode = viewMode;\n    this.buildForm();\n\n    if (this.isViewMode) {\n    this.form.disable(); \n  } else {\n    this.form.enable(); \n  }\n    this.isVisible = true;\n  }\n\n  create() {\n    this.selected = undefined;\n    this.showForm();\n  }\n\n  update(record: VfProjectTaskActivityLogWithNavigationPropertiesDto) {\n    this.selected = record.vfProjectTaskActivityLog;\n    this.showForm();\n  }\n  view(record: VfProjectTaskActivityLogWithNavigationPropertiesDto) {\n  this.selected = record.vfProjectTaskActivityLog;\n  this.showForm(true); \n}\n  hideForm() {\n    this.isVisible = false;\n  }\n\n  submitForm() {\n    if (this.form.invalid) return;\n\n    this.isBusy = true;\n\n    const request = this.createRequest().pipe(\n      finalize(() => (this.isBusy = false)),\n      tap(() => this.hideForm()),\n    );\n\n    request.subscribe(this.list.get);\n  }\n\n  changeVisible(isVisible: boolean) {\n    this.isVisible = isVisible;\n  }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractVfProjectTaskActivityLogDetailViewService } from './vf-project-task-activity-log-child-detail.abstract.service';\n\n@Injectable()\nexport class VfProjectTaskActivityLogDetailViewService extends AbstractVfProjectTaskActivityLogDetailViewService {}\n","import { Directive, OnInit, inject, Input } from '@angular/core';\nimport { ListService, PermissionService, TrackByService } from '@abp/ng.core';\n\nimport type { VfProjectTaskActivityLogWithNavigationPropertiesDto } from '../../../proxy/vf-project-task-activity-logs/models';\nimport { VfProjectTaskActivityLogViewService } from '../services/vf-project-task-activity-log-child.service';\nimport { VfProjectTaskActivityLogDetailViewService } from '../services/vf-project-task-activity-log-child-detail.service';\n\n@Directive()\nexport abstract class AbstractVfProjectTaskActivityLogComponent implements OnInit {\n  public readonly list = inject(ListService);\n  public readonly track = inject(TrackByService);\n  public readonly service = inject(VfProjectTaskActivityLogViewService);\n  public readonly serviceDetail = inject(VfProjectTaskActivityLogDetailViewService);\n  public readonly permissionService = inject(PermissionService);\n\n  protected isActionButtonVisible: boolean | null = null;\n\n  @Input() title = 'ProjectManagement::VfProjectTaskActivityLogs';\n  @Input() vfTaskId: string;\n\n  ngOnInit() {\n    this.serviceDetail.vfTaskId = this.vfTaskId;\n    this.service.hookToQuery(this.vfTaskId);\n    this.checkActionButtonVisibility();\n  }\n\n  create() {\n    this.serviceDetail.selected = undefined;\n    this.serviceDetail.showForm();\n  }\n\n  update(record: VfProjectTaskActivityLogWithNavigationPropertiesDto) {\n    this.serviceDetail.update(record);\n  }\nview(record: VfProjectTaskActivityLogWithNavigationPropertiesDto) {\n    this.serviceDetail.view(record);\n  }\n  onRowActivate(event: any) {\n  if (event.type === 'click') {\n    this.view(event.row); \n  }}\n  delete(record: VfProjectTaskActivityLogWithNavigationPropertiesDto) {\n    this.service.delete(record);\n  }\n\n  checkActionButtonVisibility() {\n    if (this.isActionButtonVisible !== null) {\n      return;\n    }\nconst canView = this.permissionService.getGrantedPolicy(\n      'ProjectManagement.VfProjectTaskActivityLogs.View',\n    );\n    const canEdit = this.permissionService.getGrantedPolicy(\n      'ProjectManagement.VfProjectTaskActivityLogs.Edit',\n    );\n    const canDelete = this.permissionService.getGrantedPolicy(\n      'ProjectManagement.VfProjectTaskActivityLogs.Delete',\n    );\n    this.isActionButtonVisible = canEdit || canDelete||canView;\n  }\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport {\n  NgbDateAdapter,\n  NgbCollapseModule,\n  NgbDatepickerModule,\n  NgbDropdownModule,\n} from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { ListService, CoreModule } from '@abp/ng.core';\nimport { PageModule } from '@abp/ng.components/page';\nimport { ThemeSharedModule, DateAdapter } from '@abp/ng.theme.shared';\nimport { CommercialUiModule } from '@volo/abp.commercial.ng.ui';\nimport { VfProjectTaskActivityLogViewService } from '../services/vf-project-task-activity-log-child.service';\nimport { VfProjectTaskActivityLogDetailViewService } from '../services/vf-project-task-activity-log-child-detail.service';\nimport { VfProjectTaskActivityLogDetailModalComponent } from './vf-project-task-activity-log-child-detail.component';\nimport { AbstractVfProjectTaskActivityLogComponent } from './vf-project-task-activity-log-child.abstract.component';\n\n@Component({\n  selector: 'lib-vf-project-task-activity-log',\n  imports: [\n    NgbCollapseModule,\n    NgbDatepickerModule,\n    NgbDropdownModule,\n    NgxValidateCoreModule,\n    CoreModule,\n    PageModule,\n    ThemeSharedModule,\n    VfProjectTaskActivityLogDetailModalComponent,\n    CommercialUiModule,\n  ],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  providers: [\n    { provide: NgbDateAdapter, useClass: DateAdapter },\n    ListService,\n    VfProjectTaskActivityLogViewService,\n    VfProjectTaskActivityLogDetailViewService,\n  ],\n  templateUrl: './vf-project-task-activity-log-child.component.html',\n})\nexport class VfProjectTaskActivityLogComponent extends AbstractVfProjectTaskActivityLogComponent {}\n","<div class=\"text-lg-end py-1\">\n  <button\n    *abpPermission=\"'ProjectManagement.VfProjectTaskActivityLogs.Create'\"\n    class=\"btn btn-primary btn-sm\"\n    type=\"button\"\n    (click)=\"create()\"\n  >\n    <i class=\"fa fa-plus me-1\" aria-hidden=\"true\"></i>\n    {{ 'ProjectManagement::NewVfProjectTaskActivityLog' | abpLocalization }}\n  </button>  \n</div>\n<ngx-datatable default [list]=\"list\" [rows]=\"service.data.items\" [count]=\"service.data.totalCount\" (activate)=\"onRowActivate($event)\">\n  @if (isActionButtonVisible) {\n    <ngx-datatable-column\n      [name]=\"'AbpUi::Actions' | abpLocalization\"\n      [maxWidth]=\"150\"\n      [width]=\"150\"\n      [sortable]=\"false\"\n    >\n      <ng-template let-row=\"row\" ngx-datatable-cell-template>\n    <button\n      class=\"btn btn-sm btn-outline-primary\"\n      (click)=\"view(row)\"\n      title=\"{{ 'AbpUi::View' | abpLocalization }}\"\n    >\n      <i class=\"fa fa-eye\"></i>\n    </button>\n  </ng-template>\n     </ngx-datatable-column>\n  }\n  <ngx-datatable-column\n    name=\"{{ 'ProjectManagement::TaskAction' | abpLocalization }}\"\n    prop=\"vfProjectTaskActivityLog.taskAction\"\n  >\n    <ng-template let-row=\"row\" ngx-datatable-cell-template>\n      {{ row.vfProjectTaskActivityLog.taskAction }}\n    </ng-template>\n  </ngx-datatable-column>\n\n  <!-- <ngx-datatable-column\n    name=\"{{ 'ProjectManagement::VfProject' | abpLocalization }}\"\n    prop=\"vfProject.id\"\n  >\n    <ng-template let-row=\"row\" ngx-datatable-cell-template>\n      {{ row.vfProject?.name }}\n    </ng-template>\n  </ngx-datatable-column> -->\n\n  <ngx-datatable-column\n    name=\"{{ 'ProjectManagement::ProjectTaskActivityIdentityUser' | abpLocalization }}\"\n    prop=\"identityUser.id\"\n  >\n      <ng-template let-row=\"row\" ngx-datatable-cell-template>\n            <span *ngIf=\"row.identityUser?.name && row.identityUser?.surname; else fallback\">\n              {{ (row.identityUser.name + ' ' + row.identityUser.surname) | titlecase }}\n            </span>\n            <ng-template #fallback>\n              {{ row.identityUser?.name| titlecase }}\n            </ng-template>\n          </ng-template>\n  </ngx-datatable-column>  \n</ngx-datatable>\n@defer (when serviceDetail.isVisible) {\n  @if (serviceDetail.isVisible) {\n    <lib-vf-project-task-activity-log-detail-modal />\n  }\n}\n","import { Directive, OnInit, inject, ViewChild } from '@angular/core';\n\nimport {\n  NgbNav,\n  NgbNavItem,\n  NgbNavLink,\n  NgbNavContent,\n  NgbNavOutlet,\n} from '@ng-bootstrap/ng-bootstrap';\nimport { ListService, PermissionService, TrackByService } from '@abp/ng.core';\n\nimport { projectTaskStatusOptions } from '../../../proxy/enum/project-task-status.enum';\nimport { projectPriorityOptions } from '../../../proxy/enum/project-priority.enum';\nimport type { VfTaskWithNavigationPropertiesDto } from '../../../proxy/vf-tasks/models';\nimport { VfTaskViewService } from '../services/vf-task.service';\nimport { VfTaskDetailViewService } from '../services/vf-task-detail.service';\nimport { VfTaskCommentComponent } from '../../vf-task-comment/components/vf-task-comment-child.component';\n\nimport { VfTaskAttachmentComponent } from '../../vf-task-attachment/components/vf-task-attachment-child.component';\n\nimport { VfProjectTaskActivityLogComponent } from '../../vf-project-task-activity-log/components/vf-project-task-activity-log-child.component';\n\nexport const ChildTabDependencies = [NgbNav, NgbNavItem, NgbNavLink, NgbNavContent, NgbNavOutlet];\n\nexport const ChildComponentDependencies = [\n  VfTaskCommentComponent,\n\n  VfTaskAttachmentComponent,\n\n  VfProjectTaskActivityLogComponent,\n];\n\n@Directive()\nexport abstract class AbstractVfTaskComponent implements OnInit {\n  public readonly list = inject(ListService);\n  public readonly track = inject(TrackByService);\n  public readonly service = inject(VfTaskViewService);\n  public readonly serviceDetail = inject(VfTaskDetailViewService);\n  public readonly permissionService = inject(PermissionService);\n\n  protected title = 'ProjectManagement::VfTasks';\n  protected isActionButtonVisible: boolean | null = null;\n  protected isChildEntitiesPermitted: boolean | null = null;\n\n  projectTaskStatusOptions = projectTaskStatusOptions;\n  projectPriorityOptions = projectPriorityOptions;\n\n  @ViewChild('vfTaskTable') table: any;\n\n  ngOnInit() {\n    this.service.hookToQuery();\n    this.checkActionButtonVisibility();\n    this.checkChildEntityPermissions();\n  }\n\n  clearFilters() {\n    this.service.clearFilters();\n  }\n\n  showForm() {\n    this.serviceDetail.showForm();\n  }\n\n  create() {\n    this.serviceDetail.selected = undefined;\n    this.serviceDetail.showForm();\n  }\n\n  update(record: VfTaskWithNavigationPropertiesDto) {\n    this.serviceDetail.update(record);\n  }\n\n  delete(record: VfTaskWithNavigationPropertiesDto) {\n    this.service.delete(record);\n  }\n\n  exportToExcel() {\n    this.service.exportToExcel();\n  }\n\n  toggleExpandRow(row) {\n    this.table.rowDetail.toggleExpandRow(row);\n  }\n\n  checkChildEntityPermissions() {\n    if (this.isChildEntitiesPermitted !== null) {\n      return;\n    }\n\n    const childPermissions = [\n      'ProjectManagement.VfTaskComments',\n\n      'ProjectManagement.VfTaskAttachments',\n\n      'ProjectManagement.VfProjectTaskActivityLogs',\n    ];\n    this.isChildEntitiesPermitted = childPermissions.some(permission =>\n      this.permissionService.getGrantedPolicy(permission),\n    );\n  }\n\n  checkActionButtonVisibility() {\n    if (this.isActionButtonVisible !== null) {\n      return;\n    }\n\n    const canEdit = this.permissionService.getGrantedPolicy('ProjectManagement.VfTasks.Edit');\n    const canDelete = this.permissionService.getGrantedPolicy('ProjectManagement.VfTasks.Delete');\n    this.isActionButtonVisible = canEdit || canDelete;\n  }\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport {\n  NgbDateAdapter,\n  NgbTimeAdapter,\n  NgbCollapseModule,\n  NgbDatepickerModule,\n  NgbTimepickerModule,\n  NgbDropdownModule,\n} from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { ListService, CoreModule, UtcToLocalPipe } from '@abp/ng.core';\nimport { ThemeSharedModule, DateAdapter, TimeAdapter } from '@abp/ng.theme.shared';\nimport { PageModule } from '@abp/ng.components/page';\nimport { CommercialUiModule } from '@volo/abp.commercial.ng.ui';\nimport { VfTaskViewService } from '../services/vf-task.service';\nimport { VfTaskDetailViewService } from '../services/vf-task-detail.service';\nimport { VfTaskDetailModalComponent } from './vf-task-detail.component';\nimport {\n  AbstractVfTaskComponent,\n  ChildTabDependencies,\n  ChildComponentDependencies,\n} from './vf-task.abstract.component';\n\n@Component({\n  selector: 'lib-vf-task',\n  changeDetection: ChangeDetectionStrategy.Default,\n  imports: [\n    ...ChildTabDependencies,\n    NgbCollapseModule,\n    NgbDatepickerModule,\n    NgbTimepickerModule,\n    NgbDropdownModule,\n    NgxValidateCoreModule,\n    UtcToLocalPipe ,\n    PageModule,\n    CoreModule,\n    ThemeSharedModule,\n    CommercialUiModule,\n    VfTaskDetailModalComponent,\n    ...ChildComponentDependencies,\n  ],\n  providers: [\n    ListService,\n    VfTaskViewService,\n    VfTaskDetailViewService,\n    { provide: NgbDateAdapter, useClass: DateAdapter },\n    { provide: NgbTimeAdapter, useClass: TimeAdapter },\n  ],\n  templateUrl: './vf-task.component.html',\n  styles: `\n    ::ng-deep.datatable-row-detail {\n      background: transparent !important;\n    }\n  `,\n})\nexport class VfTaskComponent extends AbstractVfTaskComponent {}\n","<abp-page [title]=\"title | abpLocalization\">\n  <abp-page-toolbar-container class=\"col\">\n    <!--<suite-custom-code-block-0>-->\n    <!--</suite-custom-code-block-0>-->\n    <div class=\"text-lg-end pt-2\">\n      <!--<suite-custom-code-block-1>-->\n      <!--</suite-custom-code-block-1>-->\n\n      <button\n        class=\"btn btn-primary btn-sm mx-2\"\n        type=\"button\"\n        [disabled]=\"service.isExportToExcelBusy\"\n        (click)=\"exportToExcel()\"\n      >\n        {{ 'ProjectManagement::ExportToExcel' | abpLocalization }}\n      </button>\n\n      <button\n        *abpPermission=\"'ProjectManagement.VfTasks.Create'\"\n        class=\"btn btn-primary btn-sm\"\n        type=\"button\"\n        (click)=\"create()\"\n      >\n        <i class=\"fa fa-plus me-1\" aria-hidden=\"true\"></i>\n        {{ 'ProjectManagement::NewVfTask' | abpLocalization }}\n      </button>\n      <!--<suite-custom-code-block-2>-->\n      <!--</suite-custom-code-block-2>-->\n    </div>\n  </abp-page-toolbar-container>\n\n  <abp-advanced-entity-filters localizationSourceName=\"ProjectManagement\" [list]=\"list\">\n    @if (service.filters; as filters) {\n      <abp-advanced-entity-filters-form>\n        <form #filterForm (keyup.enter)=\"list.get()\">\n          <!--<suite-custom-code-block-3>-->\n          <!--</suite-custom-code-block-3>-->\n          <div class=\"row\">\n            <div class=\"col-12 col-sm-auto\">\n              <div class=\"mb-3\">\n                <label class=\"form-label\" for=\"titleFilter\">\n                  {{ 'ProjectManagement::Title' | abpLocalization }}\n                </label>\n\n                <input\n                  id=\"titleFilter\"\n                  class=\"form-control\"\n                  [(ngModel)]=\"filters.title\"\n                  [ngModelOptions]=\"{ standalone: true }\"\n                />\n              </div>\n            </div>\n\n            <div class=\"col-12 col-sm-auto\">\n              <div class=\"mb-3\">\n                <label class=\"form-label\" for=\"statusFilter\">\n                  {{ 'ProjectManagement::Status' | abpLocalization }}\n                </label>\n\n                <select\n                  id=\"statusFilter\"\n                  class=\"form-select form-control\"\n                  [(ngModel)]=\"filters.status\"\n                  [ngModelOptions]=\"{ standalone: true }\"\n                >\n                  <option [ngValue]=\"null\"></option>\n                  <option\n                    *ngFor=\"let option of projectTaskStatusOptions; trackBy: track.by('value')\"\n                    [ngValue]=\"option.value\"\n                  >\n                    {{\n                      'ProjectManagement::Enum:ProjectTaskStatus.' + option.value | abpLocalization\n                    }}\n                  </option>\n                </select>\n              </div>\n            </div>\n\n            <div class=\"col-12 col-sm-auto\">\n              <div class=\"mb-3\">\n                <label class=\"form-label\" for=\"priorityFilter\">\n                  {{ 'ProjectManagement::Priority' | abpLocalization }}\n                </label>\n\n                <select\n                  id=\"priorityFilter\"\n                  class=\"form-select form-control\"\n                  [(ngModel)]=\"filters.priority\"\n                  [ngModelOptions]=\"{ standalone: true }\"\n                >\n                  <option [ngValue]=\"null\"></option>\n                  <option\n                    *ngFor=\"let option of projectPriorityOptions; trackBy: track.by('value')\"\n                    [ngValue]=\"option.value\"\n                  >\n                    {{\n                      'ProjectManagement::Enum:ProjectPriority.' + option.value | abpLocalization\n                    }}\n                  </option>\n                </select>\n              </div>\n            </div>\n\n            <div class=\"col-12 col-sm-auto\">\n              <div class=\"mb-3\">\n                <label class=\"form-label\" for=\"minDueDate\">\n                  {{ 'ProjectManagement::MinDueDate' | abpLocalization }}\n                </label>\n\n                <div class=\"input-group\" validationTarget>\n                  <input\n                    id=\"minDueDate\"\n                    class=\"form-control\"\n                    #minDueDateInput\n                    #minDueDateDatepicker=\"ngbDatepicker\"\n                    name=\"minDueDate\"\n                    ngbDatepicker\n                    container=\"body\"\n                    readonly\n                    (click)=\"minDueDateDatepicker.toggle()\"\n                    (keyup.space)=\"minDueDateDatepicker.toggle()\"\n                    [(ngModel)]=\"filters.dueDateMin\"\n                    [ngModelOptions]=\"{ standalone: true }\"\n                  />\n                  @if (minDueDateInput.value) {\n                    <div class=\"input-group-append\">\n                      <button\n                        class=\"btn btn-link px-2\"\n                        type=\"button\"\n                        [title]=\"'AbpUi::Clear' | abpLocalization\"\n                        (click)=\"\n                          minDueDateDatepicker.writeValue(null);\n                          minDueDateDatepicker.manualDateChange(null, true)\n                        \"\n                      >\n                        <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\n                      </button>\n                    </div>\n                  }\n                </div>\n              </div>\n            </div>\n\n            <div class=\"col-12 col-sm-auto\">\n              <div class=\"mb-3\">\n                <label class=\"form-label\" for=\"maxDueDate\">\n                  {{ 'ProjectManagement::MaxDueDate' | abpLocalization }}\n                </label>\n\n                <div class=\"input-group\" validationTarget>\n                  <input\n                    id=\"maxDueDate\"\n                    class=\"form-control\"\n                    #maxDueDateInput\n                    #maxDueDateDatepicker=\"ngbDatepicker\"\n                    name=\"maxDueDate\"\n                    ngbDatepicker\n                    readonly\n                    (click)=\"maxDueDateDatepicker.toggle()\"\n                    (keyup.space)=\"maxDueDateDatepicker.toggle()\"\n                    [(ngModel)]=\"filters.dueDateMax\"\n                    [ngModelOptions]=\"{ standalone: true }\"\n                  />\n                  @if (maxDueDateInput.value) {\n                    <div class=\"input-group-append\">\n                      <button\n                        class=\"btn btn-link px-2\"\n                        type=\"button\"\n                        [title]=\"'AbpUi::Clear' | abpLocalization\"\n                        (click)=\"\n                          maxDueDateDatepicker.writeValue(null);\n                          maxDueDateDatepicker.manualDateChange(null, true)\n                        \"\n                      >\n                        <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\n                      </button>\n                    </div>\n                  }\n                </div>\n              </div>\n            </div>\n\n            <div class=\"col-12 col-sm-auto\">\n              <div class=\"mb-3\">\n                <label class=\"form-label\" for=\"vfProjectIdFilter\">\n                  {{ 'ProjectManagement::VfProject' | abpLocalization }}\n                </label>\n                <abp-lookup-select\n                  cid=\"vfProjectIdFilter\"\n                  [getFn]=\"serviceDetail.getVfProjectLookup\"\n                  [(ngModel)]=\"filters.vfProjectId\"\n                  [ngModelOptions]=\"{ standalone: true }\"\n                ></abp-lookup-select>\n              </div>\n            </div>\n\n            <div class=\"col-12 col-sm-auto\">\n              <div class=\"mb-3\">\n                <label class=\"form-label\" for=\"identityUserIdFilter\">\n                  {{ 'ProjectManagement::ProjectTaskIdentityUser' | abpLocalization }}\n                </label>\n                <abp-lookup-select\n                  cid=\"identityUserIdFilter\"\n                  [getFn]=\"serviceDetail.getIdentityUserLookup\"\n                  [(ngModel)]=\"filters.identityUserId\"\n                  [ngModelOptions]=\"{ standalone: true }\"\n                ></abp-lookup-select>\n              </div>\n            </div>\n\n            <div class=\"col-12 col-sm-auto align-self-end mb-3\">\n              <div class=\"row\">\n                <div class=\"col-6 col-sm-auto d-grid\">\n                  <button type=\"button\" class=\"btn btn-outline-primary\" (click)=\"clearFilters()\">\n                    <span>{{ 'AbpUi::Clear' | abpLocalization }}</span>\n                  </button>\n                </div>\n                <div class=\"col-6 col-sm-auto d-grid\">\n                  <button type=\"button\" class=\"btn btn-primary\" (click)=\"list.get()\">\n                    <span>{{ 'AbpUi::Refresh' | abpLocalization }}</span>\n                  </button>\n                </div>\n              </div>\n            </div>\n          </div>\n          <!--<suite-custom-code-block-4>-->\n          <!--</suite-custom-code-block-4>-->\n        </form>\n      </abp-advanced-entity-filters-form>\n    }\n  </abp-advanced-entity-filters>\n  <!--<suite-custom-code-block-5>-->\n  <!--</suite-custom-code-block-5>-->\n  <div class=\"card\">\n    <div class=\"card-header d-flex justify-content-between align-items-center\">\n      @if (service.selectedCount() > 0) {\n        <h4 class=\"card-title\">\n          {{\n            'ProjectManagement::AllItemsAreSelected'\n              | abpLocalization\n                : (service.allSelected() ? service.data.totalCount : service.selectedCount())\n          }}\n        </h4>\n\n        <div>\n          <button class=\"btn btn-outline-primary btn-sm\" (click)=\"service.selectAll()\">\n            @if (service.allSelected()) {\n              {{ 'ProjectManagement::ClearSelection' | abpLocalization }}\n            } @else {\n              {{ 'ProjectManagement::SelectAllItems' | abpLocalization: service.data.totalCount }}\n            }\n          </button>\n\n          <button\n            *abpPermission=\"'ProjectManagement.VfTasks.Delete'\"\n            class=\"btn btn-danger btn-sm mx-1\"\n            (click)=\"service.bulkDelete()\"\n          >\n            <i class=\"fa fa-trash me-1\" aria-hidden=\"true\"></i>\n            {{ 'AbpUi::Delete' | abpLocalization: service.selectedCount() }}\n          </button>\n        </div>\n      }\n    </div>\n\n    <!--<suite-custom-code-block-6>-->\n    <!--</suite-custom-code-block-6>-->\n    <div class=\"card-body\">\n      <!--<suite-custom-code-block-7>-->\n      <!--</suite-custom-code-block-7>-->\n      <ngx-datatable\n        #vfTaskTable\n        default\n        [rows]=\"service.data.items\"\n        [count]=\"service.data.totalCount\"\n        [list]=\"list\"\n        [selected]=\"service.selected()\"\n        [selectionType]=\"service.selectionType.checkbox\"\n        (select)=\"service.onSelect($event)\"\n      >\n        <!--<suite-custom-code-block-8>-->\n        <!--</suite-custom-code-block-8>-->\n\n        <ngx-datatable-column\n          [width]=\"40\"\n          [sortable]=\"false\"\n          [canAutoResize]=\"false\"\n          [draggable]=\"false\"\n          [resizeable]=\"false\"\n        >\n          <ng-template\n            ngx-datatable-header-template\n            let-value=\"value\"\n            let-allRowsSelected=\"allRowsSelected\"\n            let-selectFn=\"selectFn\"\n          >\n            @if (service.data.items.length > 0) {\n              <input\n                type=\"checkbox\"\n                class=\"form-check-input\"\n                [checked]=\"allRowsSelected\"\n                (change)=\"selectFn(!allRowsSelected)\"\n              />\n            }\n          </ng-template>\n          <ng-template\n            ngx-datatable-cell-template\n            let-value=\"value\"\n            let-isSelected=\"isSelected\"\n            let-onCheckboxChangeFn=\"onCheckboxChangeFn\"\n          >\n            <input\n              class=\"form-check-input\"\n              type=\"checkbox\"\n              [checked]=\"isSelected\"\n              (change)=\"onCheckboxChangeFn($event)\"\n            />\n          </ng-template>\n        </ngx-datatable-column>\n\n        <!-- Row Detail Template -->\n        <ngx-datatable-row-detail rowHeight=\"100%\">\n          <ng-template let-row=\"row\" let-expanded=\"expanded\" ngx-datatable-row-detail-template>\n            <ul id=\"vfTask-nav-tabs mb-0\" ngbNav #nav=\"ngbNav\" class=\"nav-tabs\">\n              <li\n                *abpPermission=\"'ProjectManagement.VfTaskComments'\"\n                id=\"vf-task-comment-informations\"\n                ngbNavItem\n              >\n                <a ngbNavLink>{{ 'ProjectManagement::VfTaskComment' | abpLocalization }}</a>\n\n                <ng-template ngbNavContent>\n                  <lib-vf-task-comment [vfTaskId]=\"row.vfTask.id\" />\n                </ng-template>\n              </li>\n\n              <li\n                *abpPermission=\"'ProjectManagement.VfTaskAttachments'\"\n                id=\"vf-task-attachment-informations\"\n                ngbNavItem\n              >\n                <a ngbNavLink>{{ 'ProjectManagement::VfTaskAttachment' | abpLocalization }}</a>\n\n                <ng-template ngbNavContent>\n                  <lib-vf-task-attachment [vfTaskId]=\"row.vfTask.id\" />\n                </ng-template>\n              </li>\n\n              <li\n                *abpPermission=\"'ProjectManagement.VfProjectTaskActivityLogs'\"\n                id=\"vf-project-task-activity-log-informations\"\n                ngbNavItem\n              >\n                <a ngbNavLink>{{\n                  'ProjectManagement::VfProjectTaskActivityLog' | abpLocalization\n                }}</a>\n\n                <ng-template ngbNavContent>\n                  <lib-vf-project-task-activity-log [vfTaskId]=\"row.vfTask.id\" />\n                </ng-template>\n              </li>\n            </ul>\n\n            <div [ngbNavOutlet]=\"nav\" class=\"m-0 fade-in-top\"></div>\n          </ng-template>\n        </ngx-datatable-row-detail>\n        @if (isChildEntitiesPermitted) {\n          <ngx-datatable-column\n            [width]=\"50\"\n            [resizeable]=\"false\"\n            [sortable]=\"false\"\n            [draggable]=\"false\"\n            [canAutoResize]=\"false\"\n          >\n            <ng-template let-row=\"row\" let-expanded=\"expanded\" ngx-datatable-cell-template>\n              <a\n                href=\"javascript:void(0)\"\n                class=\"ngx-datatable-toggle text-decoration-none text-muted fa\"\n                [class.fa-angle-down]=\"!expanded\"\n                [class.fa-angle-up]=\"expanded\"\n                title=\"Expand/Collapse Row\"\n                (click)=\"toggleExpandRow(row)\"\n              >\n              </a>\n            </ng-template>\n          </ngx-datatable-column>\n        }\n\n        @if (isActionButtonVisible) {\n          <ngx-datatable-column\n            [name]=\"'AbpUi::Actions' | abpLocalization\"\n            [maxWidth]=\"150\"\n            [width]=\"150\"\n            [sortable]=\"false\"\n          >\n            <ng-template let-row=\"row\" let-i=\"rowIndex\" ngx-datatable-cell-template>\n              <div ngbDropdown container=\"body\" class=\"d-inline-block\">\n                <button\n                  class=\"btn btn-primary btn-sm dropdown-toggle\"\n                  data-toggle=\"dropdown\"\n                  aria-haspopup=\"true\"\n                  ngbDropdownToggle\n                >\n                  <i class=\"fa fa-cog me-1\" aria-hidden=\"true\"></i>\n                  {{ 'AbpUi::Actions' | abpLocalization }}\n                </button>\n\n                <div ngbDropdownMenu>\n                  <button\n                    ngbDropdownItem\n                    *abpPermission=\"'ProjectManagement.VfTasks.Edit'\"\n                    (click)=\"update(row)\"\n                  >\n                    {{ 'AbpUi::Edit' | abpLocalization }}\n                  </button>\n\n                  <button\n                    ngbDropdownItem\n                    *abpPermission=\"'ProjectManagement.VfTasks.Delete'\"\n                    (click)=\"delete(row)\"\n                  >\n                    {{ 'AbpUi::Delete' | abpLocalization }}\n                  </button>\n                </div>\n              </div>\n            </ng-template>\n          </ngx-datatable-column>\n        }\n        <ngx-datatable-column\n          name=\"{{ 'ProjectManagement::Title' | abpLocalization }}\"\n          prop=\"vfTask.title\"\n        >\n          <ng-template let-row=\"row\" ngx-datatable-cell-template>\n            {{ row.vfTask.title }}\n          </ng-template>\n        </ngx-datatable-column>\n        <ngx-datatable-column\n          name=\"{{ 'ProjectManagement::Status' | abpLocalization }}\"\n          prop=\"vfTask.status\"\n        >\n          <ng-template let-row=\"row\" ngx-datatable-cell-template>\n            {{\n              row.vfTask.status !== null\n                ? ('ProjectManagement::Enum:ProjectTaskStatus.' + row.vfTask.status\n                  | abpLocalization)\n                : ''\n            }}\n          </ng-template>\n        </ngx-datatable-column>\n        <ngx-datatable-column\n          name=\"{{ 'ProjectManagement::Priority' | abpLocalization }}\"\n          prop=\"vfTask.priority\"\n        >\n          <ng-template let-row=\"row\" ngx-datatable-cell-template>\n            {{\n              row.vfTask.priority !== null\n                ? ('ProjectManagement::Enum:ProjectPriority.' + row.vfTask.priority\n                  | abpLocalization)\n                : ''\n            }}\n          </ng-template>\n        </ngx-datatable-column>\n        <ngx-datatable-column\n          name=\"{{ 'ProjectManagement::DueDate' | abpLocalization }}\"\n          prop=\"vfTask.dueDate\"\n        >\n          <ng-template let-row=\"row\" ngx-datatable-cell-template>\n            {{ row.vfTask.dueDate | abpUtcToLocal: 'date' }}\n          </ng-template>\n        </ngx-datatable-column>\n        <ngx-datatable-column\n          name=\"{{ 'ProjectManagement::VfProject' | abpLocalization }}\"\n          prop=\"vfProject.name\"\n        >\n          <ng-template let-row=\"row\" ngx-datatable-cell-template>\n            {{ row.vfProject?.name }}\n          </ng-template>\n        </ngx-datatable-column>\n        <ngx-datatable-column\n          name=\"{{ 'ProjectManagement::ProjectTaskIdentityUser' | abpLocalization }}\"\n          prop=\"identityUser.userName\"\n        >\n       \n<ng-template let-row=\"row\" ngx-datatable-cell-template>\n  <span *ngIf=\"row.identityUser?.name && row.identityUser?.surname; else fallback\">\n    {{ (row.identityUser.name + ' ' + row.identityUser.surname) | titlecase }}\n  </span>\n  <ng-template #fallback>\n    {{ row.identityUser?.name| titlecase  }}\n  </ng-template>\n</ng-template>\n\n\n          \n        </ngx-datatable-column>\n        <!--<suite-custom-code-block-9>-->\n        <!--</suite-custom-code-block-9>-->\n      </ngx-datatable>\n      <!--<suite-custom-code-block-10>-->\n      <!--</suite-custom-code-block-10>-->\n    </div>\n  </div>\n  <!--<suite-custom-code-block-11>-->\n  <!--</suite-custom-code-block-11>-->\n</abp-page>\n<!--<suite-custom-code-block-12>-->\n<!--</suite-custom-code-block-12>-->\n\n@defer (when serviceDetail.isVisible) {\n  @if (serviceDetail.isVisible) {\n    <lib-vf-task-detail-modal />\n  }\n}\n","import { authGuard, permissionGuard } from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { VfTaskComponent } from './components/vf-task.component';\n\nexport const routes: Routes = [\n  {\n    path: '',\n    component: VfTaskComponent,\n    canActivate: [authGuard, permissionGuard],\n  },\n];\n\n@NgModule({\n  imports: [RouterModule.forChild(routes)],\n  exports: [RouterModule],\n})\nexport class VfTaskRoutingModule {}\n","import { NgModule } from '@angular/core';\nimport { VfTaskComponent } from './components/vf-task.component';\nimport { VfTaskRoutingModule } from './vf-task-routing.module';\n\n@NgModule({\n  declarations: [],\n  imports: [VfTaskComponent, VfTaskRoutingModule],\n})\nexport class VfTaskModule {}\n\nexport function loadVfTaskModuleAsChild() {\n  return Promise.resolve(VfTaskModule);\n}\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { loadVfProjectModuleAsChild } from './vf-projects/vf-project/vf-project.module';\r\nimport { loadVfTaskModuleAsChild } from './vf-tasks/vf-task/vf-task.module';\r\nconst routes: Routes = [\r\n  { path: 'vf-projects', loadChildren: loadVfProjectModuleAsChild },\r\n  { path: 'vf-tasks', loadChildren: loadVfTaskModuleAsChild },\r\n  //{ path: 'vf-project-activity-logs', loadChildren: loadVfProjectActivityLogModuleAsChild },\r\n];\r\n\r\n@NgModule({\r\n  imports: [RouterModule.forChild(routes)],\r\n  exports: [RouterModule],\r\n})\r\nexport class ProjectManagementRoutingModule { }\r\n","import { ToolbarAction } from '@abp/ng.components/extensible';\r\nimport { ProjectManagementComponent } from '../components';\r\nimport { ProductDto } from '../../lib/proxy';\r\n\r\nexport const DEFAULT_PRODUCT_ENTITY_TOOLBAR_ACTIONS = ToolbarAction.createMany<ProductDto[]>([\r\n  {\r\n    text: 'AbpUi::AddNew',\r\n    action: data => {\r\n      const component = data.getInjected(ProjectManagementComponent);\r\n      component.onAdd();\r\n    },\r\n    icon: 'fa fa-plus',\r\n  },\r\n]);\r\n","import { FormProp, ePropType } from '@abp/ng.components/extensible';\r\nimport { ABP } from '@abp/ng.core';\r\nimport { Validators } from '@angular/forms';\r\nimport { ProductDto, ProductsService } from '../../lib/proxy';\r\nimport { of } from 'rxjs';\r\n\r\nconst { required } = Validators;\r\nconst DefaultOption = {\r\n  value: null,\r\n  key: '-',\r\n} as ABP.Option<any>;\r\n\r\nexport const DEFAULT_CREATE_PRODUCT_FORM_PROPS = FormProp.createMany<ProductDto>([\r\n  {\r\n    type: ePropType.String,\r\n    id: 'productId',\r\n    name: 'productId',\r\n    displayName: 'Product',\r\n    defaultValue: null,\r\n    validators: () => [required],\r\n    options: data => {\r\n      const { products } = data.getInjected(ProductsService);\r\n\r\n      return of([\r\n        DefaultOption,\r\n        ...products().map(product => ({ value: product.id, key: product.name })),\r\n      ]);\r\n    },\r\n  },\r\n  {\r\n    type: ePropType.String,\r\n    id: 'brandId',\r\n    name: 'brandId',\r\n    displayName: 'Brand',\r\n    defaultValue: null,\r\n    validators: () => [required],\r\n    options: data => {\r\n      const { brands } = data.getInjected(ProductsService);\r\n\r\n      return of([DefaultOption, ...brands().map(brand => ({ value: brand.id, key: brand.name }))]);\r\n    },\r\n  },\r\n  {\r\n    type: ePropType.String,\r\n    id: 'genreId',\r\n    name: 'genreId',\r\n    displayName: 'Genre',\r\n    defaultValue: null,\r\n    validators: () => [required],\r\n    options: data => {\r\n      const { genres } = data.getInjected(ProductsService);\r\n\r\n      return of([DefaultOption, ...genres().map(genre => ({ value: genre.id, key: genre.name }))]);\r\n    },\r\n  },\r\n  {\r\n    type: ePropType.Date,\r\n    id: 'returnDate',\r\n    name: 'returnDate',\r\n    displayName: 'Return Date',\r\n    defaultValue: null,\r\n    validators: () => [required],\r\n  },\r\n]);\r\n\r\nexport const DEFAULT_EDIT_PRODUCT_FORM_PROPS = DEFAULT_CREATE_PRODUCT_FORM_PROPS;\r\n","import { EntityProp, ePropType } from '@abp/ng.components/extensible';\r\nimport { ProductDto } from '../../lib/proxy';\r\n\r\nexport const DEFAULT_PRODUCT_ENTITY_PROPS = EntityProp.createMany<ProductDto>([\r\n  {\r\n    type: ePropType.String,\r\n    name: 'name',\r\n    displayName: 'Name',\r\n    sortable: true,\r\n    columnWidth: 250,\r\n  },\r\n  {\r\n    type: ePropType.String,\r\n    name: 'brand',\r\n    displayName: 'Brand',\r\n    sortable: true,\r\n    columnWidth: 250,\r\n  },\r\n  {\r\n    type: ePropType.String,\r\n    name: 'genre',\r\n    displayName: 'Genre',\r\n    sortable: true,\r\n    columnWidth: 250,\r\n  },\r\n  {\r\n    type: ePropType.Date,\r\n    name: 'returnDate',\r\n    displayName: 'Return Date',\r\n    sortable: true,\r\n    columnWidth: 250,\r\n  },\r\n]);\r\n","import { EntityAction } from '@abp/ng.components/extensible';\r\nimport { ProjectManagementComponent } from '../components';\r\nimport { ProductDto } from '../../lib/proxy';\r\n\r\nexport const DEFAULT_PRODUCT_ENTITY_ACTIONS = EntityAction.createMany<ProductDto[]>([\r\n  {\r\n    text: 'AbpUi::Edit',\r\n    action: data => {\r\n      const component = data.getInjected(ProjectManagementComponent);\r\n      component.onEdit(data.record);\r\n    },\r\n  },\r\n  {\r\n    text: 'AbpUi::Delete',\r\n    action: data => {\r\n      const component = data.getInjected(ProjectManagementComponent);\r\n      component.delete(data.record);\r\n    },\r\n  },\r\n]);\r\n","import { InjectionToken } from '@angular/core';\r\nimport { eProjectManagementComponents } from '../enums/components';\r\nimport {\r\n  CreateFormPropContributorCallback,\r\n  EditFormPropContributorCallback,\r\n  EntityActionContributorCallback,\r\n  EntityPropContributorCallback,\r\n  ToolbarActionContributorCallback,\r\n} from '@abp/ng.components/extensible';\r\nimport { DEFAULT_PRODUCT_ENTITY_TOOLBAR_ACTIONS } from '../defaults/default-project-management-toolbar-actions';\r\nimport { ProductDto } from '../../lib/proxy';\r\nimport {\r\n  DEFAULT_CREATE_PRODUCT_FORM_PROPS,\r\n  DEFAULT_EDIT_PRODUCT_FORM_PROPS,\r\n} from '../defaults/default-project-management-form-props';\r\nimport { DEFAULT_PRODUCT_ENTITY_PROPS } from '../defaults/default-project-management-entity-props';\r\nimport { DEFAULT_PRODUCT_ENTITY_ACTIONS } from '../defaults/default-project-management-entity-actions';\r\n\r\n//#region Default Actions\r\nexport const DEFAULT_PROJECT_MANAGEMENT_TOOLBAR_ACTIONS = {\r\n  [eProjectManagementComponents.ProjectManagement]: DEFAULT_PRODUCT_ENTITY_TOOLBAR_ACTIONS,\r\n};\r\nexport const DEFAULT_PROJECT_MANAGEMENT_ENTITY_ACTIONS = {\r\n  [eProjectManagementComponents.ProjectManagement]: DEFAULT_PRODUCT_ENTITY_ACTIONS,\r\n};\r\n//#endregion\r\n\r\n//#region Default Properties\r\nexport const DEFAULT_PROJECT_MANAGEMENT_ENTITY_PROPS = {\r\n  [eProjectManagementComponents.ProjectManagement]: DEFAULT_PRODUCT_ENTITY_PROPS,\r\n};\r\nexport const DEFAULT_PROJECT_MANAGEMENT_CREATE_FORM_PROPS = {\r\n  [eProjectManagementComponents.ProjectManagement]: DEFAULT_CREATE_PRODUCT_FORM_PROPS,\r\n};\r\nexport const DEFAULT_PROJECT_MANAGEMENT_EDIT_FORM_PROPS = {\r\n  [eProjectManagementComponents.ProjectManagement]: DEFAULT_EDIT_PRODUCT_FORM_PROPS,\r\n};\r\n//#endregion\r\n\r\n//#region Action Injection Tokens\r\nexport const PROJECT_MANAGEMENT_TOOLBAR_ACTION_CONTRIBUTORS =\r\n  new InjectionToken<ToolbarActionContributors>('PROJECT_MANAGEMENT_TOOLBAR_ACTION_CONTRIBUTORS');\r\n\r\nexport const PROJECT_MANAGEMENT_ENTITY_ACTION_CONTRIBUTORS =\r\n  new InjectionToken<EntityActionContributors>('PROJECT_MANAGEMENT_ENTITY_ACTION_CONTRIBUTORS');\r\n//#endregion\r\n\r\n//#region Property Injection Tokens\r\nexport const PROJECT_MANAGEMENT_ENTITY_PROP_CONTRIBUTORS = new InjectionToken<EntityPropContributors>(\r\n  'PROJECT_MANAGEMENT_ENTITY_PROP_CONTRIBUTORS'\r\n);\r\n\r\nexport const PROJECT_MANAGEMENT_CREATE_PRODUCT_FORM_PROP_CONTRIBUTORS =\r\n  new InjectionToken<CreateFormPropContributors>(\r\n    'PROJECT_MANAGEMENT_CREATE_PRODUCT_FORM_PROP_CONTRIBUTORS'\r\n  );\r\n\r\nexport const PROJECT_MANAGEMENT_EDIT_PRODUCT_FORM_PROP_CONTRIBUTORS =\r\n  new InjectionToken<EditFormPropContributors>(\r\n    'PROJECT_MANAGEMENT_EDIT_PRODUCT_FORM_PROP_CONTRIBUTORS'\r\n  );\r\n//#endregion\r\n\r\ntype EntityActionContributors = Partial<{\r\n  [eProjectManagementComponents.ProjectManagement]: EntityActionContributorCallback<ProductDto>[];\r\n}>;\r\n\r\ntype ToolbarActionContributors = Partial<{\r\n  [eProjectManagementComponents.ProjectManagement]: ToolbarActionContributorCallback<ProductDto>[];\r\n}>;\r\n\r\ntype EntityPropContributors = Partial<{\r\n  [eProjectManagementComponents.ProjectManagement]: EntityPropContributorCallback<ProductDto>[];\r\n}>;\r\n\r\ntype CreateFormPropContributors = Partial<{\r\n  [eProjectManagementComponents.ProjectManagement]: CreateFormPropContributorCallback<ProductDto>[];\r\n}>;\r\n\r\ntype EditFormPropContributors = Partial<{\r\n  [eProjectManagementComponents.ProjectManagement]: EditFormPropContributorCallback<ProductDto>[];\r\n}>;\r\n","import { NgModule, ModuleWithProviders } from '@angular/core';\r\nimport { CoreModule, LazyModuleFactory } from '@abp/ng.core';\r\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\r\nimport { ProjectManagementComponent } from './components/project-management.component';\r\nimport { ProjectManagementRoutingModule } from './project-management-routing.module';\r\nimport { ProjectManagementConfigOptions } from './models/config-options';\r\nimport { PageModule } from '@abp/ng.components/page';\r\nimport { ExtensibleModule } from '@abp/ng.components/extensible';\r\nimport {\r\n  PROJECT_MANAGEMENT_ENTITY_ACTION_CONTRIBUTORS,\r\n  PROJECT_MANAGEMENT_TOOLBAR_ACTION_CONTRIBUTORS,\r\n} from './tokens/extensions.token';\r\n\r\n@NgModule({\r\n  declarations: [ProjectManagementComponent],\r\n  imports: [\r\n    CoreModule,\r\n    ThemeSharedModule,\r\n    ProjectManagementRoutingModule,\r\n    PageModule,\r\n    ExtensibleModule,\r\n  ],\r\n  exports: [ProjectManagementComponent],\r\n})\r\nexport class ProjectManagementModule {\r\n  static forChild(\r\n    options: ProjectManagementConfigOptions = {}\r\n  ): ModuleWithProviders<ProjectManagementModule> {\r\n    return {\r\n      ngModule: ProjectManagementModule,\r\n      providers: [\r\n        {\r\n          provide: PROJECT_MANAGEMENT_ENTITY_ACTION_CONTRIBUTORS,\r\n          useValue: options.entityActionContributors,\r\n        },\r\n        {\r\n          provide: PROJECT_MANAGEMENT_TOOLBAR_ACTION_CONTRIBUTORS,\r\n          useValue: options.toolbarActionContributors,\r\n        },\r\n      ],\r\n    };\r\n  }\r\n\r\n  static forLazy(options?: ProjectManagementConfigOptions): LazyModuleFactory<ProjectManagementModule> {\r\n    return new LazyModuleFactory(ProjectManagementModule.forChild(options));\r\n  }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i3","i4","i5","ChildTabDependencies","ChildComponentDependencies","i6","i10.VfProjectMemberComponent","i11.VfProjectActivityLogComponent","routes","i10.VfTaskCommentComponent","i11.VfTaskAttachmentComponent","i12.VfProjectTaskActivityLogComponent"],"mappings":"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"}