{"version":3,"sources":["webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./src/app/app.component.pug","webpack:///./src/app/core/components/engineering-home/engineering-home.component.pug","webpack:///./src/app/core/components/home/home.component.pug","webpack:///./src/app/core/components/nav-menu/nav-menu.component.pug","webpack:///./src/app/core/components/sales-home/sales-home.component.pug","webpack:///./src/app/core/components/user-profile/user-profile.component.pug","webpack:///./src/app/modules/admin/components/admin-tools/admin-tool/admin-tool.component.pug","webpack:///./src/app/modules/admin/components/admin-tools/delete-unused-common-issues/delete-unused-common-issues.component.pug","webpack:///./src/app/modules/admin/components/admin-tools/delete-unused-solutions/delete-unused-solutions.component.pug","webpack:///./src/app/modules/admin/components/admin-tools/reset-user-publish-date/reset-user-publish-date.component.pug","webpack:///./src/app/modules/admin/components/nav/nav.component.pug","webpack:///./src/app/modules/admin/components/roles-permissions/roles-permissions.component.pug","webpack:///./src/app/modules/classification/components/classification-diagnostics-management/classification-diagnostics-management.component.pug","webpack:///./src/app/modules/classification/components/classification-tree-management/classification-tree-management.component.pug","webpack:///./src/app/modules/classification/components/classification-tree/classification-tree.component.pug","webpack:///./src/app/modules/classification/components/editors/common-issue-editor/common-issue-editor.component.pug","webpack:///./src/app/modules/classification/components/editors/function-editor/function-editor.component.pug","webpack:///./src/app/modules/classification/components/editors/product-editor/product-editor.component.pug","webpack:///./src/app/modules/content-manager/components/create-articles-list/create-articles-list.component.pug","webpack:///./src/app/modules/content-manager/components/create-edit-articles/affected-versions/affected-versions.component.pug","webpack:///./src/app/modules/content-manager/components/create-edit-articles/category-selector/category-selector.component.pug","webpack:///./src/app/modules/content-manager/components/create-edit-articles/collaborators/collaborators.component.pug","webpack:///./src/app/modules/content-manager/components/create-edit-articles/create-edit-articles/create-edit-articles.component.pug","webpack:///./src/app/modules/content-manager/components/create-edit-articles/log-phrases/log-phrases.component.pug","webpack:///./src/app/modules/content-manager/components/create-edit-articles/markdown-property-editor/markdown-property-editor.component.pug","webpack:///./src/app/modules/content-manager/components/create-edit-articles/proposed-node/proposed-node.component.pug","webpack:///./src/app/modules/content-manager/components/create-edit-articles/targeted-roles/targeted-roles.component.pug","webpack:///./src/app/modules/content-manager/components/create-edit-articles/technical-reviewer/technical-reviewer.component.pug","webpack:///./src/app/modules/content-manager/components/manage-articles/manage-articles.component.pug","webpack:///./src/app/modules/content-manager/components/publish-confirmation/publish-confirmation.component.pug","webpack:///./src/app/modules/content-viewer/components/articles/article-version-indicator/article-version-indicator.component.pug","webpack:///./src/app/modules/content-viewer/components/articles/articles-compare/articles-compare.component.pug","webpack:///./src/app/modules/content-viewer/components/articles/articles-viewer-best-practices/articles-viewer-best-practices.component.pug","webpack:///./src/app/modules/content-viewer/components/articles/articles-viewer-frequently-asked-question/articles-viewer-frequently-asked-question.component.pug","webpack:///./src/app/modules/content-viewer/components/articles/articles-viewer-modal-preview/articles-viewer-modal-preview.component.pug","webpack:///./src/app/modules/content-viewer/components/articles/articles-viewer-solution/articles-viewer-solution.component.pug","webpack:///./src/app/modules/content-viewer/components/articles/articles-viewer-technical-reference/articles-viewer-technical-reference.component.pug","webpack:///./src/app/modules/content-viewer/components/articles/articles-viewer-technicalnote/articles-viewer-technicalnote.component.pug","webpack:///./src/app/modules/content-viewer/components/articles/articles-viewer-troubleshooting/articles-viewer-troubleshooting.component.pug","webpack:///./src/app/modules/content-viewer/components/articles/articles-viewer/articles-viewer.component.pug","webpack:///./src/app/modules/content-viewer/components/articles/toolbar/article-history/article-history.component.pug","webpack:///./src/app/modules/content-viewer/components/articles/toolbar/article-voting/article-voting.component.pug","webpack:///./src/app/modules/content-viewer/components/articles/toolbar/notices-and-confirmations/accept-with-comment/accept-with-comment.component.pug","webpack:///./src/app/modules/content-viewer/components/articles/toolbar/notices-and-confirmations/approve-partner-confirmation/approve-partner-confirmation.component.pug","webpack:///./src/app/modules/content-viewer/components/articles/toolbar/notices-and-confirmations/approve-publish-confirmation/approve-publish-confirmation.component.pug","webpack:///./src/app/modules/content-viewer/components/articles/toolbar/notices-and-confirmations/approve-review-confirmation/approve-review-confirmation.component.pug","webpack:///./src/app/modules/content-viewer/components/articles/toolbar/notices-and-confirmations/confirmation-with-comment/confirmation-with-comment.component.pug","webpack:///./src/app/modules/content-viewer/components/articles/toolbar/notices-and-confirmations/reject-partner-confirmation/reject-partner-confirmation.component.pug","webpack:///./src/app/modules/content-viewer/components/articles/toolbar/notices-and-confirmations/reject-promotion-confirmation/reject-promotion-confirmation.component.pug","webpack:///./src/app/modules/content-viewer/components/articles/toolbar/notices-and-confirmations/reject-publish-confirmation/reject-publish-confirmation.component.pug","webpack:///./src/app/modules/content-viewer/components/articles/toolbar/notices-and-confirmations/reject-review-confirmation/reject-review-confirmation.component.pug","webpack:///./src/app/modules/content-viewer/components/articles/toolbar/notices-and-confirmations/reject-with-comment/reject-with-comment.component.pug","webpack:///./src/app/modules/content-viewer/components/articles/toolbar/partner-approval/partner-approval.component.pug","webpack:///./src/app/modules/content-viewer/components/articles/toolbar/publish-approval/publish-approval.component.pug","webpack:///./src/app/modules/content-viewer/components/articles/toolbar/reject-promotion/reject-promotion.component.pug","webpack:///./src/app/modules/content-viewer/components/articles/toolbar/review-approval/review-approval.component.pug","webpack:///./src/app/modules/content-viewer/components/articles/toolbar/workflow-transition/workflow-transition.component.pug","webpack:///./src/app/modules/content-viewer/components/incidents/incident-activities-header/incident-activities-header.component.pug","webpack:///./src/app/modules/content-viewer/components/incidents/incident-activities-render/incident-activities-render.component.pug","webpack:///./src/app/modules/content-viewer/components/incidents/incident-activities-viewer/incident-activities-viewer.component.pug","webpack:///./src/app/modules/content-viewer/components/incidents/incident-escalation-confirmation/incident-escalation-confirmation.component.pug","webpack:///./src/app/modules/content-viewer/components/incidents/incident-escalation/incident-escalation.component.pug","webpack:///./src/app/modules/content-viewer/components/incidents/incident-internal-note/incident-internal-note.component.pug","webpack:///./src/app/modules/content-viewer/components/incidents/incident-share/incident-share.component.pug","webpack:///./src/app/modules/content-viewer/components/incidents/incident-viewer/incident-viewer.component.pug","webpack:///./src/app/modules/content-viewer/components/psrs/psr-activities-viewer/psr-activities-viewer.component.pug","webpack:///./src/app/modules/content-viewer/components/psrs/psr-viewer/psr-viewer.component.pug","webpack:///./src/app/modules/markdown-editor/components/markdown-editor/markdown-editor.component.pug","webpack:///./src/app/modules/reports/components/render/render.component.pug","webpack:///./src/app/modules/reports/components/reports-gallery/reports-gallery.component.pug","webpack:///./src/app/modules/search/components/search.result.article/search.result.article.component.pug","webpack:///./src/app/modules/search/components/search.result.incident/search.result.incident.component.pug","webpack:///./src/app/modules/search/components/search.result.psr/search.result.psr.component.pug","webpack:///./src/app/modules/search/components/search/search.component.pug","webpack:///./src/app/shared/components/checkbox-group/checkbox-group.component.pug","webpack:///./src/app/shared/components/checkbox/checkbox.component.pug","webpack:///./src/app/shared/components/confirmation-dialog/confirmation-dialog.component.pug","webpack:///./src/app/shared/components/create-metallic-ticket/create-metallic-ticket.component.pug","webpack:///./src/app/shared/components/internal-case/internal-case.component.pug","webpack:///./src/app/shared/components/latest-articles/latest-articles.component.pug","webpack:///./src/app/shared/components/metallic-ticket-confirmation/metallic-ticket-confirmation.component.pug","webpack:///./src/app/shared/components/quick-escalation/quick-escalation.component.pug","webpack:///./src/app/shared/components/simple-search/simple-search.component.pug","webpack:///./src/app/shared/components/switch/switch.component.pug","webpack:///./src/app/shared/components/top-contributors/top-contributors.component.pug","webpack:///./src/app/shared/components/tri-state-checkbox/tri-state-checkbox.component.pug","webpack:///./src/app/shared/components/voting/voting/voting.component.pug","webpack:///./src/$_lazy_route_resource lazy namespace object","webpack:///./src/app/app-routing.module.ts","webpack:///./src/app/app.component.pug?6f0f","webpack:///./src/app/app.component.scss","webpack:///./src/app/app.component.ts","webpack:///./src/app/app.module.ts","webpack:///./src/app/core/components/alert/alert.component.html","webpack:///./src/app/core/components/alert/alert.component.scss","webpack:///./src/app/core/components/alert/alert.component.ts","webpack:///./src/app/core/components/auth-callback/auth-callback.component.ts","webpack:///./src/app/core/components/engineering-home/engineering-home.component.pug?32c5","webpack:///./src/app/core/components/engineering-home/engineering-home.component.ts","webpack:///./src/app/core/components/escalation/escalation.component.html","webpack:///./src/app/core/components/escalation/escalation.component.scss","webpack:///./src/app/core/components/escalation/escalation.component.ts","webpack:///./src/app/core/components/home/home.component.pug?6377","webpack:///./src/app/core/components/home/home.component.ts","webpack:///./src/app/core/components/nav-menu/nav-menu.component.pug?e26c","webpack:///./src/app/core/components/nav-menu/nav-menu.component.scss","webpack:///./src/app/core/components/nav-menu/nav-menu.component.ts","webpack:///./src/app/core/components/not-found/not-found.component.html","webpack:///./src/app/core/components/not-found/not-found.component.scss","webpack:///./src/app/core/components/not-found/not-found.component.ts","webpack:///./src/app/core/components/sales-home/sales-home.component.pug?c331","webpack:///./src/app/core/components/sales-home/sales-home.component.scss","webpack:///./src/app/core/components/sales-home/sales-home.component.ts","webpack:///./src/app/core/components/user-profile/user-profile.component.pug?7d0b","webpack:///./src/app/core/components/user-profile/user-profile.component.scss","webpack:///./src/app/core/components/user-profile/user-profile.component.ts","webpack:///./src/app/core/core.module.ts","webpack:///./src/app/core/interceptors/error.interceptor.ts","webpack:///./src/app/core/interceptors/headers.interceptor.ts","webpack:///./src/app/core/interceptors/spinner.interceptor.ts","webpack:///./src/app/core/models/applications/parent-version.model.ts","webpack:///./src/app/core/models/applications/version.ts","webpack:///./src/app/core/models/articles/article-author.model.ts","webpack:///./src/app/core/models/articles/article-best-practices.model.ts","webpack:///./src/app/core/models/articles/article-contributor.model.ts","webpack:///./src/app/core/models/articles/article-definition.model.ts","webpack:///./src/app/core/models/articles/article-faq.model.ts","webpack:///./src/app/core/models/articles/article-fixed-version.model.ts","webpack:///./src/app/core/models/articles/article-metadata.model.ts","webpack:///./src/app/core/models/articles/article-solution.model.ts","webpack:///./src/app/core/models/articles/article-target-role.model.ts","webpack:///./src/app/core/models/articles/article-targeted-version.model.ts","webpack:///./src/app/core/models/articles/article-technical-note.model.ts","webpack:///./src/app/core/models/articles/article-technical-reference.model.ts","webpack:///./src/app/core/models/articles/article-troubleshooting.model.ts","webpack:///./src/app/core/models/articles/article.model.ts","webpack:///./src/app/core/models/articles/latest-articles.model.ts","webpack:///./src/app/core/models/articles/user-contribution.model.ts","webpack:///./src/app/core/models/comments/comment.model.ts","webpack:///./src/app/core/models/incidents/incident-activity.model.ts","webpack:///./src/app/core/models/incidents/incident-contact.model.ts","webpack:///./src/app/core/models/incidents/incident-field-escalation-submission.model.ts","webpack:///./src/app/core/models/incidents/incident-internal-note.model.ts","webpack:///./src/app/core/models/incidents/incident-subscription.model.ts","webpack:///./src/app/core/models/incidents/incident.model.ts","webpack:///./src/app/core/models/roles/role.model.ts","webpack:///./src/app/core/models/searches/key-value.model.ts","webpack:///./src/app/core/models/searches/search-request-facet.model.ts","webpack:///./src/app/core/models/searches/search.request.model.ts","webpack:///./src/app/core/models/users/user.model.ts","webpack:///./src/app/core/services/admin/admin.service.ts","webpack:///./src/app/core/services/alert/alert.service.ts","webpack:///./src/app/core/services/application-versions/application-versions.service.ts","webpack:///./src/app/core/services/applications/application.service.ts","webpack:///./src/app/core/services/articles/article-workflow.service.ts","webpack:///./src/app/core/services/articles/article.service.ts","webpack:///./src/app/core/services/auth/auth.service.ts","webpack:///./src/app/core/services/can-deactivate/can-deactivate.guard.ts","webpack:///./src/app/core/services/categories/category.service.ts","webpack:///./src/app/core/services/comments/comment.service.ts","webpack:///./src/app/core/services/incident-activities/incident-activities.service.ts","webpack:///./src/app/core/services/incidents/incident.service.ts","webpack:///./src/app/core/services/logging/error.handler.service.ts","webpack:///./src/app/core/services/logging/logging.service.ts","webpack:///./src/app/core/services/messages/message.service.ts","webpack:///./src/app/core/services/periods/period.service.ts","webpack:///./src/app/core/services/permissions/auth-permissions.guard.ts","webpack:///./src/app/core/services/permissions/permission.service.ts","webpack:///./src/app/core/services/psrs/psrs.service.ts","webpack:///./src/app/core/services/roles/roles.service.ts","webpack:///./src/app/core/services/searches/search.service.ts","webpack:///./src/app/core/services/share/share.service.ts","webpack:///./src/app/core/services/spinner/spinner.service.ts","webpack:///./src/app/core/services/transform/transform.service.ts","webpack:///./src/app/core/services/user-profiles/user-profile.service.ts","webpack:///./src/app/core/services/users/users.service.ts","webpack:///./src/app/modules/admin/admin-routing.module.ts","webpack:///./src/app/modules/admin/admin.module.ts","webpack:///./src/app/modules/admin/components/admin-tools/admin-tool/admin-tool.component.pug?089d","webpack:///./src/app/modules/admin/components/admin-tools/admin-tool/admin-tool.component.scss","webpack:///./src/app/modules/admin/components/admin-tools/admin-tool/admin-tool.component.ts","webpack:///./src/app/modules/admin/components/admin-tools/delete-unused-common-issues/delete-unused-common-issues.component.pug?1b38","webpack:///./src/app/modules/admin/components/admin-tools/delete-unused-common-issues/delete-unused-common-issues.component.scss","webpack:///./src/app/modules/admin/components/admin-tools/delete-unused-common-issues/delete-unused-common-issues.component.ts","webpack:///./src/app/modules/admin/components/admin-tools/delete-unused-solutions/delete-unused-solutions.component.pug?a13a","webpack:///./src/app/modules/admin/components/admin-tools/delete-unused-solutions/delete-unused-solutions.component.scss","webpack:///./src/app/modules/admin/components/admin-tools/delete-unused-solutions/delete-unused-solutions.component.ts","webpack:///./src/app/modules/admin/components/admin-tools/reset-user-publish-date/reset-user-publish-date.component.pug?9135","webpack:///./src/app/modules/admin/components/admin-tools/reset-user-publish-date/reset-user-publish-date.component.scss","webpack:///./src/app/modules/admin/components/admin-tools/reset-user-publish-date/reset-user-publish-date.component.ts","webpack:///./src/app/modules/admin/components/nav/nav.component.pug?ed55","webpack:///./src/app/modules/admin/components/nav/nav.component.scss","webpack:///./src/app/modules/admin/components/nav/nav.component.ts","webpack:///./src/app/modules/admin/components/roles-permissions/roles-permissions.component.pug?d0d1","webpack:///./src/app/modules/admin/components/roles-permissions/roles-permissions.component.scss","webpack:///./src/app/modules/admin/components/roles-permissions/roles-permissions.component.ts","webpack:///./src/app/modules/classification/classification-routing.module.ts","webpack:///./src/app/modules/classification/classification.module.ts","webpack:///./src/app/modules/classification/components/classification-diagnostics-management/classification-diagnostics-management.component.pug?8fb2","webpack:///./src/app/modules/classification/components/classification-diagnostics-management/classification-diagnostics-management.component.scss","webpack:///./src/app/modules/classification/components/classification-diagnostics-management/classification-diagnostics-management.component.ts","webpack:///./src/app/modules/classification/components/classification-tree-management/classification-tree-management.component.pug?db73","webpack:///./src/app/modules/classification/components/classification-tree-management/classification-tree-management.component.scss","webpack:///./src/app/modules/classification/components/classification-tree-management/classification-tree-management.component.ts","webpack:///./src/app/modules/classification/components/classification-tree/classification-tree.component.pug?c93d","webpack:///./src/app/modules/classification/components/classification-tree/classification-tree.component.scss","webpack:///./src/app/modules/classification/components/classification-tree/classification-tree.component.ts","webpack:///./src/app/modules/classification/components/editors/common-issue-editor/common-issue-editor.component.pug?591d","webpack:///./src/app/modules/classification/components/editors/common-issue-editor/common-issue-editor.component.scss","webpack:///./src/app/modules/classification/components/editors/common-issue-editor/common-issue-editor.component.ts","webpack:///./src/app/modules/classification/components/editors/function-editor/function-editor.component.pug?9989","webpack:///./src/app/modules/classification/components/editors/function-editor/function-editor.component.scss","webpack:///./src/app/modules/classification/components/editors/function-editor/function-editor.component.ts","webpack:///./src/app/modules/classification/components/editors/product-editor/product-editor.component.pug?ae02","webpack:///./src/app/modules/classification/components/editors/product-editor/product-editor.component.scss","webpack:///./src/app/modules/classification/components/editors/product-editor/product-editor.component.ts","webpack:///./src/app/modules/classification/models/graph-node.model.ts","webpack:///./src/app/modules/classification/models/submitted-graph-node.model.ts","webpack:///./src/app/modules/classification/models/tree-node.model.ts","webpack:///./src/app/modules/classification/models/troubleshooting-information.model.ts","webpack:///./src/app/modules/classification/services/classification-selection/classification-selection.service.ts","webpack:///./src/app/modules/classification/services/classification/classification.service.ts","webpack:///./src/app/modules/content-manager/components/create-articles-list/create-articles-list.component.pug?8abb","webpack:///./src/app/modules/content-manager/components/create-articles-list/create-articles-list.component.scss","webpack:///./src/app/modules/content-manager/components/create-articles-list/create-articles-list.component.ts","webpack:///./src/app/modules/content-manager/components/create-edit-articles/affected-versions/affected-versions.component.pug?d367","webpack:///./src/app/modules/content-manager/components/create-edit-articles/affected-versions/affected-versions.component.scss","webpack:///./src/app/modules/content-manager/components/create-edit-articles/affected-versions/affected-versions.component.ts","webpack:///./src/app/modules/content-manager/components/create-edit-articles/category-selector/category-selector.component.pug?268c","webpack:///./src/app/modules/content-manager/components/create-edit-articles/category-selector/category-selector.component.scss","webpack:///./src/app/modules/content-manager/components/create-edit-articles/category-selector/category-selector.component.ts","webpack:///./src/app/modules/content-manager/components/create-edit-articles/collaborators/collaborators.component.pug?15c5","webpack:///./src/app/modules/content-manager/components/create-edit-articles/collaborators/collaborators.component.scss","webpack:///./src/app/modules/content-manager/components/create-edit-articles/collaborators/collaborators.component.ts","webpack:///./src/app/modules/content-manager/components/create-edit-articles/create-edit-articles/create-edit-articles.component.pug?228e","webpack:///./src/app/modules/content-manager/components/create-edit-articles/create-edit-articles/create-edit-articles.component.scss","webpack:///./src/app/modules/content-manager/components/create-edit-articles/create-edit-articles/create-edit-articles.component.ts","webpack:///./src/app/modules/content-manager/components/create-edit-articles/log-phrases/log-phrases.component.pug?c25d","webpack:///./src/app/modules/content-manager/components/create-edit-articles/log-phrases/log-phrases.component.scss","webpack:///./src/app/modules/content-manager/components/create-edit-articles/log-phrases/log-phrases.component.ts","webpack:///./src/app/modules/content-manager/components/create-edit-articles/markdown-property-editor/markdown-property-editor.component.pug?61d0","webpack:///./src/app/modules/content-manager/components/create-edit-articles/markdown-property-editor/markdown-property-editor.component.scss","webpack:///./src/app/modules/content-manager/components/create-edit-articles/markdown-property-editor/markdown-property-editor.component.ts","webpack:///./src/app/modules/content-manager/components/create-edit-articles/proposed-node/proposed-node.component.pug?5cab","webpack:///./src/app/modules/content-manager/components/create-edit-articles/proposed-node/proposed-node.component.scss","webpack:///./src/app/modules/content-manager/components/create-edit-articles/proposed-node/proposed-node.component.ts","webpack:///./src/app/modules/content-manager/components/create-edit-articles/targeted-roles/targeted-roles.component.pug?8f77","webpack:///./src/app/modules/content-manager/components/create-edit-articles/targeted-roles/targeted-roles.component.scss","webpack:///./src/app/modules/content-manager/components/create-edit-articles/targeted-roles/targeted-roles.component.ts","webpack:///./src/app/modules/content-manager/components/create-edit-articles/technical-reviewer/technical-reviewer.component.pug?7a58","webpack:///./src/app/modules/content-manager/components/create-edit-articles/technical-reviewer/technical-reviewer.component.scss","webpack:///./src/app/modules/content-manager/components/create-edit-articles/technical-reviewer/technical-reviewer.component.ts","webpack:///./src/app/modules/content-manager/components/manage-articles/manage-articles.component.pug?fec5","webpack:///./src/app/modules/content-manager/components/manage-articles/manage-articles.component.scss","webpack:///./src/app/modules/content-manager/components/manage-articles/manage-articles.component.ts","webpack:///./src/app/modules/content-manager/components/publish-confirmation/publish-confirmation.component.pug?555c","webpack:///./src/app/modules/content-manager/components/publish-confirmation/publish-confirmation.component.scss","webpack:///./src/app/modules/content-manager/components/publish-confirmation/publish-confirmation.component.ts","webpack:///./src/app/modules/content-manager/content-manager-routing.module.ts","webpack:///./src/app/modules/content-manager/content-manager.module.ts","webpack:///./src/app/modules/content-viewer/components/articles/article-version-indicator/article-version-indicator.component.pug?57b7","webpack:///./src/app/modules/content-viewer/components/articles/article-version-indicator/article-version-indicator.component.scss","webpack:///./src/app/modules/content-viewer/components/articles/article-version-indicator/article-version-indicator.component.ts","webpack:///./src/app/modules/content-viewer/components/articles/articles-compare/articles-compare.component.pug?867b","webpack:///./src/app/modules/content-viewer/components/articles/articles-compare/articles-compare.component.scss","webpack:///./src/app/modules/content-viewer/components/articles/articles-compare/articles-compare.component.ts","webpack:///./src/app/modules/content-viewer/components/articles/articles-viewer-best-practices/articles-viewer-best-practices.component.pug?71a9","webpack:///./src/app/modules/content-viewer/components/articles/articles-viewer-best-practices/articles-viewer-best-practices.component.scss","webpack:///./src/app/modules/content-viewer/components/articles/articles-viewer-best-practices/articles-viewer-best-practices.component.ts","webpack:///./src/app/modules/content-viewer/components/articles/articles-viewer-frequently-asked-question/articles-viewer-frequently-asked-question.component.pug?946c","webpack:///./src/app/modules/content-viewer/components/articles/articles-viewer-frequently-asked-question/articles-viewer-frequently-asked-question.component.scss","webpack:///./src/app/modules/content-viewer/components/articles/articles-viewer-frequently-asked-question/articles-viewer-frequently-asked-question.component.ts","webpack:///./src/app/modules/content-viewer/components/articles/articles-viewer-modal-preview/articles-viewer-modal-preview.component.pug?6e95","webpack:///./src/app/modules/content-viewer/components/articles/articles-viewer-modal-preview/articles-viewer-modal-preview.component.scss","webpack:///./src/app/modules/content-viewer/components/articles/articles-viewer-modal-preview/articles-viewer-modal-preview.component.ts","webpack:///./src/app/modules/content-viewer/components/articles/articles-viewer-solution/articles-viewer-solution.component.pug?827d","webpack:///./src/app/modules/content-viewer/components/articles/articles-viewer-solution/articles-viewer-solution.component.scss","webpack:///./src/app/modules/content-viewer/components/articles/articles-viewer-solution/articles-viewer-solution.component.ts","webpack:///./src/app/modules/content-viewer/components/articles/articles-viewer-technical-reference/articles-viewer-technical-reference.component.pug?1990","webpack:///./src/app/modules/content-viewer/components/articles/articles-viewer-technical-reference/articles-viewer-technical-reference.component.scss","webpack:///./src/app/modules/content-viewer/components/articles/articles-viewer-technical-reference/articles-viewer-technical-reference.component.ts","webpack:///./src/app/modules/content-viewer/components/articles/articles-viewer-technicalnote/articles-viewer-technicalnote.component.pug?9eca","webpack:///./src/app/modules/content-viewer/components/articles/articles-viewer-technicalnote/articles-viewer-technicalnote.component.scss","webpack:///./src/app/modules/content-viewer/components/articles/articles-viewer-technicalnote/articles-viewer-technicalnote.component.ts","webpack:///./src/app/modules/content-viewer/components/articles/articles-viewer-troubleshooting/articles-viewer-troubleshooting.component.pug?03ee","webpack:///./src/app/modules/content-viewer/components/articles/articles-viewer-troubleshooting/articles-viewer-troubleshooting.component.scss","webpack:///./src/app/modules/content-viewer/components/articles/articles-viewer-troubleshooting/articles-viewer-troubleshooting.component.ts","webpack:///./src/app/modules/content-viewer/components/articles/articles-viewer/articles-viewer.component.pug?7ae7","webpack:///./src/app/modules/content-viewer/components/articles/articles-viewer/articles-viewer.component.scss","webpack:///./src/app/modules/content-viewer/components/articles/articles-viewer/articles-viewer.component.ts","webpack:///./src/app/modules/content-viewer/components/articles/toolbar/article-history/article-history.component.pug?34d6","webpack:///./src/app/modules/content-viewer/components/articles/toolbar/article-history/article-history.component.scss","webpack:///./src/app/modules/content-viewer/components/articles/toolbar/article-history/article-history.component.ts","webpack:///./src/app/modules/content-viewer/components/articles/toolbar/article-voting/article-voting.component.pug?afbb","webpack:///./src/app/modules/content-viewer/components/articles/toolbar/article-voting/article-voting.component.scss","webpack:///./src/app/modules/content-viewer/components/articles/toolbar/article-voting/article-voting.component.ts","webpack:///./src/app/modules/content-viewer/components/articles/toolbar/notices-and-confirmations/accept-with-comment/accept-with-comment.component.pug?89ca","webpack:///./src/app/modules/content-viewer/components/articles/toolbar/notices-and-confirmations/accept-with-comment/accept-with-comment.component.scss","webpack:///./src/app/modules/content-viewer/components/articles/toolbar/notices-and-confirmations/accept-with-comment/accept-with-comment.component.ts","webpack:///./src/app/modules/content-viewer/components/articles/toolbar/notices-and-confirmations/approve-partner-confirmation/approve-partner-confirmation.component.pug?7b8c","webpack:///./src/app/modules/content-viewer/components/articles/toolbar/notices-and-confirmations/approve-partner-confirmation/approve-partner-confirmation.component.scss","webpack:///./src/app/modules/content-viewer/components/articles/toolbar/notices-and-confirmations/approve-partner-confirmation/approve-partner-confirmation.component.ts","webpack:///./src/app/modules/content-viewer/components/articles/toolbar/notices-and-confirmations/approve-publish-confirmation/approve-publish-confirmation.component.pug?747c","webpack:///./src/app/modules/content-viewer/components/articles/toolbar/notices-and-confirmations/approve-publish-confirmation/approve-publish-confirmation.component.scss","webpack:///./src/app/modules/content-viewer/components/articles/toolbar/notices-and-confirmations/approve-publish-confirmation/approve-publish-confirmation.component.ts","webpack:///./src/app/modules/content-viewer/components/articles/toolbar/notices-and-confirmations/approve-review-confirmation/approve-review-confirmation.component.pug?0a7c","webpack:///./src/app/modules/content-viewer/components/articles/toolbar/notices-and-confirmations/approve-review-confirmation/approve-review-confirmation.component.scss","webpack:///./src/app/modules/content-viewer/components/articles/toolbar/notices-and-confirmations/approve-review-confirmation/approve-review-confirmation.component.ts","webpack:///./src/app/modules/content-viewer/components/articles/toolbar/notices-and-confirmations/confirmation-with-comment/confirmation-with-comment.component.pug?d7b1","webpack:///./src/app/modules/content-viewer/components/articles/toolbar/notices-and-confirmations/confirmation-with-comment/confirmation-with-comment.component.scss","webpack:///./src/app/modules/content-viewer/components/articles/toolbar/notices-and-confirmations/confirmation-with-comment/confirmation-with-comment.component.ts","webpack:///./src/app/modules/content-viewer/components/articles/toolbar/notices-and-confirmations/reject-partner-confirmation/reject-partner-confirmation.component.pug?34ac","webpack:///./src/app/modules/content-viewer/components/articles/toolbar/notices-and-confirmations/reject-partner-confirmation/reject-partner-confirmation.component.scss","webpack:///./src/app/modules/content-viewer/components/articles/toolbar/notices-and-confirmations/reject-partner-confirmation/reject-partner-confirmation.component.ts","webpack:///./src/app/modules/content-viewer/components/articles/toolbar/notices-and-confirmations/reject-promotion-confirmation/reject-promotion-confirmation.component.pug?7c60","webpack:///./src/app/modules/content-viewer/components/articles/toolbar/notices-and-confirmations/reject-promotion-confirmation/reject-promotion-confirmation.component.scss","webpack:///./src/app/modules/content-viewer/components/articles/toolbar/notices-and-confirmations/reject-promotion-confirmation/reject-promotion-confirmation.component.ts","webpack:///./src/app/modules/content-viewer/components/articles/toolbar/notices-and-confirmations/reject-publish-confirmation/reject-publish-confirmation.component.pug?fe3b","webpack:///./src/app/modules/content-viewer/components/articles/toolbar/notices-and-confirmations/reject-publish-confirmation/reject-publish-confirmation.component.scss","webpack:///./src/app/modules/content-viewer/components/articles/toolbar/notices-and-confirmations/reject-publish-confirmation/reject-publish-confirmation.component.ts","webpack:///./src/app/modules/content-viewer/components/articles/toolbar/notices-and-confirmations/reject-review-confirmation/reject-review-confirmation.component.pug?1018","webpack:///./src/app/modules/content-viewer/components/articles/toolbar/notices-and-confirmations/reject-review-confirmation/reject-review-confirmation.component.scss","webpack:///./src/app/modules/content-viewer/components/articles/toolbar/notices-and-confirmations/reject-review-confirmation/reject-review-confirmation.component.ts","webpack:///./src/app/modules/content-viewer/components/articles/toolbar/notices-and-confirmations/reject-with-comment/reject-with-comment.component.pug?cadd","webpack:///./src/app/modules/content-viewer/components/articles/toolbar/notices-and-confirmations/reject-with-comment/reject-with-comment.component.scss","webpack:///./src/app/modules/content-viewer/components/articles/toolbar/notices-and-confirmations/reject-with-comment/reject-with-comment.component.ts","webpack:///./src/app/modules/content-viewer/components/articles/toolbar/partner-approval/partner-approval.component.pug?8f5d","webpack:///./src/app/modules/content-viewer/components/articles/toolbar/partner-approval/partner-approval.component.scss","webpack:///./src/app/modules/content-viewer/components/articles/toolbar/partner-approval/partner-approval.component.ts","webpack:///./src/app/modules/content-viewer/components/articles/toolbar/publish-approval/publish-approval.component.pug?fa75","webpack:///./src/app/modules/content-viewer/components/articles/toolbar/publish-approval/publish-approval.component.scss","webpack:///./src/app/modules/content-viewer/components/articles/toolbar/publish-approval/publish-approval.component.ts","webpack:///./src/app/modules/content-viewer/components/articles/toolbar/reject-promotion/reject-promotion.component.pug?d343","webpack:///./src/app/modules/content-viewer/components/articles/toolbar/reject-promotion/reject-promotion.component.scss","webpack:///./src/app/modules/content-viewer/components/articles/toolbar/reject-promotion/reject-promotion.component.ts","webpack:///./src/app/modules/content-viewer/components/articles/toolbar/review-approval/review-approval.component.pug?fe16","webpack:///./src/app/modules/content-viewer/components/articles/toolbar/review-approval/review-approval.component.scss","webpack:///./src/app/modules/content-viewer/components/articles/toolbar/review-approval/review-approval.component.ts","webpack:///./src/app/modules/content-viewer/components/articles/toolbar/workflow-transition/workflow-transition.component.pug?54e4","webpack:///./src/app/modules/content-viewer/components/articles/toolbar/workflow-transition/workflow-transition.component.scss","webpack:///./src/app/modules/content-viewer/components/articles/toolbar/workflow-transition/workflow-transition.component.ts","webpack:///./src/app/modules/content-viewer/components/incidents/incident-activities-header/incident-activities-header.component.pug?c1d4","webpack:///./src/app/modules/content-viewer/components/incidents/incident-activities-header/incident-activities-header.component.scss","webpack:///./src/app/modules/content-viewer/components/incidents/incident-activities-header/incident-activities-header.component.ts","webpack:///./src/app/modules/content-viewer/components/incidents/incident-activities-render/incident-activities-render.component.pug?412c","webpack:///./src/app/modules/content-viewer/components/incidents/incident-activities-render/incident-activities-render.component.scss","webpack:///./src/app/modules/content-viewer/components/incidents/incident-activities-render/incident-activities-render.component.ts","webpack:///./src/app/modules/content-viewer/components/incidents/incident-activities-viewer/incident-activities-viewer.component.pug?9dfc","webpack:///./src/app/modules/content-viewer/components/incidents/incident-activities-viewer/incident-activities-viewer.component.scss","webpack:///./src/app/modules/content-viewer/components/incidents/incident-activities-viewer/incident-activities-viewer.component.ts","webpack:///./src/app/modules/content-viewer/components/incidents/incident-escalation-confirmation/incident-escalation-confirmation.component.pug?1d61","webpack:///./src/app/modules/content-viewer/components/incidents/incident-escalation-confirmation/incident-escalation-confirmation.component.scss","webpack:///./src/app/modules/content-viewer/components/incidents/incident-escalation-confirmation/incident-escalation-confirmation.component.ts","webpack:///./src/app/modules/content-viewer/components/incidents/incident-escalation/incident-escalation.component.pug?e554","webpack:///./src/app/modules/content-viewer/components/incidents/incident-escalation/incident-escalation.component.scss","webpack:///./src/app/modules/content-viewer/components/incidents/incident-escalation/incident-escalation.component.ts","webpack:///./src/app/modules/content-viewer/components/incidents/incident-internal-note/incident-internal-note.component.pug?b24c","webpack:///./src/app/modules/content-viewer/components/incidents/incident-internal-note/incident-internal-note.component.scss","webpack:///./src/app/modules/content-viewer/components/incidents/incident-internal-note/incident-internal-note.component.ts","webpack:///./src/app/modules/content-viewer/components/incidents/incident-share/incident-share.component.pug?de2e","webpack:///./src/app/modules/content-viewer/components/incidents/incident-share/incident-share.component.scss","webpack:///./src/app/modules/content-viewer/components/incidents/incident-share/incident-share.component.ts","webpack:///./src/app/modules/content-viewer/components/incidents/incident-viewer/incident-viewer.component.pug?6440","webpack:///./src/app/modules/content-viewer/components/incidents/incident-viewer/incident-viewer.component.scss","webpack:///./src/app/modules/content-viewer/components/incidents/incident-viewer/incident-viewer.component.ts","webpack:///./src/app/modules/content-viewer/components/psrs/psr-activities-viewer/psr-activities-viewer.component.pug?3efc","webpack:///./src/app/modules/content-viewer/components/psrs/psr-activities-viewer/psr-activities-viewer.component.scss","webpack:///./src/app/modules/content-viewer/components/psrs/psr-activities-viewer/psr-activities-viewer.component.ts","webpack:///./src/app/modules/content-viewer/components/psrs/psr-viewer/psr-viewer.component.pug?a21a","webpack:///./src/app/modules/content-viewer/components/psrs/psr-viewer/psr-viewer.component.scss","webpack:///./src/app/modules/content-viewer/components/psrs/psr-viewer/psr-viewer.component.ts","webpack:///./src/app/modules/content-viewer/content-viewer-routing.module.ts","webpack:///./src/app/modules/content-viewer/content-viewer.module.ts","webpack:///./src/app/modules/markdown-editor/components/markdown-editor/codemirror.scss","webpack:///./src/app/modules/markdown-editor/components/markdown-editor/markdown-editor.component.pug?aa3d","webpack:///./src/app/modules/markdown-editor/components/markdown-editor/markdown-editor.component.scss","webpack:///./src/app/modules/markdown-editor/components/markdown-editor/markdown-editor.component.ts","webpack:///./src/app/modules/markdown-editor/extensions/highlighter/commands/markdown-commands/add-highlighting.ts","webpack:///./src/app/modules/markdown-editor/extensions/highlighter/commands/wysiwyg-commands/add-highlighting.ts","webpack:///./src/app/modules/markdown-editor/extensions/highlighter/tui-editor-extHighlighter.ts","webpack:///./src/app/modules/markdown-editor/markdown-editor.module.ts","webpack:///./src/app/modules/reports/components/render/render.component.pug?f9bf","webpack:///./src/app/modules/reports/components/render/render.component.scss","webpack:///./src/app/modules/reports/components/render/render.component.ts","webpack:///./src/app/modules/reports/components/reports-gallery/reports-gallery.component.pug?c0b6","webpack:///./src/app/modules/reports/components/reports-gallery/reports-gallery.component.scss","webpack:///./src/app/modules/reports/components/reports-gallery/reports-gallery.component.ts","webpack:///./src/app/modules/reports/reports-routing.module.ts","webpack:///./src/app/modules/reports/reports.module.ts","webpack:///./src/app/modules/reports/services/reports.service.ts","webpack:///./src/app/modules/runtime-configuration/runtime-configuration.module.ts","webpack:///./src/app/modules/runtime-configuration/services/configuration.service.ts","webpack:///./src/app/modules/search/components/search.result.article/search.result.article.component.pug?a064","webpack:///./src/app/modules/search/components/search.result.article/search.result.article.component.scss","webpack:///./src/app/modules/search/components/search.result.article/search.result.article.component.ts","webpack:///./src/app/modules/search/components/search.result.incident/search.result.incident.component.pug?49d0","webpack:///./src/app/modules/search/components/search.result.incident/search.result.incident.component.scss","webpack:///./src/app/modules/search/components/search.result.incident/search.result.incident.component.ts","webpack:///./src/app/modules/search/components/search.result.psr/search.result.psr.component.pug?2200","webpack:///./src/app/modules/search/components/search.result.psr/search.result.psr.component.scss","webpack:///./src/app/modules/search/components/search.result.psr/search.result.psr.component.ts","webpack:///./src/app/modules/search/components/search/search.component.pug?844f","webpack:///./src/app/modules/search/components/search/search.component.scss","webpack:///./src/app/modules/search/components/search/search.component.ts","webpack:///./src/app/modules/search/search-routing.module.ts","webpack:///./src/app/modules/search/search.module.ts","webpack:///./src/app/shared/components/checkbox-group/checkbox-group.component.pug?9ffe","webpack:///./src/app/shared/components/checkbox-group/checkbox-group.component.scss","webpack:///./src/app/shared/components/checkbox-group/checkbox-group.component.ts","webpack:///./src/app/shared/components/checkbox/checkbox.component.pug?d02c","webpack:///./src/app/shared/components/checkbox/checkbox.component.scss","webpack:///./src/app/shared/components/checkbox/checkbox.component.ts","webpack:///./src/app/shared/components/comments/comment-threads/comment-threads.component.html","webpack:///./src/app/shared/components/comments/comment-threads/comment-threads.component.scss","webpack:///./src/app/shared/components/comments/comment-threads/comment-threads.component.ts","webpack:///./src/app/shared/components/comments/comment/comment.component.html","webpack:///./src/app/shared/components/comments/comment/comment.component.scss","webpack:///./src/app/shared/components/comments/comment/comment.component.ts","webpack:///./src/app/shared/components/confirmation-dialog/confirmation-dialog.component.pug?d5c3","webpack:///./src/app/shared/components/confirmation-dialog/confirmation-dialog.component.scss","webpack:///./src/app/shared/components/confirmation-dialog/confirmation-dialog.component.ts","webpack:///./src/app/shared/components/create-metallic-ticket/create-metallic-ticket.component.pug?cab5","webpack:///./src/app/shared/components/create-metallic-ticket/create-metallic-ticket.component.scss","webpack:///./src/app/shared/components/create-metallic-ticket/create-metallic-ticket.component.ts","webpack:///./src/app/shared/components/internal-case/internal-case.component.pug?53aa","webpack:///./src/app/shared/components/internal-case/internal-case.component.scss","webpack:///./src/app/shared/components/internal-case/internal-case.component.ts","webpack:///./src/app/shared/components/latest-articles/latest-articles.component.pug?f5d1","webpack:///./src/app/shared/components/latest-articles/latest-articles.component.scss","webpack:///./src/app/shared/components/latest-articles/latest-articles.component.ts","webpack:///./src/app/shared/components/metallic-ticket-confirmation/metallic-ticket-confirmation.component.pug?6c7a","webpack:///./src/app/shared/components/metallic-ticket-confirmation/metallic-ticket-confirmation.component.scss","webpack:///./src/app/shared/components/metallic-ticket-confirmation/metallic-ticket-confirmation.component.ts","webpack:///./src/app/shared/components/quick-escalation/quick-escalation.component.pug?2733","webpack:///./src/app/shared/components/quick-escalation/quick-escalation.component.scss","webpack:///./src/app/shared/components/quick-escalation/quick-escalation.component.ts","webpack:///./src/app/shared/components/share/share.component.html","webpack:///./src/app/shared/components/share/share.component.scss","webpack:///./src/app/shared/components/share/share.component.ts","webpack:///./src/app/shared/components/simple-search/simple-search.component.pug?bfb0","webpack:///./src/app/shared/components/simple-search/simple-search.component.scss","webpack:///./src/app/shared/components/simple-search/simple-search.component.ts","webpack:///./src/app/shared/components/switch/switch.component.pug?a20d","webpack:///./src/app/shared/components/switch/switch.component.scss","webpack:///./src/app/shared/components/switch/switch.component.ts","webpack:///./src/app/shared/components/top-contributors/top-contributors.component.pug?99f2","webpack:///./src/app/shared/components/top-contributors/top-contributors.component.scss","webpack:///./src/app/shared/components/top-contributors/top-contributors.component.ts","webpack:///./src/app/shared/components/tri-state-checkbox/tri-state-checkbox.component.pug?8d2a","webpack:///./src/app/shared/components/tri-state-checkbox/tri-state-checkbox.component.scss","webpack:///./src/app/shared/components/tri-state-checkbox/tri-state-checkbox.component.ts","webpack:///./src/app/shared/components/voting/voting-dislike-comment/voting-dislike-comment.component.html","webpack:///./src/app/shared/components/voting/voting-dislike-comment/voting-dislike-comment.component.scss","webpack:///./src/app/shared/components/voting/voting-dislike-comment/voting-dislike-comment.component.ts","webpack:///./src/app/shared/components/voting/voting/voting.component.pug?a935","webpack:///./src/app/shared/components/voting/voting/voting.component.scss","webpack:///./src/app/shared/components/voting/voting/voting.component.ts","webpack:///./src/app/shared/components/widget/widget.component.html","webpack:///./src/app/shared/components/widget/widget.component.scss","webpack:///./src/app/shared/components/widget/widget.component.ts","webpack:///./src/app/shared/enums/article-type.enum.ts","webpack:///./src/app/shared/models/metallic-ticket.model.ts","webpack:///./src/app/shared/pipes/article-friendly.pipe.ts","webpack:///./src/app/shared/pipes/markdown.pipe.ts","webpack:///./src/app/shared/pipes/values.pipe.ts","webpack:///./src/app/shared/pipes/yes-no.pipe.ts","webpack:///./src/app/shared/shared.module.ts","webpack:///./src/environments/environment.ts","webpack:///./src/main.ts","webpack:///fs (ignored)"],"names":[],"mappings":";;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A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","file":"main.js","sourcesContent":["var map = {\n\t\"./af\": \"./node_modules/moment/locale/af.js\",\n\t\"./af.js\": \"./node_modules/moment/locale/af.js\",\n\t\"./ar\": \"./node_modules/moment/locale/ar.js\",\n\t\"./ar-dz\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-dz.js\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-kw\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-kw.js\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-ly\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ly.js\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ma\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-ma.js\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-sa\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-sa.js\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-tn\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar-tn.js\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar.js\": \"./node_modules/moment/locale/ar.js\",\n\t\"./az\": \"./node_modules/moment/locale/az.js\",\n\t\"./az.js\": \"./node_modules/moment/locale/az.js\",\n\t\"./be\": \"./node_modules/moment/locale/be.js\",\n\t\"./be.js\": \"./node_modules/moment/locale/be.js\",\n\t\"./bg\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bg.js\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bm\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bm.js\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bn\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bn-bd\": \"./node_modules/moment/locale/bn-bd.js\",\n\t\"./bn-bd.js\": \"./node_modules/moment/locale/bn-bd.js\",\n\t\"./bn.js\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bo\": \"./node_modules/moment/locale/bo.js\",\n\t\"./bo.js\": \"./node_modules/moment/locale/bo.js\",\n\t\"./br\": \"./node_modules/moment/locale/br.js\",\n\t\"./br.js\": \"./node_modules/moment/locale/br.js\",\n\t\"./bs\": \"./node_modules/moment/locale/bs.js\",\n\t\"./bs.js\": \"./node_modules/moment/locale/bs.js\",\n\t\"./ca\": \"./node_modules/moment/locale/ca.js\",\n\t\"./ca.js\": \"./node_modules/moment/locale/ca.js\",\n\t\"./cs\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cs.js\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cv\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cv.js\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cy\": \"./node_modules/moment/locale/cy.js\",\n\t\"./cy.js\": \"./node_modules/moment/locale/cy.js\",\n\t\"./da\": \"./node_modules/moment/locale/da.js\",\n\t\"./da.js\": \"./node_modules/moment/locale/da.js\",\n\t\"./de\": \"./node_modules/moment/locale/de.js\",\n\t\"./de-at\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-at.js\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-ch\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de-ch.js\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de.js\": \"./node_modules/moment/locale/de.js\",\n\t\"./dv\": \"./node_modules/moment/locale/dv.js\",\n\t\"./dv.js\": \"./node_modules/moment/locale/dv.js\",\n\t\"./el\": \"./node_modules/moment/locale/el.js\",\n\t\"./el.js\": \"./node_modules/moment/locale/el.js\",\n\t\"./en-au\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-au.js\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-ca\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-ca.js\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-gb\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-gb.js\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-ie\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-ie.js\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-il\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-il.js\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-in\": \"./node_modules/moment/locale/en-in.js\",\n\t\"./en-in.js\": \"./node_modules/moment/locale/en-in.js\",\n\t\"./en-nz\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-nz.js\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-sg\": \"./node_modules/moment/locale/en-sg.js\",\n\t\"./en-sg.js\": \"./node_modules/moment/locale/en-sg.js\",\n\t\"./eo\": \"./node_modules/moment/locale/eo.js\",\n\t\"./eo.js\": \"./node_modules/moment/locale/eo.js\",\n\t\"./es\": \"./node_modules/moment/locale/es.js\",\n\t\"./es-do\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-do.js\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-mx\": \"./node_modules/moment/locale/es-mx.js\",\n\t\"./es-mx.js\": \"./node_modules/moment/locale/es-mx.js\",\n\t\"./es-us\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es-us.js\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es.js\": \"./node_modules/moment/locale/es.js\",\n\t\"./et\": \"./node_modules/moment/locale/et.js\",\n\t\"./et.js\": \"./node_modules/moment/locale/et.js\",\n\t\"./eu\": \"./node_modules/moment/locale/eu.js\",\n\t\"./eu.js\": \"./node_modules/moment/locale/eu.js\",\n\t\"./fa\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fa.js\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fi\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fi.js\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fil\": \"./node_modules/moment/locale/fil.js\",\n\t\"./fil.js\": \"./node_modules/moment/locale/fil.js\",\n\t\"./fo\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fo.js\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fr\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fr-ca\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ca.js\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ch\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr-ch.js\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr.js\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fy\": \"./node_modules/moment/locale/fy.js\",\n\t\"./fy.js\": \"./node_modules/moment/locale/fy.js\",\n\t\"./ga\": \"./node_modules/moment/locale/ga.js\",\n\t\"./ga.js\": \"./node_modules/moment/locale/ga.js\",\n\t\"./gd\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gd.js\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gl\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gl.js\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gom-deva\": \"./node_modules/moment/locale/gom-deva.js\",\n\t\"./gom-deva.js\": \"./node_modules/moment/locale/gom-deva.js\",\n\t\"./gom-latn\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gom-latn.js\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gu\": \"./node_modules/moment/locale/gu.js\",\n\t\"./gu.js\": \"./node_modules/moment/locale/gu.js\",\n\t\"./he\": \"./node_modules/moment/locale/he.js\",\n\t\"./he.js\": \"./node_modules/moment/locale/he.js\",\n\t\"./hi\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hi.js\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hr\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hr.js\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hu\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hu.js\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hy-am\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./hy-am.js\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./id\": \"./node_modules/moment/locale/id.js\",\n\t\"./id.js\": \"./node_modules/moment/locale/id.js\",\n\t\"./is\": \"./node_modules/moment/locale/is.js\",\n\t\"./is.js\": \"./node_modules/moment/locale/is.js\",\n\t\"./it\": \"./node_modules/moment/locale/it.js\",\n\t\"./it-ch\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it-ch.js\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it.js\": \"./node_modules/moment/locale/it.js\",\n\t\"./ja\": \"./node_modules/moment/locale/ja.js\",\n\t\"./ja.js\": \"./node_modules/moment/locale/ja.js\",\n\t\"./jv\": \"./node_modules/moment/locale/jv.js\",\n\t\"./jv.js\": \"./node_modules/moment/locale/jv.js\",\n\t\"./ka\": \"./node_modules/moment/locale/ka.js\",\n\t\"./ka.js\": \"./node_modules/moment/locale/ka.js\",\n\t\"./kk\": \"./node_modules/moment/locale/kk.js\",\n\t\"./kk.js\": \"./node_modules/moment/locale/kk.js\",\n\t\"./km\": \"./node_modules/moment/locale/km.js\",\n\t\"./km.js\": \"./node_modules/moment/locale/km.js\",\n\t\"./kn\": \"./node_modules/moment/locale/kn.js\",\n\t\"./kn.js\": \"./node_modules/moment/locale/kn.js\",\n\t\"./ko\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ko.js\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ku\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ku.js\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ky\": \"./node_modules/moment/locale/ky.js\",\n\t\"./ky.js\": \"./node_modules/moment/locale/ky.js\",\n\t\"./lb\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lb.js\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lo\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lo.js\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lt\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lt.js\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lv\": \"./node_modules/moment/locale/lv.js\",\n\t\"./lv.js\": \"./node_modules/moment/locale/lv.js\",\n\t\"./me\": \"./node_modules/moment/locale/me.js\",\n\t\"./me.js\": \"./node_modules/moment/locale/me.js\",\n\t\"./mi\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mi.js\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mk\": \"./node_modules/moment/locale/mk.js\",\n\t\"./mk.js\": \"./node_modules/moment/locale/mk.js\",\n\t\"./ml\": \"./node_modules/moment/locale/ml.js\",\n\t\"./ml.js\": \"./node_modules/moment/locale/ml.js\",\n\t\"./mn\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mn.js\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mr\": \"./node_modules/moment/locale/mr.js\",\n\t\"./mr.js\": \"./node_modules/moment/locale/mr.js\",\n\t\"./ms\": \"./node_modules/moment/locale/ms.js\",\n\t\"./ms-my\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms-my.js\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms.js\": \"./node_modules/moment/locale/ms.js\",\n\t\"./mt\": \"./node_modules/moment/locale/mt.js\",\n\t\"./mt.js\": \"./node_modules/moment/locale/mt.js\",\n\t\"./my\": \"./node_modules/moment/locale/my.js\",\n\t\"./my.js\": \"./node_modules/moment/locale/my.js\",\n\t\"./nb\": \"./node_modules/moment/locale/nb.js\",\n\t\"./nb.js\": \"./node_modules/moment/locale/nb.js\",\n\t\"./ne\": \"./node_modules/moment/locale/ne.js\",\n\t\"./ne.js\": \"./node_modules/moment/locale/ne.js\",\n\t\"./nl\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nl-be\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl-be.js\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl.js\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nn\": \"./node_modules/moment/locale/nn.js\",\n\t\"./nn.js\": \"./node_modules/moment/locale/nn.js\",\n\t\"./oc-lnc\": \"./node_modules/moment/locale/oc-lnc.js\",\n\t\"./oc-lnc.js\": \"./node_modules/moment/locale/oc-lnc.js\",\n\t\"./pa-in\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pa-in.js\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pl\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pl.js\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pt\": \"./node_modules/moment/locale/pt.js\",\n\t\"./pt-br\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt-br.js\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt.js\": \"./node_modules/moment/locale/pt.js\",\n\t\"./ro\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ro.js\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ru\": \"./node_modules/moment/locale/ru.js\",\n\t\"./ru.js\": \"./node_modules/moment/locale/ru.js\",\n\t\"./sd\": \"./node_modules/moment/locale/sd.js\",\n\t\"./sd.js\": \"./node_modules/moment/locale/sd.js\",\n\t\"./se\": \"./node_modules/moment/locale/se.js\",\n\t\"./se.js\": \"./node_modules/moment/locale/se.js\",\n\t\"./si\": \"./node_modules/moment/locale/si.js\",\n\t\"./si.js\": \"./node_modules/moment/locale/si.js\",\n\t\"./sk\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sk.js\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sl\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sl.js\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sq\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sq.js\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sr\": \"./node_modules/moment/locale/sr.js\",\n\t\"./sr-cyrl\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr-cyrl.js\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr.js\": \"./node_modules/moment/locale/sr.js\",\n\t\"./ss\": \"./node_modules/moment/locale/ss.js\",\n\t\"./ss.js\": \"./node_modules/moment/locale/ss.js\",\n\t\"./sv\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sv.js\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sw\": \"./node_modules/moment/locale/sw.js\",\n\t\"./sw.js\": \"./node_modules/moment/locale/sw.js\",\n\t\"./ta\": \"./node_modules/moment/locale/ta.js\",\n\t\"./ta.js\": \"./node_modules/moment/locale/ta.js\",\n\t\"./te\": \"./node_modules/moment/locale/te.js\",\n\t\"./te.js\": \"./node_modules/moment/locale/te.js\",\n\t\"./tet\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tet.js\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tg\": \"./node_modules/moment/locale/tg.js\",\n\t\"./tg.js\": \"./node_modules/moment/locale/tg.js\",\n\t\"./th\": \"./node_modules/moment/locale/th.js\",\n\t\"./th.js\": \"./node_modules/moment/locale/th.js\",\n\t\"./tk\": \"./node_modules/moment/locale/tk.js\",\n\t\"./tk.js\": \"./node_modules/moment/locale/tk.js\",\n\t\"./tl-ph\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tl-ph.js\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tlh\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tlh.js\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tr\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tr.js\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tzl\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzl.js\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzm\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./tzm-latn\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm-latn.js\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm.js\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./ug-cn\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./ug-cn.js\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./uk\": \"./node_modules/moment/locale/uk.js\",\n\t\"./uk.js\": \"./node_modules/moment/locale/uk.js\",\n\t\"./ur\": \"./node_modules/moment/locale/ur.js\",\n\t\"./ur.js\": \"./node_modules/moment/locale/ur.js\",\n\t\"./uz\": \"./node_modules/moment/locale/uz.js\",\n\t\"./uz-latn\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz-latn.js\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz.js\": \"./node_modules/moment/locale/uz.js\",\n\t\"./vi\": \"./node_modules/moment/locale/vi.js\",\n\t\"./vi.js\": \"./node_modules/moment/locale/vi.js\",\n\t\"./x-pseudo\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./x-pseudo.js\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./yo\": \"./node_modules/moment/locale/yo.js\",\n\t\"./yo.js\": \"./node_modules/moment/locale/yo.js\",\n\t\"./zh-cn\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-cn.js\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-hk\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-hk.js\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-mo\": \"./node_modules/moment/locale/zh-mo.js\",\n\t\"./zh-mo.js\": \"./node_modules/moment/locale/zh-mo.js\",\n\t\"./zh-tw\": \"./node_modules/moment/locale/zh-tw.js\",\n\t\"./zh-tw.js\": \"./node_modules/moment/locale/zh-tw.js\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) { // check for number or string\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn id;\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"./node_modules/moment/locale sync recursive ^\\\\.\\\\/.*$\";","var pug = require(\"!../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Capp-nav-menu\\u003E\\u003C\\u002Fapp-nav-menu\\u003E\\u003Cmain class=\\\"container-fluid\\\" role=\\\"main\\\"\\u003E\\u003Crouter-outlet\\u003E\\u003C\\u002Frouter-outlet\\u003E\\u003C\\u002Fmain\\u003E\\u003Cng4-loading-spinner [loadingText]=\\\"spinnerService.loadingText\\\" [timeout]=\\\"300000\\\"\\u003E\\u003C\\u002Fng4-loading-spinner\\u003E\\u003Capp-alert\\u003E\\u003C\\u002Fapp-alert\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cdiv class=\\\"row mb-3\\\"\\u003E\\u003Cdiv class=\\\"col-md\\\"\\u003E\\u003Capp-widget caption=\\\"Search\\\"\\u003E\\u003Capp-simple-search\\u003E\\u003C\\u002Fapp-simple-search\\u003E\\u003C\\u002Fapp-widget\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"row\\\"\\u003E\\u003Cdiv [ngClass]=\\\"(this.permissionsService.canReadPrivateArticles() | async) ? 'col-md-7 col-lg-8 mb-3 mb-md-0' : 'col-12'\\\"\\u003E\\u003Capp-widget caption=\\\"Latest Articles\\\" cardbody=\\\"false\\\"\\u003E\\u003Capp-latest-articles\\u003E\\u003C\\u002Fapp-latest-articles\\u003E\\u003C\\u002Fapp-widget\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-md col-lg\\\"\\u003E\\u003Capp-widget *ngIf=\\\"this.permissionsService.canReadPrivateArticles() | async\\\" caption=\\\"Top 10 Contributors\\\" cardbody=\\\"false\\\"\\u003E\\u003Capp-top-contributors\\u003E\\u003C\\u002Fapp-top-contributors\\u003E\\u003C\\u002Fapp-widget\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Capp-engineering-home *ngIf=\\\"profile?.homePage == 0\\\"\\u003E\\u003C\\u002Fapp-engineering-home\\u003E\\u003Capp-sales-home *ngIf=\\\"profile?.homePage == 1\\\"\\u003E\\u003C\\u002Fapp-sales-home\\u003E\\u003Capp-widget class=\\\"offset-sm-3 col-sm-6 mb-3\\\" *ngIf=\\\"profile && profile.homePage == null\\\" caption=\\\"Welcome\\\"\\u003E\\u003Cp\\u003EWelcome to Alexandria!\\u003C\\u002Fp\\u003E\\u003Cp\\u003EPlease set your Home Page by selecting a button below. In the future you can update this via your \\u003Ca [routerLink]=\\\"["\\u002Fprofile"]\\\"\\u003EProfile\\u003C\\u002Fa\\u003E.\\u003C\\u002Fp\\u003E\\u003Cdiv class=\\\"d-flex justify-content-center\\\"\\u003E\\u003Cbutton class=\\\"btn btn-outline-secondary w-25\\\" type=\\\"button\\\" title=\\\"Engineering\\\" (click)=\\\"selectHome(0);\\\"\\u003EEngineering\\u003C\\u002Fbutton\\u003E\\u003Cbutton class=\\\"btn btn-outline-secondary w-25 ml-3\\\" type=\\\"button\\\" title=\\\"Sales\\\" (click)=\\\"selectHome(1);\\\"\\u003ESales\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fapp-widget\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cnav class=\\\"navbar navbar-expand-sm navbar-dark bg-dark fixed-top\\\"\\u003E\\u003Ca class=\\\"navbar-brand\\\" routerLink=\\\"\\u002F\\\"\\u003E\\u003Cfa-icon icon=\\\"books\\\"\\u003E\\u003C\\u002Ffa-icon\\u003E Alexandria\\u003C\\u002Fa\\u003E\\u003Cbutton class=\\\"navbar-toggler\\\" type=\\\"button\\\" (click)=\\\"isCollapsed = !isCollapsed\\\"\\u003E\\u003Cspan class=\\\"navbar-toggler-icon\\\"\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fbutton\\u003E\\u003Cdiv class=\\\"navbar-collapse collapse\\\" *ngIf=\\\"profile\\\" [collapse]=\\\"isCollapsed\\\"\\u003E\\u003Cul class=\\\"navbar-nav mr-auto\\\"\\u003E\\u003Cli class=\\\"nav-item\\\"\\u003E\\u003Ca class=\\\"nav-link\\\" [routerLink]=\\\"["\\u002Fsearch"]\\\" [routerLinkActive]=\\\"["active"]\\\"\\u003ESearch\\u003C\\u002Fa\\u003E\\u003C\\u002Fli\\u003E\\u003Cli class=\\\"nav-item dropdown\\\" dropdown *ngIf=\\\"manageArticles\\\"\\u003E\\u003Ca class=\\\"nav-link dropdown-toggle\\\" href dropdownToggle (click)=\\\"false\\\" aria-controls=\\\"manage-articles-dropdown\\\"\\u003EArticles\\u003C\\u002Fa\\u003E\\u003Cul class=\\\"dropdown-menu\\\" *dropdownMenu role=\\\"menu\\\" aria-labelledby=\\\"manage-articles-dropdown\\\"\\u003E\\u003Cli\\u003E\\u003Ca class=\\\"dropdown-item\\\" [routerLink]=\\\"["\\u002Farticle\\u002Fmanagement"]\\\" [routerLinkActive]=\\\"["active"]\\\" [routerLinkActiveOptions]=\\\"{exact: true}\\\"\\u003EManage Articles\\u003Cspan class=\\\"dropdown-menu-item-description\\\"\\u003ECreate, edit, approve, and publish articles.\\u003C\\u002Fspan\\u003E\\u003C\\u002Fa\\u003E\\u003C\\u002Fli\\u003E\\u003Cli\\u003E\\u003Ca class=\\\"dropdown-item\\\" [routerLink]=\\\"["\\u002Farticle\\u002Fcreate"]\\\" [routerLinkActive]=\\\"["active"]\\\"\\u003ECreate Articles\\u003Cspan class=\\\"dropdown-menu-item-description\\\"\\u003ECreate a new article.\\u003C\\u002Fspan\\u003E\\u003C\\u002Fa\\u003E\\u003C\\u002Fli\\u003E\\u003Cli class=\\\"dropdown-divider\\\" *ngIf=\\\"showTeamPendingApproval\\\"\\u003E\\u003C\\u002Fli\\u003E\\u003Cli *ngIf=\\\"showTeamPendingApproval\\\"\\u003E\\u003Ca class=\\\"dropdown-item\\\" [routerLink]=\\\"["\\u002Farticle\\u002Fmanagement\\u002Fteampendingapproval"]\\\" [routerLinkActive]=\\\"["active"]\\\"\\u003EMy Team's Solutions Pending Approval\\u003Cspan class=\\\"dropdown-menu-item-description\\\"\\u003EApprove solutions for my skill group.\\u003C\\u002Fspan\\u003E\\u003C\\u002Fa\\u003E\\u003C\\u002Fli\\u003E\\u003C\\u002Ful\\u003E\\u003C\\u002Fli\\u003E\\u003Cli class=\\\"nav-item dropdown\\\" dropdown\\u003E\\u003Ca class=\\\"nav-link dropdown-toggle\\\" href dropdownToggle (click)=\\\"false\\\" aria-controls=\\\"classification-dropdown\\\"\\u003EClassification\\u003C\\u002Fa\\u003E\\u003Cul class=\\\"dropdown-menu\\\" *dropdownMenu role=\\\"menu\\\" aria-labelledby=\\\"classification-dropdown\\\"\\u003E\\u003Cli\\u003E\\u003Ca class=\\\"dropdown-item\\\" [routerLink]=\\\"["\\u002Fclassification\\u002Fmanagement"]\\\" [routerLinkActive]=\\\"["active"]\\\"\\u003ETree Management\\u003Cspan class=\\\"dropdown-menu-item-description\\\"\\u003EView and management the Classification Tree\\u003C\\u002Fspan\\u003E\\u003C\\u002Fa\\u003E\\u003Ca class=\\\"dropdown-item\\\" *ngIf=\\\"manageClassification\\\" [routerLink]=\\\"["\\u002Fclassification\\u002Fdiagnostics"]\\\" [routerLinkActive]=\\\"["active"]\\\"\\u003EDiagnostics\\u003Cspan class=\\\"dropdown-menu-item-description\\\"\\u003EManage the type of data collected (and reasons why) from customers when working Support Incidents.\\u003C\\u002Fspan\\u003E\\u003C\\u002Fa\\u003E\\u003C\\u002Fli\\u003E\\u003C\\u002Ful\\u003E\\u003C\\u002Fli\\u003E\\u003Cli class=\\\"nav-item\\\" *ngIf=\\\"viewReports || viewAdminReports\\\"\\u003E\\u003Ca class=\\\"nav-link\\\" [routerLink]=\\\"["\\u002Freports"]\\\" [routerLinkActive]=\\\"["active"]\\\"\\u003EReports\\u003C\\u002Fa\\u003E\\u003C\\u002Fli\\u003E\\u003Cli class=\\\"nav-item dropdown\\\" dropdown *ngIf=\\\"adminTools\\\"\\u003E\\u003Ca class=\\\"nav-link\\\" href dropdownToggle (click)=\\\"false\\\" aria-controls=\\\"admin-dropdown\\\"\\u003E\\u003Cfa-icon icon=\\\"cog\\\"\\u003E\\u003C\\u002Ffa-icon\\u003E\\u003C\\u002Fa\\u003E\\u003Cul class=\\\"dropdown-menu\\\" *dropdownMenu role=\\\"menu\\\" aria-labelledby=\\\"admin-dropdown\\\"\\u003E\\u003Cli\\u003E\\u003Ca class=\\\"dropdown-item\\\" [routerLink]=\\\"["\\u002Fadmin\\u002Froles-permissions"]\\\" [routerLinkActive]=\\\"["active"]\\\"\\u003ERoles & Permissions\\u003Cspan class=\\\"dropdown-menu-item-description\\\"\\u003EView global roles and permissions.\\u003C\\u002Fspan\\u003E\\u003C\\u002Fa\\u003E\\u003C\\u002Fli\\u003E\\u003Cli\\u003E\\u003Ca class=\\\"dropdown-item\\\" [routerLink]=\\\"["\\u002Fadmin\\u002Fadmin-tools"]\\\" [routerLinkActive]=\\\"["active"]\\\"\\u003EAdmin Tools\\u003Cspan class=\\\"dropdown-menu-item-description\\\"\\u003EGeneral Administration Tools.\\u003C\\u002Fspan\\u003E\\u003C\\u002Fa\\u003E\\u003C\\u002Fli\\u003E\\u003C\\u002Ful\\u003E\\u003C\\u002Fli\\u003E\\u003C\\u002Ful\\u003E\\u003Cul class=\\\"navbar-nav\\\"\\u003E\\u003Cli class=\\\"nav-item dropdown\\\" dropdown\\u003E\\u003Ca class=\\\"nav-link dropdown-toggle\\\" href dropdownToggle (click)=\\\"false\\\" aria-controls=\\\"profile-dropdown\\\"\\u003E{{profile.displayName}}\\u003Cspan class=\\\"caret\\\"\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fa\\u003E\\u003Cul class=\\\"dropdown-menu\\\" id=\\\"profile-dropdown\\\" *dropdownMenu role=\\\"menu\\\" aria-labelledby=\\\"profile-dropdown\\\"\\u003E\\u003Cli\\u003E\\u003Ca class=\\\"dropdown-item\\\" [routerLink]=\\\"["\\u002Fprofile"]\\\" [routerLinkActive]=\\\"["active"]\\\"\\u003EProfile\\u003C\\u002Fa\\u003E\\u003C\\u002Fli\\u003E\\u003Cli\\u003E\\u003Cbutton class=\\\"dropdown-item\\\" type=\\\"button\\\" (click)=\\\"logOut()\\\"\\u003ELogoff\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fli\\u003E\\u003C\\u002Ful\\u003E\\u003C\\u002Fli\\u003E\\u003C\\u002Ful\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fnav\\u003E\\u003Cdiv class=\\\"row\\\" *ngFor=\\\"let message of announcementMessages\\\"\\u003E\\u003Cdiv class=\\\"col-lg-12\\\"\\u003E\\u003Cdiv class=\\\"alert alert-danger text-center\\\"\\u003E\\u003Cdiv class=\\\"h4\\\"\\u003E**** ANNOUNCEMENT ****\\u003C\\u002Fdiv\\u003E{{message}}\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Capp-widget class=\\\"offset-sm-3 col-sm-6 mb-3\\\" caption=\\\"Account Report\\\"\\u003E\\u003Ca href=\\\"https:\\u002F\\u002Fceweb.commvault.com\\u002F\\\"\\u003EClick here for account report\\u003C\\u002Fa\\u003E.\\u003Cdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Csmall\\u003ENote: Currently only accessible through Commvault VPN.\\u003C\\u002Fsmall\\u003E\\u003C\\u002Fapp-widget\\u003E\\u003Capp-widget class=\\\"offset-sm-3 col-sm-6 mb-3\\\" caption=\\\"Search Active Support Incidents\\\"\\u003E\\u003Capp-simple-search [incidentsOnly]=\\\"true\\\"\\u003E\\u003C\\u002Fapp-simple-search\\u003E\\u003C\\u002Fapp-widget\\u003E\\u003Capp-widget class=\\\"offset-sm-3 col-sm-6 mb-3\\\" caption=\\\"Escalate Incident\\\"\\u003E\\u003Capp-quick-escalation class=\\\"mt-3\\\"\\u003E\\u003C\\u002Fapp-quick-escalation\\u003E\\u003C\\u002Fapp-widget\\u003E\\u003Capp-widget class=\\\"offset-sm-3 col-sm-6 mb-3\\\" caption=\\\"Internal Case Creation\\\"\\u003E\\u003Capp-internal-case class=\\\"mt-3\\\"\\u003E\\u003C\\u002Fapp-internal-case\\u003E\\u003C\\u002Fapp-widget\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Ch2\\u003EUser Profile \\u003Cspan *ngIf=\\\"profile\\\"\\u003E- {{profile.displayName}}\\u003C\\u002Fspan\\u003E\\u003C\\u002Fh2\\u003E\\u003Ctabset *ngIf=\\\"profile && roles\\\"\\u003E\\u003Ctab\\u003E\\u003Cng-template tabHeading\\u003E\\u003Ci class=\\\"fa fa-user\\\"\\u003E\\u003C\\u002Fi\\u003E General\\u003C\\u002Fng-template\\u003E\\u003Cdiv class=\\\"card border-0\\\"\\u003E\\u003Cdiv class=\\\"card-body\\\"\\u003E\\u003Cform novalidate [formGroup]=\\\"profileForm\\\" (ngSubmit)=\\\"onSubmit()\\\"\\u003E\\u003Cdiv class=\\\"alert alert-success\\\" *ngIf=\\\"profileUpdated && profileForm.pristine\\\" role=\\\"alert\\\"\\u003EYour Profile has been saved.\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-group row\\\"\\u003E\\u003Cdiv class=\\\"col-sm-8\\\"\\u003E\\u003Clabel class=\\\"col-form-label\\\" for=\\\"createdOn\\\"\\u003ECreated On\\u003C\\u002Flabel\\u003E\\u003Csmall class=\\\"form-text text-muted\\\"\\u003E\\u003C\\u002Fsmall\\u003EWhen the user account was first created. Sometimes used to filter out data or events that are not applicable from before account creation.\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-4\\\"\\u003E\\u003Cp class=\\\"form-control-plaintext\\\" id=\\\"createdOn\\\"\\u003E{{profile.createdOn}}\\u003C\\u002Fp\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-group row\\\"\\u003E\\u003Cdiv class=\\\"col-sm-8\\\"\\u003E\\u003Clabel class=\\\"col-form-label\\\" for=\\\"managerDisplayName\\\"\\u003EManager\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-4\\\"\\u003E\\u003Cp class=\\\"form-control-plaintext\\\" id=\\\"managerDisplayName\\\" *ngIf=\\\"!profile.managerDisplayName\\\"\\u003E\\u003Cem\\u003Enone\\u003C\\u002Fem\\u003E\\u003C\\u002Fp\\u003E\\u003Cp class=\\\"form-control-plaintext\\\" id=\\\"managerDisplayName\\\" *ngIf=\\\"profile.managerDisplayName\\\"\\u003E{{profile.managerDisplayName}}\\u003C\\u002Fp\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-group row\\\"\\u003E\\u003Cdiv class=\\\"col-sm-8\\\"\\u003E\\u003Clabel class=\\\"col-form-label\\\" for=\\\"publishedOn\\\"\\u003EPublished On\\u003C\\u002Flabel\\u003E\\u003Csmall class=\\\"form-text text-muted\\\"\\u003EAnything published before this date will be considered read.\\u003C\\u002Fsmall\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-4\\\"\\u003E\\u003Cp class=\\\"form-control-plaintext\\\" id=\\\"publishedOn\\\" *ngIf=\\\"!profile.publishedDate\\\"\\u003E\\u003Cem\\u003Enone\\u003C\\u002Fem\\u003E\\u003C\\u002Fp\\u003E\\u003Cp class=\\\"form-control-plaintext\\\" id=\\\"publishedOn\\\" *ngIf=\\\"profile.publishedDate\\\"\\u003E{{profile.publishedDate}}\\u003C\\u002Fp\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-group row\\\"\\u003E\\u003Cdiv class=\\\"col-sm-8\\\"\\u003E\\u003Clabel class=\\\"col-form-label\\\" for=\\\"defaultMiniCenter\\\"\\u003EDefault Mini-Center\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-4\\\"\\u003E\\u003Cp class=\\\"form-control-plaintext\\\" id=\\\"defaultMiniCenter\\\" *ngIf=\\\"!profile.defaultMiniCenterType\\\"\\u003E\\u003Cem\\u003Enone\\u003C\\u002Fem\\u003E\\u003C\\u002Fp\\u003E\\u003Cp class=\\\"form-control-plaintext\\\" id=\\\"defaultMiniCenter\\\" *ngIf=\\\"profile.defaultMiniCenterType\\\"\\u003E{{profile.defaultMiniCenterType}}\\u003C\\u002Fp\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-group row\\\"\\u003E\\u003Cdiv class=\\\"col-sm-8\\\"\\u003E\\u003Clabel class=\\\"col-form-label\\\" for=\\\"defaultRole\\\"\\u003EDefault Role\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-4\\\"\\u003E\\u003Cp class=\\\"form-control-plaintext\\\" id=\\\"defaultRole\\\" *ngIf=\\\"!profile.defaultRole\\\"\\u003E\\u003Cem\\u003Enone\\u003C\\u002Fem\\u003E\\u003C\\u002Fp\\u003E\\u003Cp class=\\\"form-control-plaintext\\\" id=\\\"defaultRole\\\" *ngIf=\\\"profile.defaultRole\\\"\\u003E{{profile.defaultRole.name}}\\u003C\\u002Fp\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-group row\\\"\\u003E\\u003Cdiv class=\\\"col-sm-8\\\"\\u003E\\u003Clabel class=\\\"col-form-label\\\"\\u003ERole Subscriptions\\u003C\\u002Flabel\\u003E\\u003Csmall class=\\\"form-text text-muted\\\"\\u003ESpecifies Roles you want to be alerted on when new articles are created.\\u003C\\u002Fsmall\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-4\\\"\\u003E\\u003Cdiv class=\\\"row\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003Clabel class=\\\"col-md-6\\\" formArrayName=\\\"roleSubscriptions\\\" *ngFor=\\\"let rs of profileForm.controls.roleSubscriptions.controls; let i = index\\\"\\u003E\\u003Cinput type=\\\"checkbox\\\" [formControlName]=\\\"i\\\"\\u003E\\n{{roleSubscriptions[i].name}}\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-group row\\\"\\u003E\\u003Cdiv class=\\\"col-sm-8\\\"\\u003E\\u003Clabel class=\\\"col-form-label\\\" for=\\\"defaultEditorMode\\\"\\u003EDefault Editor Mode\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-4\\\"\\u003E\\u003Cselect class=\\\"form-control\\\" id=\\\"defaultEditorMode\\\" name=\\\"defaultEditorMode\\\" formControlName=\\\"defaultEditorMode\\\"\\u003E\\u003Coption value=\\\"0\\\"\\u003EMarkdown\\u003C\\u002Foption\\u003E\\u003Coption value=\\\"1\\\"\\u003EWYSIWYG\\u003C\\u002Foption\\u003E\\u003C\\u002Fselect\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-group row\\\"\\u003E\\u003Cdiv class=\\\"col-sm-8\\\"\\u003E\\u003Clabel class=\\\"col-form-label\\\" for=\\\"homePage\\\"\\u003EHome Page\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-4\\\"\\u003E\\u003Cselect class=\\\"form-control\\\" id=\\\"homePage\\\" name=\\\"homePage\\\" formControlName=\\\"homePage\\\"\\u003E\\u003Coption\\u003E\\u003C\\u002Foption\\u003E\\u003Coption value=\\\"0\\\"\\u003EEngineering\\u003C\\u002Foption\\u003E\\u003Coption value=\\\"1\\\"\\u003ESales\\u003C\\u002Foption\\u003E\\u003C\\u002Fselect\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-group row\\\"\\u003E\\u003Cdiv class=\\\"col-sm-8\\\"\\u003E\\u003Clabel class=\\\"col-form-label\\\" for=\\\"searchDetailsRendering\\\"\\u003ESearch Details Rendering\\u003C\\u002Flabel\\u003E\\u003Csmall class=\\\"form-text text-muted\\\"\\u003ESpecifies how Search Details should be rendered when selected in Search Results.\\u003C\\u002Fsmall\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-4\\\"\\u003E\\u003Cselect class=\\\"form-control\\\" id=\\\"searchDetailsRendering\\\" name=\\\"searchDetailsRendering\\\" formControlName=\\\"searchDetailsRendering\\\"\\u003E\\u003Coption\\u003E\\u003C\\u002Foption\\u003E\\u003Coption value=\\\"1\\\"\\u003ENew Browser Tab\\u003C\\u002Foption\\u003E\\u003Coption value=\\\"2\\\"\\u003ENew Application Tab\\u003C\\u002Foption\\u003E\\u003Coption value=\\\"3\\\"\\u003EReplace Current View\\u003C\\u002Foption\\u003E\\u003C\\u002Fselect\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-group row\\\"\\u003E\\u003Cdiv class=\\\"col-sm-8\\\"\\u003E\\u003Clabel class=\\\"col-form-label\\\" for=\\\"enableArticleUpVoteNotifications\\\"\\u003EArticle Up-Vote Notifications\\u003C\\u002Flabel\\u003E\\u003Csmall class=\\\"form-text text-muted\\\"\\u003E\\u003C\\u002Fsmall\\u003ESpecifies if you, as the original author, should receive a notification whenever one of your articles is up-voted.\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-4\\\"\\u003E\\u003Cinput class=\\\"switch\\\" id=\\\"enableArticleUpVoteNotifications\\\" type=\\\"checkbox\\\" name=\\\"enableArticleUpVoteNotifications\\\" formControlName=\\\"enableArticleUpVoteNotifications\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-group row\\\"\\u003E\\u003Cdiv class=\\\"col-sm-8\\\"\\u003E\\u003Clabel class=\\\"col-form-label\\\" for=\\\"enableArticleReviewNotifications\\\"\\u003EArticle Review Notifications\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-4\\\"\\u003E\\u003Cinput class=\\\"switch\\\" id=\\\"enableArticleReviewNotifications\\\" type=\\\"checkbox\\\" name=\\\"enableArticleReviewNotifications\\\" formControlName=\\\"enableArticleReviewNotifications\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-group row\\\"\\u003E\\u003Cdiv class=\\\"col-sm-8\\\"\\u003E\\u003Clabel class=\\\"col-form-label\\\" for=\\\"defaultAnonymousVotingComments\\\"\\u003EAnonymous Voting Comments\\u003C\\u002Flabel\\u003E\\u003Csmall class=\\\"form-text text-muted\\\"\\u003EIndicates if comments submitted for voting are Anonymous by default.\\u003C\\u002Fsmall\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-4\\\"\\u003E\\u003Cinput class=\\\"switch\\\" id=\\\"defaultAnonymousVotingComments\\\" type=\\\"checkbox\\\" name=\\\"defaultAnonymousVotingComments\\\" formControlName=\\\"defaultAnonymousVotingComments\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cbutton class=\\\"btn btn-primary\\\" type=\\\"submit\\\" title=\\\"Save\\\" [disabled]=\\\"!profileForm.valid || profileForm.pristine\\\"\\u003E\\u003Cspan class=\\\"glyphicon glyphicon-save\\\"\\u003E\\u003C\\u002Fspan\\u003E Save\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fform\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Ftab\\u003E\\u003Ctab\\u003E\\u003Cng-template tabHeading\\u003E\\u003Ci class=\\\"fa fa-lock\\\"\\u003E\\u003C\\u002Fi\\u003E Roles\\u003C\\u002Fng-template\\u003E\\u003Cdiv class=\\\"card border-0\\\"\\u003E\\u003Cdiv class=\\\"card-body\\\"\\u003E\\u003Cp\\u003EThese are the Roles you are a member of and the Permissions associated with that Role.\\u003C\\u002Fp\\u003E\\u003Cp *ngIf=\\\"!roles.length\\\"\\u003E\\u003Cem\\u003ENot a member of any roles.\\u003C\\u002Fem\\u003E\\u003C\\u002Fp\\u003E\\u003Ctable class=\\\"table\\\" *ngIf=\\\"roles.length\\\"\\u003E\\u003Cthead\\u003E\\u003Ctr\\u003E\\u003Cth\\u003ERole\\u003C\\u002Fth\\u003E\\u003Cth\\u003EPermissions\\u003C\\u002Fth\\u003E\\u003C\\u002Ftr\\u003E\\u003C\\u002Fthead\\u003E\\u003Ctbody\\u003E\\u003Ctr *ngFor=\\\"let role of roles\\\"\\u003E\\u003Ctd\\u003E{{role.name}}\\n\\u003Cspan class=\\\"text-muted small\\\" *ngIf=\\\"role.isMembershipManaged\\\"\\u003E\\u003Cem\\u003E(automatically managed membership)\\u003C\\u002Fem\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Ftd\\u003E\\u003Ctd\\u003E\\u003Cp *ngIf=\\\"!role.permissions || !role.permissions.length\\\"\\u003E\\u003Cem\\u003ENo explicit permissisons.\\u003C\\u002Fem\\u003E\\u003C\\u002Fp\\u003E\\u003Cul class=\\\"list-group\\\" *ngIf=\\\"role.permissions && role.permissions.length\\\"\\u003E\\u003Cli class=\\\"list-group-item\\\" *ngFor=\\\"let permission of role.permissions\\\" title=\\\"{{permission.description}}\\\"\\u003E{{permission.name}}\\u003Csup class=\\\"ml-1\\\"\\u003E\\u003Cfa-icon icon=\\\"question\\\" title=\\\"{{permission.description}}\\\" style=\\\"font-size: 0.5rem;\\\"\\u003E\\u003C\\u002Ffa-icon\\u003E\\u003C\\u002Fsup\\u003E\\u003C\\u002Fli\\u003E\\u003C\\u002Ful\\u003E\\u003C\\u002Ftd\\u003E\\u003C\\u002Ftr\\u003E\\u003C\\u002Ftbody\\u003E\\u003C\\u002Ftable\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Ftab\\u003E\\u003Ctab\\u003E\\u003Cng-template tabHeading\\u003E\\u003Ci class=\\\"fa fa-lock\\\"\\u003E\\u003C\\u002Fi\\u003E Permissions\\u003C\\u002Fng-template\\u003E\\u003Cdiv class=\\\"card border-0\\\"\\u003E\\u003Cdiv class=\\\"card-body\\\"\\u003E\\u003Cp\\u003EThese are the distinct Permissions you have.\\u003C\\u002Fp\\u003E\\u003Cp *ngIf=\\\"!permissions || !permissions.length\\\"\\u003E\\u003Cem\\u003ENo explicit permissions assigned.\\u003C\\u002Fem\\u003E\\u003C\\u002Fp\\u003E\\u003Ctable class=\\\"table\\\" *ngIf=\\\"permissions && permissions.length\\\"\\u003E\\u003Cthead\\u003E\\u003Ctr\\u003E\\u003Cth\\u003EName\\u003C\\u002Fth\\u003E\\u003Cth\\u003EDescription\\u003C\\u002Fth\\u003E\\u003C\\u002Ftr\\u003E\\u003C\\u002Fthead\\u003E\\u003Ctbody\\u003E\\u003Ctr *ngFor=\\\"let permission of permissions\\\"\\u003E\\u003Ctd\\u003E{{permission.name}}\\u003C\\u002Ftd\\u003E\\u003Ctd\\u003E{{permission.description}}\\u003C\\u002Ftd\\u003E\\u003C\\u002Ftr\\u003E\\u003C\\u002Ftbody\\u003E\\u003C\\u002Ftable\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Ftab\\u003E\\u003C\\u002Ftabset\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Capp-nav class=\\\"mb-3\\\"\\u003E\\u003C\\u002Fapp-nav\\u003E\\u003Ctabset\\u003E\\u003Ctab\\u003E\\u003Cng-template tabHeading\\u003E\\u003Ci class=\\\"fa fa-lock\\\"\\u003E\\u003C\\u002Fi\\u003E Reset Published Date\\u003C\\u002Fng-template\\u003E\\u003Cdiv class=\\\"card border-0\\\"\\u003E\\u003Cdiv class=\\\"card-body\\\"\\u003E\\u003Cp\\u003E\\u003Capp-reset-user-publish-date\\u003E\\u003C\\u002Fapp-reset-user-publish-date\\u003E\\u003C\\u002Fp\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Ftab\\u003E\\u003Ctab\\u003E\\u003Cng-template tabHeading\\u003E\\u003Ci class=\\\"fa fa-lock\\\"\\u003E\\u003C\\u002Fi\\u003E Delete Unused Common Issues\\u003C\\u002Fng-template\\u003E\\u003Cdiv class=\\\"card border-0\\\"\\u003E\\u003Cdiv class=\\\"card-body\\\"\\u003E\\u003Cp\\u003E\\u003Capp-delete-unused-common-issues\\u003E\\u003C\\u002Fapp-delete-unused-common-issues\\u003E\\u003C\\u002Fp\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Ftab\\u003E\\u003Ctab\\u003E\\u003Cng-template tabHeading\\u003E\\u003Ci class=\\\"fa fa-lock\\\"\\u003E\\u003C\\u002Fi\\u003E Delete Unused Solutions\\u003C\\u002Fng-template\\u003E\\u003Cdiv class=\\\"card border-0\\\"\\u003E\\u003Cdiv class=\\\"card-body\\\"\\u003E\\u003Cp\\u003E\\u003Capp-delete-unused-solutions\\u003E\\u003C\\u002Fapp-delete-unused-solutions\\u003E\\u003C\\u002Fp\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Ftab\\u003E\\u003C\\u002Ftabset\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cform novalidate [formGroup]=\\\"queryForm\\\" (ngSubmit)=\\\"onSubmit()\\\"\\u003E\\u003Cdiv class=\\\"alert alert-danger\\\" *ngIf=\\\"errorMessage\\\"\\u003E\\u003Cp\\u003E\\u003Cstrong\\u003ESorry but your request to delete the selected Unused Common Issues could not be completed at this time, please try again.\\u003C\\u002Fstrong\\u003E\\u003C\\u002Fp\\u003E\\u003Cp\\u003EIf resubmitting your request again does not work, please reach out to the\\na(href=\\\"mailto:BITS@commvault.com\\\") BITS Team for assistance.\\u003C\\u002Fp\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-row\\\"\\u003E\\u003Cdiv class=\\\"form-group col-sm-2\\\"\\u003E\\u003Clabel\\u003EStart Date\\u003C\\u002Flabel\\u003E\\u003Cejs-datepicker formControlName=\\\"startDate\\\"\\u003E\\u003C\\u002Fejs-datepicker\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-group col-sm-2\\\"\\u003E\\u003Clabel\\u003EEnd Date\\u003C\\u002Flabel\\u003E\\u003Cejs-datepicker formControlName=\\\"endDate\\\"\\u003E\\u003C\\u002Fejs-datepicker\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-group col-sm-2\\\"\\u003E\\u003Clabel\\u003EMinimum Classification Age (Days)\\u003C\\u002Flabel\\u003E\\u003Cinput class=\\\"form-control\\\" formControlName=\\\"minClassificationDays\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-group col-sm-2\\\"\\u003E\\u003Clabel\\u003EInclude Internal\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"form-check\\\"\\u003E\\u003Cinput class=\\\"form-check-input position-static\\\" type=\\\"checkbox\\\" formControlName=\\\"includeInternal\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-2\\\"\\u003E\\u003Cbutton class=\\\"btn btn-primary\\\" type=\\\"submit\\\" title=\\\"View\\\" [disabled]=\\\"queryForm.pristine || queryForm.invalid\\\"\\u003E\\u003Cfa-icon icon=\\\"search\\\"\\u003E\\u003C\\u002Ffa-icon\\u003E\\nView\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cejs-grid #grid id=\\\"Grid\\\" [dataSource]=\\\"unusedCommonIssue\\\" [editSettings]=\\\"editSettings\\\" [toolbar]=\\\"toolbarOptions\\\" allowTextWrap=\\\"true\\\" [allowPaging]=\\\"true\\\" [allowExcelExport]=\\\"true\\\" [pageSettings]=\\\"pageOptions\\\" [allowSorting]=\\\"false\\\" [sortSettings]=\\\"sortOptions\\\" [allowFiltering]=\\\"false\\\" [filterSettings]=\\\"filterOptions\\\" [allowSelection]=\\\"true\\\" [selectionSettings]=\\\"selectOptions\\\" (actionFailure)=\\\"actionFailure($event)\\\" (actionComplete)=\\\"actionComplete($event)\\\" (toolbarClick)=\\\"onToolbarClick($event)\\\"\\u003E\\u003Ce-columns\\u003E\\u003Ce-column field=\\\"associationId\\\" headerText=\\\"AssociationId\\\" [visible]=\\\"false\\\" [isPrimaryKey]=\\\"true\\\"\\u003E\\u003C\\u002Fe-column\\u003E\\u003Ce-column type=\\\"checkbox\\\" [allowFiltering]=\\\"false\\\" [allowSorting]=\\\"false\\\" width=\\\"60\\\"\\u003E\\u003C\\u002Fe-column\\u003E\\u003Ce-column field=\\\"classificationText\\\" headerText=\\\"Classification\\\" width=\\\"250\\\" type=\\\"string\\\"\\u003E\\u003C\\u002Fe-column\\u003E\\u003Ce-column field=\\\"tags\\\" headerText=\\\"Tags\\\" width=\\\"150\\\" type=\\\"string\\\"\\u003E\\u003C\\u002Fe-column\\u003E\\u003Ce-column field=\\\"createdOn\\\" headerText=\\\"Creation Date\\\" type=\\\"date\\\" format=\\\"yMd\\\" width=\\\"100\\\"\\u003E\\u003C\\u002Fe-column\\u003E\\u003C\\u002Fe-columns\\u003E\\u003C\\u002Fejs-grid\\u003E\\u003C\\u002Fform\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cform novalidate [formGroup]=\\\"dusFormGroup\\\" (ngSubmit)=\\\"onSubmit()\\\"\\u003E\\u003Cdiv class=\\\"alert alert-danger\\\" *ngIf=\\\"errorMessage\\\"\\u003E\\u003Cp\\u003E\\u003Cstrong\\u003ESorry but your request to delete the selected Unused Solutions could not be completed at this time, please try again.\\u003C\\u002Fstrong\\u003E\\u003C\\u002Fp\\u003E\\u003Cp\\u003EIf resubmitting your request again does not work, please reach out to the\\na(href=\\\"mailto:BITS@commvault.com\\\") BITS Team for assistance.\\u003C\\u002Fp\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-row\\\"\\u003E\\u003Cdiv class=\\\"form-group col-sm-2\\\"\\u003E\\u003Clabel\\u003EStart Date\\u003C\\u002Flabel\\u003E\\u003Cejs-datepicker formControlName=\\\"startDate\\\"\\u003E\\u003C\\u002Fejs-datepicker\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-group col-sm-2\\\"\\u003E\\u003Clabel\\u003EEnd Date\\u003C\\u002Flabel\\u003E\\u003Cejs-datepicker formControlName=\\\"endDate\\\"\\u003E\\u003C\\u002Fejs-datepicker\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-group col-sm-2\\\"\\u003E\\u003Clabel\\u003EMaximum Effectiveness Percentage\\u003C\\u002Flabel\\u003E\\u003Cinput class=\\\"form-control\\\" formControlName=\\\"maximumEffectiveness\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-group col-sm-2\\\"\\u003E\\u003Clabel\\u003EMinimum Article Age (Days)\\u003C\\u002Flabel\\u003E\\u003Cinput class=\\\"form-control\\\" formControlName=\\\"minimumAge\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-group col-sm-2\\\"\\u003E\\u003Clabel\\u003EMinimum Amount Viewed\\u003C\\u002Flabel\\u003E\\u003Cinput class=\\\"form-control\\\" formControlName=\\\"minimumViewed\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-2\\\"\\u003E\\u003Cbutton class=\\\"btn btn-primary\\\" type=\\\"submit\\\" title=\\\"View\\\" [disabled]=\\\"dusFormGroup.pristine || dusFormGroup.invalid\\\"\\u003E\\u003Cfa-icon icon=\\\"search\\\"\\u003E\\u003C\\u002Ffa-icon\\u003E\\nView\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fform\\u003E\\u003Cdiv class=\\\"border-top border-right border-left\\\"\\u003E\\u003Cbutton class=\\\"btn btn-primary m-1\\\" #deletebtn (click)=\\\"delete()\\\" [disabled]=\\\"isDisabled\\\"\\u003EDelete \\u003Cfa-icon icon=\\\"trash-alt\\\"\\u003E\\u003C\\u002Ffa-icon\\u003E\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cejs-grid #grid id=\\\"Grid\\\" [dataSource]=\\\"unusedSolution\\\" allowTextWrap=\\\"true\\\" [toolbar]=\\\"toolbarOptions\\\" [allowPaging]=\\\"true\\\" [allowExcelExport]=\\\"true\\\" [pageSettings]=\\\"pageOptions\\\" [allowSorting]=\\\"true\\\" [sortSettings]=\\\"sortOptions\\\" [allowFiltering]=\\\"true\\\" [filterSettings]=\\\"filterOptions\\\" [allowSelection]=\\\"true\\\" [selectionSettings]=\\\"selectOptions\\\" (actionFailure)=\\\"actionFailure($event)\\\" (actionComplete)=\\\"actionComplete($event)\\\" (rowSelected)=\\\"onRowSelected($event)\\\" (rowDeselected)=\\\"onRowDeselected($event)\\\" (toolbarClick)=\\\"onToolbarClick($event)\\\"\\u003E\\u003Ce-columns\\u003E\\u003Ce-column type=\\\"checkbox\\\" [allowFiltering]=\\\"false\\\" [allowSorting]=\\\"false\\\" width=\\\"60\\\"\\u003E\\u003C\\u002Fe-column\\u003E\\u003Ce-column field=\\\"articleId\\\" headerText=\\\"Article Id\\\" width=\\\"100\\\" type=\\\"number\\\" [isPrimaryKey]=\\\"true\\\"\\u003E\\u003C\\u002Fe-column\\u003E\\u003Ce-column field=\\\"author\\\" headerText=\\\"Author\\\" width=\\\"100\\\" type=\\\"string\\\"\\u003E\\u003C\\u002Fe-column\\u003E\\u003Ce-column field=\\\"articleTitle\\\" headerText=\\\"Article Title\\\" width=\\\"150\\\"\\u003E\\u003C\\u002Fe-column\\u003E\\u003Ce-column field=\\\"classification\\\" headerText=\\\"Classification\\\" width=\\\"200\\\" type=\\\"string\\\"\\u003E\\u003C\\u002Fe-column\\u003E\\u003Ce-column field=\\\"articleCreatedOn\\\" headerText=\\\"Creation Date\\\" type=\\\"date\\\" format=\\\"yMd\\\" width=\\\"100\\\"\\u003E\\u003C\\u002Fe-column\\u003E\\u003Ce-column field=\\\"articleModifiedOn\\\" headerText=\\\"Modified Date\\\" type=\\\"date\\\" format=\\\"yMd\\\" width=\\\"100\\\"\\u003E\\u003C\\u002Fe-column\\u003E\\u003Ce-column field=\\\"articleUnpublished\\\" headerText=\\\"Unpublished Date\\\" type=\\\"date\\\" format=\\\"yMd\\\" width=\\\"100\\\"\\u003E\\u003C\\u002Fe-column\\u003E\\u003Ce-column field=\\\"isAvailable\\\" headerText=\\\"Available\\\" width=\\\"100\\\" type=\\\"boolean\\\"\\u003E\\u003C\\u002Fe-column\\u003E\\u003Ce-column field=\\\"deflectionCount\\\" headerText=\\\"Deflections\\\" width=\\\"100\\\" type=\\\"number\\\"\\u003E\\u003C\\u002Fe-column\\u003E\\u003Ce-column field=\\\"displayedCount\\\" headerText=\\\"Displayed\\\" width=\\\"100\\\" type=\\\"number\\\"\\u003E\\u003C\\u002Fe-column\\u003E\\u003Ce-column field=\\\"deflectionRatio\\\" headerText=\\\"Deflections (%)\\\" width=\\\"100\\\" type=\\\"string\\\" format=\\\"P0\\\"\\u003E\\u003C\\u002Fe-column\\u003E\\u003C\\u002Fe-columns\\u003E\\u003C\\u002Fejs-grid\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cform novalidate [formGroup]=\\\"rupdFormGroup\\\" (ngSubmit)=\\\"onSubmit()\\\"\\u003E\\u003Cdiv class=\\\"alert alert-danger\\\" *ngIf=\\\"errorMessage\\\"\\u003E\\u003Cp\\u003E\\u003Cstrong\\u003EWe are sorry. Published Date for reset is not submitted at this moment of time. Please try again.\\u003C\\u002Fstrong\\u003E\\u003C\\u002Fp\\u003E\\u003Cp\\u003EIf resubmitting your request again does not work, please reach out to the\\u003Ca href=\\\"mailto:CE_Apps@commvault.com\\\"\\u003ECEA Team \\u003C\\u002Fa\\u003Efor assistance.\\u003C\\u002Fp\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-group\\\"\\u003E\\u003Cdiv class=\\\"row\\\"\\u003E\\u003Cdiv class=\\\"col-sm-4 col-md-3 col-xl-2\\\"\\u003E\\u003Clabel\\u003EUser Name(s)\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-8 col-md-6\\\"\\u003E\\u003Cejs-multiselect [dataSource]=\\\"data\\\" [fields]=\\\"remoteFields\\\" [query]=\\\"query\\\" sortOrder=\\\"Ascending\\\" placeholder=\\\"Start typing to filter names...\\\" name=\\\"users\\\" formControlName=\\\"users\\\"\\u003E\\u003C\\u002Fejs-multiselect\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"row mt-1\\\"\\u003E\\u003Cdiv class=\\\"col-sm-4 col-md-3 col-xl-2\\\"\\u003E\\u003Clabel\\u003EPublished Date\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-4 col-md-3 col-xl-2\\\"\\u003E\\u003Cejs-datepicker formControlName=\\\"resetDate\\\"\\u003E\\u003C\\u002Fejs-datepicker\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cbutton class=\\\"btn btn-primary\\\" type=\\\"submit\\\" title=\\\"Search\\\" [disabled]=\\\"rupdFormGroup.pristine || rupdFormGroup.invalid\\\"\\u003ESubmit\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fform\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cul class=\\\"nav nav-pills nav-justified\\\"\\u003E\\u003Cli class=\\\"nav-item\\\"\\u003E\\u003Ca class=\\\"nav-link\\\" [routerLink]=\\\"["\\u002Fadmin\\u002Froles-permissions"]\\\" [routerLinkActive]=\\\"["active"]\\\"\\u003ERoles & Permissions\\u003C\\u002Fa\\u003E\\u003C\\u002Fli\\u003E\\u003Cli class=\\\"nav-item\\\"\\u003E\\u003Ca class=\\\"nav-link\\\" [routerLink]=\\\"["\\u002Fadmin\\u002Fadmin-tools"]\\\" [routerLinkActive]=\\\"["active"]\\\"\\u003EGeneral Admin Tools\\u003C\\u002Fa\\u003E\\u003C\\u002Fli\\u003E\\u003C\\u002Ful\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Capp-nav class=\\\"mb-3\\\"\\u003E\\u003C\\u002Fapp-nav\\u003E\\u003Ctabset *ngIf=\\\"roles && permissions\\\"\\u003E\\u003Ctab\\u003E\\u003Cng-template tabHeading\\u003E\\u003Ci class=\\\"fa fa-lock\\\"\\u003E\\u003C\\u002Fi\\u003E Roles\\u003C\\u002Fng-template\\u003E\\u003Cdiv class=\\\"card border-0\\\"\\u003E\\u003Cdiv class=\\\"card-body\\\"\\u003E\\u003Cp\\u003EThese are the Roles defined in the system and the Permissions associated with that Role.\\u003C\\u002Fp\\u003E\\u003Cp *ngIf=\\\"!roles.length\\\"\\u003E\\u003Cem\\u003ENo Roles have been defined.\\u003C\\u002Fem\\u003E\\u003C\\u002Fp\\u003E\\u003Ctable class=\\\"table\\\" *ngIf=\\\"roles.length\\\"\\u003E\\u003Cthead\\u003E\\u003Ctr\\u003E\\u003Cth\\u003ERole\\u003C\\u002Fth\\u003E\\u003Cth\\u003EPermissions\\u003C\\u002Fth\\u003E\\u003C\\u002Ftr\\u003E\\u003C\\u002Fthead\\u003E\\u003Ctbody\\u003E\\u003Ctr *ngFor=\\\"let role of roles\\\"\\u003E\\u003Ctd\\u003E{{role.name}}\\u003Cspan class=\\\"text-muted small\\\" *ngIf=\\\"role.isInherited\\\"\\u003E\\u003Cem\\u003E(inherited)\\u003C\\u002Fem\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Ftd\\u003E\\u003Ctd\\u003E\\u003Cp *ngIf=\\\"!role.permissions || !role.permissions.length\\\"\\u003E\\u003Cem\\u003ENo explicit permissisons.\\u003C\\u002Fem\\u003E\\u003C\\u002Fp\\u003E\\u003Cul class=\\\"list-group\\\" *ngIf=\\\"role.permissions && role.permissions.length\\\"\\u003E\\u003Cli class=\\\"list-group-item\\\" *ngFor=\\\"let permission of role.permissions\\\" title=\\\"{{permission.description}}\\\"\\u003E{{permission.name}}\\u003Csup class=\\\"ml-1\\\"\\u003E\\u003Csmall\\u003E\\u003Cfa-icon icon=\\\"question\\\" title=\\\"{{permission.description}}\\\"\\u003E\\u003C\\u002Ffa-icon\\u003E\\u003C\\u002Fsmall\\u003E\\u003C\\u002Fsup\\u003E\\u003C\\u002Fli\\u003E\\u003C\\u002Ful\\u003E\\u003C\\u002Ftd\\u003E\\u003C\\u002Ftr\\u003E\\u003C\\u002Ftbody\\u003E\\u003C\\u002Ftable\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Ftab\\u003E\\u003Ctab\\u003E\\u003Cng-template tabHeading\\u003E\\u003Ci class=\\\"fa fa-lock\\\"\\u003E\\u003C\\u002Fi\\u003E Permissions\\u003C\\u002Fng-template\\u003E\\u003Cdiv class=\\\"card border-0\\\"\\u003E\\u003Cdiv class=\\\"card-body\\\"\\u003E\\u003Cp\\u003EThese are the Permissions defined in the system.\\u003C\\u002Fp\\u003E\\u003Cp *ngIf=\\\"!permissions || !permissions.length\\\"\\u003E\\u003Cem\\u003ENo Permissions have been defined.\\u003C\\u002Fem\\u003E\\u003C\\u002Fp\\u003E\\u003Ctable class=\\\"table\\\" *ngIf=\\\"permissions && permissions.length\\\"\\u003E\\u003Cthead\\u003E\\u003Ctr\\u003E\\u003Cth\\u003EName\\u003C\\u002Fth\\u003E\\u003Cth\\u003EDescription\\u003C\\u002Fth\\u003E\\u003C\\u002Ftr\\u003E\\u003C\\u002Fthead\\u003E\\u003Ctbody\\u003E\\u003Ctr *ngFor=\\\"let permission of permissions\\\"\\u003E\\u003Ctd\\u003E{{permission.name}}\\u003C\\u002Ftd\\u003E\\u003Ctd\\u003E{{permission.description}}\\u003C\\u002Ftd\\u003E\\u003C\\u002Ftr\\u003E\\u003C\\u002Ftbody\\u003E\\u003C\\u002Ftable\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Ftab\\u003E\\u003C\\u002Ftabset\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Ch2\\u003EDiagnostics Collecting\\u003C\\u002Fh2\\u003E\\u003Cng-container *ngIf=\\\"dataPointsForm\\\"\\u003E\\u003Cdiv class=\\\"alert alert-primary\\\" *ngIf=\\\"!dataPointsForm.get("items").controls.length\\\"\\u003E\\u003Cem\\u003ENo data points have been defined yet. Click Add link to start.\\u003C\\u002Fem\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cbutton class=\\\"btn btn-link\\\" (click)=\\\"addItem()\\\"\\u003E\\u003Csmall\\u003EAdd Data Point +\\u003C\\u002Fsmall\\u003E\\u003C\\u002Fbutton\\u003E\\u003Cdiv *ngIf=\\\"dataPointsForm.get("items").controls.length\\\" [formGroup]=\\\"dataPointsForm\\\"\\u003E\\u003Cdiv formArrayName=\\\"items\\\"\\u003E\\u003Caccordion class=\\\"animate\\\"\\u003E\\u003Cdiv *ngFor=\\\"let item of getControls("items"); let i = index;\\\"\\u003E\\u003Caccordion-group #group [formGroupName]=\\\"i\\\" (isOpenChange)=\\\"resetFormArrayItem(i)\\\" [isOpen]=\\\"!item.get('troubleshootingInformationId').value\\\"\\u003E\\u003Cdiv class=\\\"alert alert-danger\\\" *ngIf=\\\"hasBeenSubmitted && item.invalid\\\"\\u003ESorry, error(s) prevented this from being submitted. Please correct any errors indicated below and try again.\\u003Cul class=\\\"mb-0\\\"\\u003E\\u003Cli *ngIf=\\\"item.controls['whatIsNeeded'].invalid\\\"\\u003E\\u003Cstrong\\u003EWhat is needed\\u003C\\u002Fstrong\\u003E is required.\\u003C\\u002Fli\\u003E\\u003Cli *ngIf=\\\"item.controls['whyItIsNeeded'].invalid\\\"\\u003E\\u003Cstrong\\u003EWhy is it needed\\u003C\\u002Fstrong\\u003E is required\\u003C\\u002Fli\\u003E\\u003Cli *ngIf=\\\"item.controls['howItIsCollected'].invalid\\\"\\u003E\\u003Cstrong\\u003EHow is it collected\\u003C\\u002Fstrong\\u003E is required\\u003C\\u002Fli\\u003E\\u003C\\u002Ful\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv accordion-heading\\u003E\\u003Cdiv class=\\\"d-flex justify-content-between\\\"\\u003E\\u003Cdiv class=\\\"col pl-0\\\"\\u003E{{ item.get(\\\"whatIsNeeded\\\").value }}\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"section-actions\\\"\\u003E\\u003Cbutton class=\\\"mr-3 btn btn-primary btn-sm\\\" type=\\\"button\\\"\\u003E\\u003Cfa-icon icon=\\\"edit\\\"\\u003E\\u003C\\u002Ffa-icon\\u003E\\nEdit\\u003C\\u002Fbutton\\u003E\\u003Cbutton class=\\\"btn btn-primary btn-sm\\\" type=\\\"button\\\" data-dismiss=\\\"alert\\\" aria-label=\\\"Close\\\" (click)=\\\"confirmRemove(i)\\\"\\u003E\\u003Cfa-icon icon=\\\"trash-alt\\\"\\u003E\\u003C\\u002Ffa-icon\\u003E\\nDelete\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv\\u003E\\u003Cdiv class=\\\"form-group\\\"\\u003E\\u003Clabel class=\\\"mb-0\\\"\\u003EWhat is needed?\\u003C\\u002Flabel\\u003E\\u003Ctextarea class=\\\"form-control input-sm\\\" formControlName=\\\"whatIsNeeded\\\"\\u003E\\u003C\\u002Ftextarea\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-group\\\"\\u003E\\u003Clabel class=\\\"mb-0\\\"\\u003EWhy is it needed?\\u003C\\u002Flabel\\u003E\\u003Ctextarea class=\\\"form-control input-sm\\\" formControlName=\\\"whyItIsNeeded\\\"\\u003E\\u003C\\u002Ftextarea\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-group\\\"\\u003E\\u003Clabel class=\\\"mb-0\\\"\\u003EHow is it collected?\\u003C\\u002Flabel\\u003E\\u003Ctextarea class=\\\"form-control input-sm\\\" rows=\\\"5\\\" formControlName=\\\"howItIsCollected\\\"\\u003E\\u003C\\u002Ftextarea\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-row justify-content-end\\\"\\u003E\\u003Cbutton class=\\\"mr-3 btn btn-primary\\\" type=\\\"button\\\" (click)=\\\"save(item, i, group)\\\"\\u003ESave Changes\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Faccordion-group\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Faccordion\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fng-container\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cdiv *ngIf=\\\"canManageClassification != undefined\\\"\\u003E\\u003Ch2\\u003EClassification Tree \\u003Cspan *ngIf=\\\"canManageClassification\\\"\\u003EManagement\\u003C\\u002Fspan\\u003E\\u003C\\u002Fh2\\u003E\\u003Cdiv class=\\\"btn-toolbar sticky-top top-toolbar mb-3\\\" *ngIf=\\\"canManageClassification\\\" role=\\\"toolbar\\\" aria-label=\\\"Classification Management Toolbar\\\"\\u003E\\u003Cdiv class=\\\"btn-group mr-2\\\" role=\\\"group\\\" aria-label=\\\"New Node Actions\\\"\\u003E\\u003Cbutton class=\\\"btn btn-primary\\\" type=\\\"button\\\" (click)=\\\"onNewClick("product")\\\" [disabled]=\\\"!productEnabled\\\"\\u003ENew Product\\u003C\\u002Fbutton\\u003E\\u003Cbutton class=\\\"btn btn-primary\\\" type=\\\"button\\\" (click)=\\\"onNewClick("function")\\\" [disabled]=\\\"!functionEnabled\\\"\\u003ENew Function\\u003C\\u002Fbutton\\u003E\\u003Cbutton class=\\\"btn btn-primary\\\" type=\\\"button\\\" (click)=\\\"onNewClick("common-issue")\\\" [disabled]=\\\"!commonIssueEnabled\\\"\\u003ENew Common Issue\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"btn-group mr-2\\\" role=\\\"group\\\" aria-label=\\\"Existing Node Edit Actions\\\"\\u003E\\u003Cbutton class=\\\"btn btn-primary\\\" type=\\\"button\\\" (click)=\\\"onEditClick()\\\" [disabled]=\\\"!selectedNode\\\"\\u003EEdit\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"btn-group mr-2\\\" role=\\\"group\\\" aria-label=\\\"Existing Node Delete Actions\\\"\\u003E\\u003Cbutton class=\\\"btn btn-primary\\\" type=\\\"button\\\" (click)=\\\"onDeleteClick()\\\" [disabled]=\\\"!selectedNode\\\"\\u003EDelete\\u003C\\u002Fbutton\\u003E\\u003Cbutton class=\\\"btn btn-primary\\\" type=\\\"button\\\" (click)=\\\"onUndoDeleteClick()\\\" [disabled]=\\\"!deletedNodes.length\\\"\\u003EUndo\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"card\\\"\\u003E\\u003Capp-classification-tree #tree [ngClass]=\\\"{ "card-body": !tree.isLoaded }\\\" (nodeSelected)=\\\"onClassificationNodeSelected($event)\\\" [showArticles]=\\\"canManageClassification\\\" [allowReordering]=\\\"canManageClassification\\\"\\u003E\\u003C\\u002Fapp-classification-tree\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cp *ngIf=\\\"!isLoaded\\\"\\u003E\\u003Cem\\u003ELoading tree...\\u003C\\u002Fem\\u003E\\u003C\\u002Fp\\u003E\\u003Cejs-treeview #tree [fields]=\\\"field\\\" [allowDragAndDrop]=\\\"allowReordering\\\" (nodeSelected)=\\\"onNodeSelected($event)\\\" (nodeExpanded)=\\\"onNodeExpanded($event)\\\" (nodeDragging)=\\\"onCheckDrop($event)\\\" (nodeDragStop)=\\\"onCheckDrop($event)\\\"\\u003E\\u003C\\u002Fejs-treeview\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cform *ngIf=\\\"node\\\" novalidate [formGroup]=\\\"nodeForm\\\"\\u003E\\u003Cdiv class=\\\"card\\\"\\u003E\\u003Cdiv class=\\\"card-header\\\"\\u003ECommon Issue Node\\u003Csup class=\\\"ml-1\\\"\\u003E\\u003Csmall\\u003E\\u003Cfa-icon icon=\\\"question\\\" title=\\\"Description\\\" (click)=\\\"isCollapsed = !isCollapsed\\\"\\u003E\\u003C\\u002Ffa-icon\\u003E\\u003C\\u002Fsmall\\u003E\\u003C\\u002Fsup\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"card-body\\\"\\u003E\\u003Cdiv class=\\\"alert alert-info\\\" [collapse]=\\\"isCollapsed\\\"\\u003E\\u003Ch4\\u003ECommon Issue Information\\u003C\\u002Fh4\\u003E\\u003Cdl\\u003E\\u003Cdt\\u003EWhat is a Common Issue Node?\\u003C\\u002Fdt\\u003E\\u003Cdd\\u003E\\u003Cp\\u003EA Common Issue is used to precisely describe a specific condition with a product or function that occurs on a frequent basis.\\nIts best to use terms which are easy for both customers and engineers to digest but still provide significant detail.\\u003C\\u002Fp\\u003E\\u003Cp\\u003EThe \\u003Cstrong\\u003ECommon Issue\\u003C\\u002Fstrong\\u003E selected will appear as the issue description when an incident is created and appear verbatim within team queues in CRM.\\u003C\\u002Fp\\u003E\\u003Cp\\u003E*Reminder: You should word common issues very similar to how a customer would perceive their issue but with enough detail to determine what the issue is - see examples below:\\u003C\\u002Fp\\u003E\\u003C\\u002Fdd\\u003E\\u003Cdt\\u003EExamples of Common Issues:\\u003C\\u002Fdt\\u003E\\u003Cdd\\u003E\\u003Cul\\u003E\\u003Cli\\u003EDash copy job fails with error \\\"Check the log files\\\"\\u003C\\u002Fli\\u003E\\u003Cli\\u003EData aging completes but no space is returned\\u003C\\u002Fli\\u003E\\u003Cli\\u003ESQL database backups are slow\\u003C\\u002Fli\\u003E\\u003Cli\\u003EReports not working after upgrading\\u003C\\u002Fli\\u003E\\u003C\\u002Ful\\u003E\\u003Cp\\u003E\\u003Cem\\u003ENotice how the terms are simple but accurate - you know what \\u003Cstrong\\u003Efunction\\u003C\\u002Fstrong\\u003E is having an issue and what \\u003Cstrong\\u003Especifically\\u003C\\u002Fstrong\\u003E is broken.\\u003C\\u002Fem\\u003E\\u003C\\u002Fp\\u003E\\u003C\\u002Fdd\\u003E\\u003C\\u002Fdl\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"alert alert-danger\\\" *ngIf=\\\"hasBeenSubmitted && nodeForm.invalid\\\"\\u003ESorry, error(s) prevented this form from being submitted. Please correct any errors indicated below and try again.\\u003Cul class=\\\"mb-0\\\"\\u003E\\u003Cli *ngIf=\\\"nodeForm.controls.title.errors\\\"\\u003EThe \\u003Cstrong\\u003ETitle\\u003C\\u002Fstrong\\u003E must be between 3 and 150 characters in length.\\u003C\\u002Fli\\u003E\\u003Cli *ngIf=\\\"nodeForm.controls.team.errors\\\"\\u003EThe \\u003Cstrong\\u003ETeam\\u003C\\u002Fstrong\\u003E is required.\\u003C\\u002Fli\\u003E\\u003C\\u002Ful\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"row form-group\\\"\\u003E\\u003Clabel class=\\\"col-sm-4 col-form-label\\\" for=\\\"title\\\"\\u003ECommon Issue Name\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"col-sm-8\\\"\\u003E\\u003Cinput class=\\\"form-control\\\" name=\\\"title\\\" type=\\\"text\\\" formControlName=\\\"title\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"row form-group\\\"\\u003E\\u003Clabel class=\\\"col-sm-4 col-form-label form-check-label\\\" for=\\\"isInternal\\\"\\u003EInternal Only\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"col-sm-8\\\"\\u003E\\u003Capp-switch label=\\\"Test\\\" formControlName=\\\"isInternal\\\"\\u003E\\u003C\\u002Fapp-switch\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"row form-group\\\"\\u003E\\u003Clabel class=\\\"col-sm-4 col-form-label form-check-label\\\" for=\\\"isECC\\\"\\u003EECC Only\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"col-sm-8\\\"\\u003E\\u003Capp-switch label=\\\"Test\\\" formControlName=\\\"isECC\\\"\\u003E\\u003C\\u002Fapp-switch\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"row form-group\\\"\\u003E\\u003Clabel class=\\\"col-sm-4 col-form-label\\\" for=\\\"escalationAlias\\\"\\u003EEscalation Alias\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"col-sm-8\\\"\\u003E\\u003Cinput class=\\\"form-control\\\" name=\\\"escalationAlias\\\" type=\\\"text\\\" formControlName=\\\"escalationAlias\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"row form-group\\\"\\u003E\\u003Clabel class=\\\"col-sm-4 col-form-label\\\" for=\\\"team\\\"\\u003EWhich team should this be routed to?\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"col-sm-8\\\"\\u003E\\u003Cselect class=\\\"form-control\\\" name=\\\"team\\\" formControlName=\\\"team\\\"\\u003E\\u003Coption *ngFor=\\\"let t of teams\\\" [ngValue]=\\\"t.id\\\"\\u003E{{t.name}}\\u003C\\u002Foption\\u003E\\u003C\\u002Fselect\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"row form-group\\\"\\u003E\\u003Cdiv class=\\\"col-sm-12\\\"\\u003E\\u003Cp\\u003E\\u003Clabel class=\\\"form-label\\\"\\u003EDiagnostic Data Points\\u003C\\u002Flabel\\u003E\\u003C\\u002Fp\\u003E\\u003Cdiv class=\\\"listview\\\"\\u003E\\u003Cejs-listview #listview [dataSource]=\\\"diagnostics\\\" [showCheckBox]=\\\"true\\\" [fields]=\\\"fields\\\"\\u003E\\u003C\\u002Fejs-listview\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"card-footer text-right\\\"\\u003E\\u003Cbutton class=\\\"btn btn-secondary btn-sm mr-3\\\" (click)=\\\"close()\\\" [disabled]=\\\"nodeForm.disabled\\\"\\u003ECancel\\u003C\\u002Fbutton\\u003E\\u003Cbutton class=\\\"btn btn-primary btn-sm\\\" (click)=\\\"submit()\\\" [disabled]=\\\"nodeForm.disabled\\\"\\u003ESubmit\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fform\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cform *ngIf=\\\"node\\\" novalidate [formGroup]=\\\"nodeForm\\\"\\u003E\\u003Cdiv class=\\\"card\\\"\\u003E\\u003Cdiv class=\\\"card-header\\\"\\u003EFunction Node\\u003Csup class=\\\"ml-1\\\"\\u003E\\u003Csmall\\u003E\\u003Cfa-icon icon=\\\"question\\\" title=\\\"Description\\\" (click)=\\\"isCollapsed = !isCollapsed\\\"\\u003E\\u003C\\u002Ffa-icon\\u003E\\u003C\\u002Fsmall\\u003E\\u003C\\u002Fsup\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"card-body\\\"\\u003E\\u003Cdiv class=\\\"alert alert-info\\\" [collapse]=\\\"isCollapsed\\\"\\u003E\\u003Ch4\\u003EFunction Information\\u003C\\u002Fh4\\u003E\\u003Cdl\\u003E\\u003Cdt\\u003EWhat is a Function Node?\\u003C\\u002Fdt\\u003E\\u003Cdd\\u003E\\u003Cp\\u003EA function node is a term which represents any type of process, feature or function\\na \\u003Cstrong\\u003EProduct\\u003C\\u002Fstrong\\u003E can perform. Any of these actions or behaviors should be labelled as a \\u003Cstrong\\u003EFunction\\u003C\\u002Fstrong\\u003E.\\u003C\\u002Fp\\u003E\\u003C\\u002Fdd\\u003E\\u003Cdt\\u003EExamples of \\u003Cstrong\\u003EFunctions\\u003C\\u002Fstrong\\u003E and how they relate to \\u003Cstrong\\u003EProducts\\u003C\\u002Fstrong\\u003E:\\u003C\\u002Fdt\\u003E\\u003Cdd\\u003E\\u003Cul\\u003E\\u003Cli\\u003EData aging is a feature of the Commserve as its not an agent and merely a process that provides a function.\\u003C\\u002Fli\\u003E\\u003Cli\\u003EPerformance is also a function and while we don't have a performance process the term is used to describe a behaviour of our product.\\u003C\\u002Fli\\u003E\\u003C\\u002Ful\\u003E\\u003C\\u002Fdd\\u003E\\u003C\\u002Fdl\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"alert alert-danger\\\" *ngIf=\\\"hasBeenSubmitted && nodeForm.invalid\\\"\\u003ESorry, error(s) prevented this form from being submitted. Please correct any errors indicated below and try again.\\u003Cul class=\\\"mb-0\\\"\\u003E\\u003Cli *ngIf=\\\"nodeForm.controls.title.errors\\\"\\u003EThe \\u003Cstrong\\u003ETitle\\u003C\\u002Fstrong\\u003E must be between 3 and 150 characters in length.\\u003C\\u002Fli\\u003E\\u003C\\u002Ful\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"row form-group\\\"\\u003E\\u003Clabel class=\\\"col-sm-4 col-form-label\\\" for=\\\"title\\\"\\u003EFunction Name\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"col-sm-8\\\"\\u003E\\u003Cinput class=\\\"form-control\\\" name=\\\"title\\\" type=\\\"text\\\" formControlName=\\\"title\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"row form-group\\\"\\u003E\\u003Clabel class=\\\"col-sm-4 col-form-label form-check-label\\\" for=\\\"isInternal\\\"\\u003EInternal Only\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"col-sm-8\\\"\\u003E\\u003Capp-switch label=\\\"Test\\\" formControlName=\\\"isInternal\\\"\\u003E\\u003C\\u002Fapp-switch\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"card-footer text-right\\\"\\u003E\\u003Cbutton class=\\\"btn btn-secondary btn-sm mr-3\\\" (click)=\\\"close()\\\" [disabled]=\\\"nodeForm.disabled\\\"\\u003ECancel\\u003C\\u002Fbutton\\u003E\\u003Cbutton class=\\\"btn btn-primary btn-sm\\\" (click)=\\\"submit()\\\" [disabled]=\\\"nodeForm.disabled\\\"\\u003ESubmit\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fform\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cform *ngIf=\\\"node\\\" novalidate [formGroup]=\\\"nodeForm\\\"\\u003E\\u003Cdiv class=\\\"card\\\"\\u003E\\u003Cdiv class=\\\"card-header\\\"\\u003EProduct Node\\u003Csup class=\\\"ml-1\\\"\\u003E\\u003Csmall\\u003E\\u003Cfa-icon icon=\\\"question\\\" title=\\\"Description\\\" (click)=\\\"isCollapsed = !isCollapsed\\\"\\u003E\\u003C\\u002Ffa-icon\\u003E\\u003C\\u002Fsmall\\u003E\\u003C\\u002Fsup\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"card-body\\\"\\u003E\\u003Cdiv class=\\\"alert alert-info\\\" [collapse]=\\\"isCollapsed\\\"\\u003E\\u003Ch4\\u003EProduct Information\\u003C\\u002Fh4\\u003E\\u003Cdl\\u003E\\u003Cdt\\u003EWhat is a Product Node?\\u003C\\u002Fdt\\u003E\\u003Cdd\\u003E\\u003Cp\\u003EA product node is a term used to describe an overall collection of product\\ntypes by specific category (i.e Virtualization) and those specific agents included within that category type\\n(i.e Virtual Server Agent).\\u003C\\u002Fp\\u003E\\u003C\\u002Fdd\\u003E\\u003Cdt\\u003EExamples of product types and products:\\u003C\\u002Fdt\\u003E\\u003Cdd\\u003E\\u003Cul\\u003E\\u003Cli\\u003EClient Agents\\u003C\\u002Fli\\u003E\\u003Cli\\u003EExchange Agents\\u003C\\u002Fli\\u003E\\u003Cli\\u003EMailbox Agent\\u003C\\u002Fli\\u003E\\u003C\\u002Ful\\u003E\\u003C\\u002Fdd\\u003E\\u003C\\u002Fdl\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"alert alert-danger\\\" *ngIf=\\\"hasBeenSubmitted && nodeForm.invalid\\\"\\u003ESorry, error(s) prevented this form from being submitted. Please correct any errors indicated below and try again.\\u003Cul class=\\\"mb-0\\\"\\u003E\\u003Cli *ngIf=\\\"nodeForm.controls.title.errors\\\"\\u003EThe \\u003Cstrong\\u003ETitle\\u003C\\u002Fstrong\\u003E must be between 3 and 150 characters in length.\\u003C\\u002Fli\\u003E\\u003C\\u002Ful\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"row form-group\\\"\\u003E\\u003Clabel class=\\\"col-sm-4 col-form-label\\\" for=\\\"title\\\"\\u003EProduct Category or Name\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"col-sm-8\\\"\\u003E\\u003Cinput class=\\\"form-control\\\" name=\\\"title\\\" type=\\\"text\\\" formControlName=\\\"title\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"row form-group\\\"\\u003E\\u003Clabel class=\\\"col-sm-4 col-form-label form-check-label\\\" for=\\\"isInternal\\\"\\u003EInternal Only\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"col-sm-8\\\"\\u003E\\u003Capp-switch label=\\\"Test\\\" formControlName=\\\"isInternal\\\"\\u003E\\u003C\\u002Fapp-switch\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"row form-group\\\"\\u003E\\u003Clabel class=\\\"col-sm-4 col-form-label form-check-label\\\" for=\\\"isSaas\\\"\\u003ESaas Only\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"col-sm-8\\\"\\u003E\\u003Capp-switch label=\\\"Test\\\" formControlName=\\\"isSaas\\\"\\u003E\\u003C\\u002Fapp-switch\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"row form-group\\\"\\u003E\\u003Clabel class=\\\"col-sm-4 col-form-label\\\" for=\\\"maturityLevel\\\"\\u003EMaturity Level\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"col-sm-8\\\"\\u003E\\u003Cselect class=\\\"form-control\\\" name=\\\"maturityLevel\\\" formControlName=\\\"maturityLevel\\\" aria-describedby=\\\"maturityHelpBlock\\\"\\u003E\\u003Coption value=\\\"\\\"\\u003E\\u003C\\u002Foption\\u003E\\u003Coption value=\\\"beta release\\\"\\u003EBeta Release\\u003C\\u002Foption\\u003E\\u003Coption value=\\\"early release\\\"\\u003EEarly Release\\u003C\\u002Foption\\u003E\\u003Coption value=\\\"new release\\\"\\u003ENew Release\\u003C\\u002Foption\\u003E\\u003C\\u002Fselect\\u003E\\u003Csmall class=\\\"form-text text-muted\\\" id=\\\"maturityHelpBlock\\\"\\u003EWhen selection is left blank, Maturity Level is \\u003Cstrong\\u003EGeneral Release\\u003C\\u002Fstrong\\u003E\\u003C\\u002Fsmall\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"row form-group\\\"\\u003E\\u003Clabel class=\\\"col-sm-4 col-form-label form-check-label\\\" for=\\\"feedbackPrompt\\\"\\u003EFeedback Survey\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"col-sm-8\\\"\\u003E\\u003Capp-switch label=\\\"Test\\\" formControlName=\\\"feedbackPrompt\\\"\\u003E\\u003C\\u002Fapp-switch\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"card-footer text-right\\\"\\u003E\\u003Cbutton class=\\\"btn btn-secondary btn-sm mr-3\\\" (click)=\\\"close()\\\" [disabled]=\\\"nodeForm.disabled\\\"\\u003ECancel\\u003C\\u002Fbutton\\u003E\\u003Cbutton class=\\\"btn btn-primary btn-sm\\\" (click)=\\\"submit()\\\" [disabled]=\\\"nodeForm.disabled\\\"\\u003ESubmit\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fform\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cdiv *ngIf=\\\"articleDefinitions\\\"\\u003E\\u003Ch1\\u003ECreate New Article\\u003C\\u002Fh1\\u003E\\u003Cdiv class=\\\"row article-gallery\\\"\\u003E\\u003Cdiv class=\\\"col-md-6 col-lg-4 mb-4\\\" *ngFor=\\\"let definition of articleDefinitions\\\"\\u003E\\u003Cdiv class=\\\"card h-100\\\"\\u003E\\u003Cdiv class=\\\"card-header text-light bg-dark\\\"\\u003E{{definition.name}}\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"card-body\\\"\\u003E\\u003Cp\\u003E{{definition.description}}\\u003C\\u002Fp\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"card-footer bg-white\\\"\\u003E\\u003Ca class=\\\"btn btn-primary\\\" [routerLink]=\\\"["\\u002Farticle\\u002Fcreate", definition.id]\\\" role=\\\"button\\\"\\u003ECreate {{definition.name}}\\u003C\\u002Fa\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cdiv [formGroup]=\\\"formGroup\\\"\\u003E\\u003Cdiv class=\\\"versions\\\" *ngIf=\\\"!majorOnly\\\"\\u003E\\u003Cdiv class=\\\"row border-bottom mb-1\\\" *ngFor=\\\"let majorVer of ver\\\"\\u003E\\u003Cdiv class=\\\"col-sm-2\\\"\\u003E{{ majorVer.versionLabel }}\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-10 row\\\"\\u003E\\u003Cdiv class=\\\"col-sm-4 col-md-2\\\"\\u003E\\u003Clabel\\u003E\\u003Capp-tri-state-checkbox [form]=\\\"formGroup.get('affectedVersions')\\\" [childrenKey]=\\\"majorVer.versionMajor\\\" [appId]=\\\"majorVer.versionApplicationId\\\"\\u003E\\u003C\\u002Fapp-tri-state-checkbox\\u003E All\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-4 col-md-2\\\" *ngFor=\\\"let minor of majorVer.minorVersions\\\"\\u003E\\u003Clabel\\u003E\\u003Cinput type=\\\"checkbox\\\" [formControl]=\\\"formGroup.get('affectedVersions').get(minor.id)\\\"\\u003E {{ minor.versionLabel }}\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"row\\\" *ngIf=\\\"majorOnly\\\"\\u003E\\u003Cdiv class=\\\"col-sm-4 col-md-2\\\" *ngFor=\\\"let majorVer of ver\\\"\\u003E\\u003Clabel\\u003E\\u003Cinput type=\\\"checkbox\\\" [formControl]=\\\"formGroup.get('affectedVersions').get(majorVer.id)\\\"\\u003E {{ majorVer.versionLabel }}\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cdiv class=\\\"form-group\\\" [formGroup]=\\\"formGroup\\\"\\u003E\\u003Cejs-dropdownlist [dataSource]=\\\"data\\\" [fields]=\\\"categoryFields\\\" name=\\\"categoryId\\\" formControlName=\\\"categoryId\\\"\\u003E\\u003C\\u002Fejs-dropdownlist\\u003E\\u003C\\u002Fdiv\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cdiv [formGroup]=\\\"formGroup\\\"\\u003E\\u003Cejs-multiselect [dataSource]=\\\"data\\\" [fields]=\\\"remoteFields\\\" [query]=\\\"query\\\" mode=\\\"Box\\\" sortOrder=\\\"Ascending\\\" placeholder=\\\"Start typing to filter results...\\\" name=\\\"collaborators\\\" formControlName=\\\"collaborators\\\"\\u003E\\u003C\\u002Fejs-multiselect\\u003E\\u003C\\u002Fdiv\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cdiv *ngIf=\\\"article && definition\\\"\\u003E\\u003Cng-container *ngIf=\\\"!article.articleId\\\"\\u003E\\u003Ch2\\u003ECreate {{definition.name}}\\u003C\\u002Fh2\\u003E\\u003C\\u002Fng-container\\u003E\\u003Cng-container *ngIf=\\\"article.articleId\\\"\\u003E\\u003Ch2\\u003E{{definition.name}} {{article.articleId}}\\u003C\\u002Fh2\\u003E\\u003C\\u002Fng-container\\u003E\\u003Cdiv class=\\\"btn-toolbar mb-3\\\" role=\\\"toolbar\\\"\\u003E\\u003Cdiv class=\\\"btn-group btn-group-sm mr-2\\\" role=\\\"group\\\"\\u003E\\u003Cbutton class=\\\"btn btn-primary btn-sm\\\" title=\\\"Save Draft\\\" type=\\\"button\\\" (click)=\\\"saveArticle()\\\"\\u003E\\u003Cfa-icon icon=\\\"arrow-to-bottom\\\"\\u003E\\u003C\\u002Ffa-icon\\u003E Save\\u003C\\u002Fbutton\\u003E\\u003Cbutton class=\\\"btn btn-primary btn-sm border-left\\\" *ngIf=\\\"!article.articleId || article.version < 512\\\" title=\\\"Publish\\\" type=\\\"button\\\" (click)=\\\"saveArticle(true)\\\"\\u003E\\u003Cfa-icon icon=\\\"share-square\\\"\\u003E\\u003C\\u002Ffa-icon\\u003E Publish\\u003C\\u002Fbutton\\u003E\\u003Cdiv class=\\\"dropdown\\\" dropdown\\u003E\\u003Cbutton class=\\\"btn btn-primary btn-sm dropdown-toggle border-left dropdown\\\" *ngIf=\\\"article.articleId && article.version >= 512\\\" title=\\\"Publish\\\" type=\\\"button\\\" dropdownToggle\\u003E\\u003Cfa-icon icon=\\\"share-square\\\"\\u003E\\u003C\\u002Ffa-icon\\u003E Publish\\u003C\\u002Fbutton\\u003E\\u003Cdiv class=\\\"dropdown-menu\\\" id=\\\"publish-dropdown\\\" *dropdownMenu role=\\\"menu\\\" aria-labelledby=\\\"publish-dropdown\\\"\\u003E\\u003Cbutton class=\\\"btn-sm dropdown-item\\\" type=\\\"button\\\" title=\\\"Publish article with major changes\\\" (click)=\\\"saveArticle(true)\\\"\\u003EPublish\\u003C\\u002Fbutton\\u003E\\u003Cbutton class=\\\"btn-sm dropdown-item\\\" type=\\\"button\\\" title=\\\"Publish article with minor changes\\\" (click)=\\\"saveArticle(true, true)\\\"\\u003EPublish Minor Revision\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"btn-group btn-group-sm\\\" role=\\\"group\\\"\\u003E\\u003Cbutton class=\\\"btn btn-primary btn-sm\\\" title=\\\"preview\\\" type=\\\"button\\\" (click)=\\\"openPreviewModal()\\\"\\u003E\\u003Cfa-icon icon=\\\"eye\\\"\\u003E\\u003C\\u002Ffa-icon\\u003E Preview\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cform novalidate [formGroup]=\\\"articleFormGroup\\\"\\u003E\\u003Cdiv class=\\\"alert alert-danger\\\" *ngIf=\\\"hasBeenSubmitted && articleFormGroup.invalid\\\"\\u003ESorry, error(s) prevented this article from being submitted. Please correct any errors indicated below and try again.\\u003Cul class=\\\"mb-0\\\"\\u003E\\u003Cli *ngIf=\\\"articleFormGroup.controls.title.errors\\\"\\u003EThe \\u003Cstrong\\u003ETitle\\u003C\\u002Fstrong\\u003E must be between 5 and 300 characters in length.\\u003C\\u002Fli\\u003E\\u003Cli *ngIf=\\\"articleHasProperty('description') && articleFormGroup.controls.description.errors\\\"\\u003E\\u003Cstrong\\u003EDescription\\u003C\\u002Fstrong\\u003E detail must be entered.\\u003C\\u002Fli\\u003E\\u003Cli *ngIf=\\\"articleHasProperty('symptoms') && articleFormGroup.controls.symptoms.errors\\\"\\u003E\\u003Cstrong\\u003ESymptoms\\u003C\\u002Fstrong\\u003E detail must be entered.\\u003C\\u002Fli\\u003E\\u003Cli *ngIf=\\\"articleHasProperty('content') && articleFormGroup.controls.content.errors\\\"\\u003E\\u003Cstrong\\u003EContent\\u003C\\u002Fstrong\\u003E detail must be entered.\\u003C\\u002Fli\\u003E\\u003Cli *ngIf=\\\"articleHasProperty('resolution') && articleFormGroup.controls.resolution.errors\\\"\\u003E\\u003Cstrong\\u003EResolution\\u003C\\u002Fstrong\\u003E detail must be entered.\\u003C\\u002Fli\\u003E\\u003Cli *ngIf=\\\"articleFormGroup.controls.categoryId && articleFormGroup.controls.categoryId.errors\\\"\\u003E\\u003Cstrong\\u003ECategory\\u003C\\u002Fstrong\\u003E (Classification) must be selected.\\u003C\\u002Fli\\u003E\\u003Cli *ngIf=\\\"articleFormGroup.controls.classificationCode.errors\\\"\\u003EA \\u003Cstrong\\u003EClassification\\u003C\\u002Fstrong\\u003E must be selected.\\u003C\\u002Fli\\u003E\\u003Cli *ngIf=\\\"articleFormGroup.controls.targetedRoles && articleFormGroup.controls.targetedRoles.errors\\\"\\u003EAt least one \\u003Cstrong\\u003ETargeted Role\\u003C\\u002Fstrong\\u003E must be selected.\\u003C\\u002Fli\\u003E\\u003Cli *ngIf=\\\"articleFormGroup.controls.affectedVersionValidator && articleFormGroup.controls.affectedVersionValidator.errors\\\"\\u003EAt least one \\u003Cstrong\\u003EAffected Version\\u003C\\u002Fstrong\\u003E must be selected.\\u003C\\u002Fli\\u003E\\u003Cli *ngIf=\\\"articleFormGroup.controls.proposedCommonIssueTitle && articleFormGroup.controls.proposedCommonIssueTitle.errors\\\"\\u003E{{articleFormGroup.controls.proposedCommonIssueTitle.errors.proposedNode}}\\u003C\\u002Fli\\u003E\\u003Cli *ngIf=\\\"articleFormGroup.controls.technicalReviewerValidator && articleFormGroup.controls.technicalReviewerValidator.errors\\\"\\u003E\\u003Cstrong\\u003ETechnical Reviewer\\u003C\\u002Fstrong\\u003E must be selected.\\u003C\\u002Fli\\u003E\\u003Cli *ngIf=\\\"articleFormGroup.controls.expiration && articleFormGroup.controls.expiration.errors\\\"\\u003E\\u003Cstrong\\u003EExpiration\\u003C\\u002Fstrong\\u003E date must be entered.\\u003C\\u002Fli\\u003E\\u003C\\u002Ful\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"row\\\"\\u003E\\u003Cdiv class=\\\"col-sm-8 col-xl-9\\\"\\u003E\\u003Cdiv class=\\\"form-group\\\"\\u003E\\u003Clabel class=\\\"sr-only\\\" for=\\\"title\\\"\\u003ETitle\\u003C\\u002Flabel\\u003E\\u003Cinput class=\\\"form-control\\\" id=\\\"title\\\" placeholder=\\\"Descriptive Title\\\" formControlName=\\\"title\\\" maxlength=\\\"300\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003Ctabset #staticTabs\\u003E\\u003Ctab class=\\\"mb-3\\\" *ngIf=\\\"articleHasProperty('articleTargetedVersions')\\\"\\u003E\\u003Cng-template tabHeading\\u003EVersions\\u003C\\u002Fng-template\\u003E\\u003Cdiv class=\\\"card\\\"\\u003E\\u003Cdiv class=\\\"card-body\\\" *ngFor=\\\"let application of applications\\\"\\u003E\\u003Capp-widget class=\\\"mb-3\\\" [caption]=\\\"application.name + ' Affected Versions'\\\"\\u003E\\u003Capp-affected-versions [group]=\\\"articleFormGroup\\\" [article]=\\\"article\\\" [applicationId]=\\\"application.id\\\"\\u003E\\u003C\\u002Fapp-affected-versions\\u003E\\u003C\\u002Fapp-widget\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Ftab\\u003E\\u003Ctab *ngIf=\\\"articleHasProperty('description')\\\"\\u003E\\u003Cng-template tabHeading\\u003EDescription\\u003C\\u002Fng-template\\u003E\\u003Capp-markdown-property-editor [group]=\\\"articleFormGroup\\\" [options]=\\\"markdownOptions\\\" controlName=\\\"description\\\" [isRequired]=\\\"true\\\"\\u003E\\u003C\\u002Fapp-markdown-property-editor\\u003E\\u003C\\u002Ftab\\u003E\\u003Ctab *ngIf=\\\"articleHasProperty('symptoms')\\\"\\u003E\\u003Cng-template tabHeading\\u003ESymptoms\\u003C\\u002Fng-template\\u003E\\u003Capp-markdown-property-editor [group]=\\\"articleFormGroup\\\" [options]=\\\"markdownOptions\\\" controlName=\\\"symptoms\\\" [isRequired]=\\\"true\\\"\\u003E\\u003C\\u002Fapp-markdown-property-editor\\u003E\\u003C\\u002Ftab\\u003E\\u003Ctab *ngIf=\\\"articleHasProperty('content')\\\"\\u003E\\u003Cng-template tabHeading\\u003EContent\\u003C\\u002Fng-template\\u003E\\u003Capp-markdown-property-editor [group]=\\\"articleFormGroup\\\" [options]=\\\"markdownOptions\\\" controlName=\\\"content\\\" [isRequired]=\\\"true\\\"\\u003E\\u003C\\u002Fapp-markdown-property-editor\\u003E\\u003C\\u002Ftab\\u003E\\u003Ctab *ngIf=\\\"articleHasProperty('cause')\\\"\\u003E\\u003Cng-template tabHeading\\u003ECause\\u003C\\u002Fng-template\\u003E\\u003Capp-markdown-property-editor [group]=\\\"articleFormGroup\\\" [options]=\\\"markdownOptions\\\" controlName=\\\"cause\\\"\\u003E\\u003C\\u002Fapp-markdown-property-editor\\u003E\\u003C\\u002Ftab\\u003E\\u003Ctab *ngIf=\\\"articleHasProperty('resolution')\\\"\\u003E\\u003Cng-template tabHeading\\u003EResolution\\u003C\\u002Fng-template\\u003E\\u003Capp-markdown-property-editor [group]=\\\"articleFormGroup\\\" [options]=\\\"markdownOptions\\\" controlName=\\\"resolution\\\" [isRequired]=\\\"true\\\"\\u003E\\u003C\\u002Fapp-markdown-property-editor\\u003E\\u003C\\u002Ftab\\u003E\\u003Ctab *ngIf=\\\"articleHasProperty('additionalResources')\\\"\\u003E\\u003Cng-template tabHeading\\u003EAdditional Resources\\u003C\\u002Fng-template\\u003E\\u003Capp-markdown-property-editor [group]=\\\"articleFormGroup\\\" [options]=\\\"markdownOptions\\\" controlName=\\\"additionalResources\\\" [isRequired]=\\\"false\\\"\\u003E\\u003C\\u002Fapp-markdown-property-editor\\u003E\\u003C\\u002Ftab\\u003E\\u003Ctab *ngIf=\\\"articleHasProperty('moreInformation')\\\"\\u003E\\u003Cng-template tabHeading\\u003EInternal Information\\u003C\\u002Fng-template\\u003E\\u003Capp-markdown-property-editor [group]=\\\"articleFormGroup\\\" [options]=\\\"markdownOptions\\\" controlName=\\\"moreInformation\\\" [isRequired]=\\\"false\\\"\\u003E\\u003C\\u002Fapp-markdown-property-editor\\u003E\\u003C\\u002Ftab\\u003E\\u003Ctab *ngIf=\\\"true\\\"\\u003E\\u003Cng-template tabHeading\\u003EClassification\\u003C\\u002Fng-template\\u003E\\u003Cdiv class=\\\"card\\\"\\u003E\\u003Cdiv class=\\\"card-body\\\"\\u003E\\u003Clabel *ngIf=\\\"articleHasProperty("category")\\\"\\u003ECategory\\u003C\\u002Flabel\\u003E\\u003Capp-category-selector class=\\\"mb-3\\\" *ngIf=\\\"articleHasProperty("category")\\\" [group]=\\\"articleFormGroup\\\"\\u003E\\u003C\\u002Fapp-category-selector\\u003E\\u003Clabel *ngIf=\\\"articleHasProperty("category")\\\"\\u003EClassification\\u003C\\u002Flabel\\u003E\\u003Capp-proposed-node *ngIf=\\\"articleHasProperty("proposedCommonIssueTitle")\\\" [group]=\\\"articleFormGroup\\\"\\u003E\\u003C\\u002Fapp-proposed-node\\u003E\\u003Capp-classification-tree formControlName=\\\"classificationCode\\\"\\u003E\\u003C\\u002Fapp-classification-tree\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Ftab\\u003E\\u003Ctab *ngIf=\\\"true\\\"\\u003E\\u003Cng-template tabHeading\\u003ELog Phrases\\u003C\\u002Fng-template\\u003E\\u003Capp-log-phrases [group]=\\\"articleFormGroup\\\" [article]=\\\"article\\\"\\u003E\\u003C\\u002Fapp-log-phrases\\u003E\\u003C\\u002Ftab\\u003E\\u003C\\u002Ftabset\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col\\\"\\u003E\\u003Cdiv class=\\\"mb-3\\\" *ngIf=\\\"audiences.length > 1\\\"\\u003E\\u003Capp-widget caption=\\\"Audience\\\"\\u003E\\u003Cdiv class=\\\"form-group mb-0\\\"\\u003E\\u003Clabel class=\\\"sr-only\\\" for=\\\"audience\\\"\\u003EAudience\\u003C\\u002Flabel\\u003E\\u003Cejs-dropdownlist [dataSource]=\\\"audiences\\\" formControlName=\\\"audience\\\"\\u003E\\u003C\\u002Fejs-dropdownlist\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fapp-widget\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"mb-3\\\"\\u003E\\u003Capp-widget caption=\\\"Workflow\\\"\\u003E\\u003Cdiv class=\\\"form-group mb-2\\\"\\u003E\\u003Cdiv class=\\\"row\\\"\\u003E\\u003Cdiv class=\\\"col-4\\\"\\u003E\\u003Clabel\\u003EExpiration\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-6\\\"\\u003E\\u003Cejs-datepicker formControlName=\\\"expiration\\\" dateFormat=\\\"yyyy-MM-dd\\\" title=\\\"Optional date for when article will automatically be unpublished without follow-up review.\\\"\\u003E\\u003C\\u002Fejs-datepicker\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-group mb-0\\\" *ngIf=\\\"definition.id === 'troubleshooting' || definition.id === 'technicalreference' || definition.id === 'bestpractices' || definition.id === 'frequentlyaskedquestion'\\\"\\u003E\\u003Clabel\\u003ERequire Manual Publish\\n\\u003Cinput type=\\\"checkbox\\\" formControlName=\\\"isManualPublish\\\"\\u003E\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fapp-widget\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"mb-3\\\"\\u003E\\u003Capp-widget caption=\\\"Incident Reference\\\"\\u003E\\u003Cdiv class=\\\"form-group mb-0\\\"\\u003E\\u003Clabel class=\\\"sr-only\\\" for=\\\"incidentReference\\\"\\u003EIncident Reference\\u003C\\u002Flabel\\u003E\\u003Cinput class=\\\"form-control\\\" id=\\\"incidentReference\\\" placeholder=\\\"Ticket Number\\\" formControlName=\\\"incidentReference\\\" maxlength=\\\"20\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fapp-widget\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"mb-3\\\" *ngIf=\\\"(articleHasProperty('targetedRoles') || articleHasProperty('articleTargetRoles')) && definition.id == 'technicalnote'\\\"\\u003E\\u003Capp-widget caption=\\\"Targeted Roles\\\" [cardBody]=\\\"false\\\"\\u003E\\u003Capp-targeted-roles [group]=\\\"articleFormGroup\\\" [article]=\\\"article\\\"\\u003E\\u003C\\u002Fapp-targeted-roles\\u003E\\u003C\\u002Fapp-widget\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"mb-3\\\" *ngIf=\\\"articleHasProperty('articleContributors')\\\"\\u003E\\u003Capp-widget caption=\\\"Collaborators\\\"\\u003E\\u003Capp-collaborators [group]=\\\"articleFormGroup\\\" [article]=\\\"article\\\"\\u003E\\u003C\\u002Fapp-collaborators\\u003E\\u003C\\u002Fapp-widget\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"mb-3\\\" *ngIf=\\\"articleHasProperty('technicalReviewerId') && definition.id != 'solution' && definition.id != 'technicalnote'\\\"\\u003E\\u003Capp-widget caption=\\\"Technical Reviewer\\\"\\u003E\\u003Capp-technical-reviewer [group]=\\\"articleFormGroup\\\" [article]=\\\"article\\\"\\u003E\\u003C\\u002Fapp-technical-reviewer\\u003E\\u003C\\u002Fapp-widget\\u003E\\u003C\\u002Fdiv\\u003E\\u003Capp-widget class=\\\"mb-3\\\" *ngIf=\\\"article.articleId\\\" caption=\\\"Comments\\\"\\u003E\\u003Capp-comment-threads [threadId]=\\\"threadId\\\" [threadTitle]=\\\"article.title\\\" [referenceId]=\\\"article.articleId\\\" [referenceVersion]=\\\"article.version\\\"\\u003E\\u003C\\u002Fapp-comment-threads\\u003E\\u003C\\u002Fapp-widget\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fform\\u003E\\u003C\\u002Fdiv\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cdiv class=\\\"card\\\"\\u003E\\u003Cdiv class=\\\"card-body\\\"\\u003E\\u003Cul\\u003E\\u003Cli\\u003ELog Phrases are the generic error messages found in the Commvault log files that are extracted from the log file and used when searching Alexandria for solutions.\\u003C\\u002Fli\\u003E\\u003Cli\\u003EThis section is \\u003Cstrong\\u003Eoptional\\u003C\\u002Fstrong\\u003E, and will generally be filled in during the article approval process.\\u003C\\u002Fli\\u003E\\u003Cli\\u003EPlease enter normal log cuts in the main content of the article.\\u003C\\u002Fli\\u003E\\u003Cli\\u003EFor more details on this feature please see the article \\u003Ca href=\\\"https:\\u002F\\u002Fconnect.commvault.com\\u002Fgroups\\u002Fapss\\u002Fblog\\u002F2018\\u002F02\\u002F28\\u002Falexandria-log-key-phrases\\\" target=\\\"_blank\\\"\\u003Ehere.\\u003C\\u002Fa\\u003E\\u003C\\u002Fli\\u003E\\u003C\\u002Ful\\u003E\\u003Cdiv [formGroup]=\\\"formGroup\\\"\\u003E\\u003Cdiv formArrayName=\\\"logPhrases\\\"\\u003E\\u003Cdiv class=\\\"card mb-3\\\" *ngFor=\\\"let logPhrase of getControls("logPhrases"); let i = index;\\\"\\u003E\\u003Cdiv class=\\\"card-header\\\"\\u003ELog Phrase\\u003Cbutton class=\\\"close\\\" type=\\\"button\\\" data-dismiss=\\\"alert\\\" aria-label=\\\"Close\\\" (click)=\\\"removeLogPhrase(i)\\\"\\u003E\\u003Cspan aria-hidden=\\\"true\\\"\\u003E×\\u003C\\u002Fspan\\u003E\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"card-body\\\" [formGroupName]=\\\"i\\\"\\u003E\\u003Cdiv class=\\\"form-row\\\"\\u003E\\u003Cdiv class=\\\"col-sm-6 form-group\\\"\\u003E\\u003Clabel\\u003EFilename\\u003C\\u002Flabel\\u003E\\u003Cinput class=\\\"form-control input-sm\\\" placeholder=\\\"JobManager.log\\\" formControlName=\\\"filename\\\" maxlength=\\\"50\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm form-group\\\"\\u003E\\u003Clabel\\u003EPhrase\\u003C\\u002Flabel\\u003E\\u003Cinput class=\\\"form-control input-sm\\\" placeholder=\\\"Communications Service returned error when executing remote command [CvPostOps.exe]\\\" formControlName=\\\"phrase\\\" maxlength=\\\"100\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cbutton class=\\\"btn btn-link\\\" (click)=\\\"addLogPhrase()\\\"\\u003E\\u003Csmall\\u003EAdd Log Phrase +\\u003C\\u002Fsmall\\u003E\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cdiv class=\\\"card\\\" [formGroup]=\\\"formGroup\\\"\\u003E\\u003Cdiv class=\\\"card-body\\\"\\u003E\\u003Capp-markdown-editor [options]=\\\"options\\\" [formControlName]=\\\"controlName\\\"\\u003E\\u003C\\u002Fapp-markdown-editor\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cdiv class=\\\"form-group\\\" [formGroup]=\\\"formGroup\\\"\\u003E\\u003Cinput class=\\\"form-control\\\" placeholder=\\\"New Common Issue Title\\\" formControlName=\\\"proposedCommonIssueTitle\\\"\\u003E\\u003C\\u002Fdiv\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cul class=\\\"list-group list-group-flush\\\" *ngIf=\\\"roles\\\"\\u003E\\u003Cli class=\\\"list-group-item\\\" [formGroup]=\\\"checkboxGroup\\\"\\u003E\\u003Cdiv class=\\\"row\\\" formArrayName=\\\"items\\\"\\u003E\\u003Cdiv class=\\\"col-md-6\\\" *ngFor=\\\"let role of getControls("items"); let i = index\\\"\\u003E\\u003Cdiv class=\\\"form-check\\\"\\u003E\\u003Clabel class=\\\"form-check-label\\\"\\u003E\\u003Cinput class=\\\"form-check-input\\\" type=\\\"checkbox\\\" [formControlName]=\\\"i\\\"\\u003E {{roles[i].name}}\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fli\\u003E\\u003C\\u002Ful\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cdiv [formGroup]=\\\"formGroup\\\"\\u003E\\u003Cejs-multiselect [dataSource]=\\\"data\\\" [fields]=\\\"remoteFields\\\" [query]=\\\"query\\\" [maximumSelectionLength]=\\\"1\\\" sortOrder=\\\"Ascending\\\" placeholder=\\\"Start typing to filter results...\\\" name=\\\"technicalReviewerIdForm\\\" formControlName=\\\"technicalReviewerIdForm\\\"\\u003E\\u003C\\u002Fejs-multiselect\\u003E\\u003C\\u002Fdiv\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cdiv class=\\\"page-header\\\"\\u003E\\u003Ch2\\u003EManage Articles\\u003C\\u002Fh2\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"btn-toolbar justify-content-between mb-3\\\" role=\\\"toolbar\\\"\\u003E\\u003Cdiv class=\\\"btn-group btn-group-sm align-items-center\\\" role=\\\"group\\\"\\u003E\\u003Cdiv class=\\\"btn-group btn-group-sm\\\" dropdown\\u003E\\u003Ca class=\\\"btn btn-success\\\" [routerLink]=\\\"['\\u002Farticle\\u002Fcreate']\\\"\\u003E\\u003Cfa-icon icon=\\\"pencil-alt\\\"\\u003E\\u003C\\u002Ffa-icon\\u003E Create Article\\u003C\\u002Fa\\u003E\\u003Cbutton class=\\\"btn btn-success dropdown-toggle\\\" type=\\\"button\\\" dropdownToggle aria-controls=\\\"create-button\\\"\\u003E\\u003C\\u002Fbutton\\u003E\\u003Cbutton class=\\\"btn btn-sm btn-primary ml-2\\\" title=\\\"Refresh View\\\" (click)=\\\"onRefresh()\\\"\\u003E\\u003Cfa-icon icon=\\\"sync\\\"\\u003E\\u003C\\u002Ffa-icon\\u003E\\nRefresh\\u003Cspan class=\\\"caret\\\"\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fbutton\\u003E\\u003Cdiv\\u003E\\u003Cul class=\\\"dropdown-menu\\\" *dropdownMenu role=\\\"menu\\\" aria-labelledby=\\\"create-button\\\"\\u003E\\u003Cli *ngFor=\\\"let definition of definitions\\\"\\u003E\\u003Ca class=\\\"dropdown-item\\\" [routerLink]=\\\"['\\u002Farticle\\u002Fcreate\\u002F' + definition.id]\\\"\\u003E{{definition.name}}\\u003C\\u002Fa\\u003E\\u003C\\u002Fli\\u003E\\u003C\\u002Ful\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-inline\\\" *ngIf=\\\"!!viewOptions\\\"\\u003E\\u003Clabel class=\\\"control-label\\\"\\u003EView \\u003C\\u002Flabel\\u003E\\u003Cselect class=\\\"form-control input-sm\\\" name=\\\"view\\\" (change)=\\\"onViewChange($event.target.value)\\\"\\u003E\\u003Coption *ngFor=\\\"let item of viewOptions\\\" value=\\\"{{ item.key }}\\\" [attr.selected]=\\\"item.key == activeView ? '' : null\\\"\\u003E{{ item.name }}\\u003C\\u002Foption\\u003E\\u003C\\u002Fselect\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv *ngIf=\\\"!!manageArticleResults\\\"\\u003E\\u003Cejs-grid #articlesGrid [dataSource]=\\\"manageArticleResults\\\" allowTextWrap=\\\"true\\\" [allowPaging]=\\\"true\\\" [pageSettings]=\\\"pageOptions\\\" [allowSorting]=\\\"true\\\" [sortSettings]=\\\"sortOptions\\\" [allowFiltering]=\\\"true\\\" [filterSettings]=\\\"filterOptions\\\" [query]=\\\"query\\\" (actionBegin)=\\\"onBeginGridAction($event)\\\"\\u003E\\u003Ce-columns\\u003E\\u003Ce-column field=\\\"discriminator\\\" headerText=\\\"Article Type\\\" width=\\\"170\\\" [filter]=\\\"discriminatorFilter\\\"\\u003E\\u003C\\u002Fe-column\\u003E\\u003Ce-column field=\\\"articleId\\\" headerText=\\\"Id\\\" width=\\\"90\\\" type=\\\"number\\\" format=\\\"##########\\\"\\u003E\\u003C\\u002Fe-column\\u003E\\u003Ce-column field=\\\"versionLabel\\\" headerText=\\\"Version\\\" width=\\\"110\\\" type=\\\"string\\\"\\u003E\\u003C\\u002Fe-column\\u003E\\u003Ce-column field=\\\"workflowState\\\" headerText=\\\"State\\\" width=\\\"140\\\" [filter]=\\\"workflowStateFilter\\\"\\u003E\\u003C\\u002Fe-column\\u003E\\u003Ce-column field=\\\"title\\\" headerText=\\\"Title\\\"\\u003E\\u003Cng-template #template let-data\\u003E\\u003Ca routerLink=\\\"\\u002Farticle\\u002Fdetails\\u002F{{ data.articleId }}\\u002F{{ data.version }}\\\"\\u003E{{ data.title }}\\u003C\\u002Fa\\u003E\\u003C\\u002Fng-template\\u003E\\u003C\\u002Fe-column\\u003E\\u003Ce-column field=\\\"classificationText\\\" headerText=\\\"Classification\\\"\\u003E\\u003C\\u002Fe-column\\u003E\\u003Ce-column field=\\\"author.userName\\\" headerText=\\\"Author\\\" width=\\\"200\\\"\\u003E\\u003C\\u002Fe-column\\u003E\\u003Ce-column field=\\\"modified\\\" headerText=\\\"Last Modified\\\" type=\\\"date\\\" format=\\\"yMd\\\" width=\\\"160\\\"\\u003E\\u003C\\u002Fe-column\\u003E\\u003Ce-column field=\\\"affectedApplications\\\" headerText=\\\"Affected Applications\\\" type=\\\"string\\\" width=\\\"205\\\" [filter]=\\\"affectedApplicationsFilter\\\"\\u003E\\u003C\\u002Fe-column\\u003E\\u003Ce-column width=\\\"70\\\"\\u003E\\u003Cng-template #template let-data\\u003E\\u003Cdiv class=\\\"text-center\\\"\\u003E\\u003Ca class=\\\"btn btn-primary\\\" routerLink=\\\"\\u002Farticle\\u002Fedit\\u002F{{ data.articleId }}\\u002F{{ data.version }}\\\"\\u003E\\u003Cspan\\u003E\\u003Cfa-icon icon=\\\"edit\\\"\\u003E\\u003C\\u002Ffa-icon\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fa\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fng-template\\u003E\\u003C\\u002Fe-column\\u003E\\u003C\\u002Fe-columns\\u003E\\u003C\\u002Fejs-grid\\u003E\\u003C\\u002Fdiv\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cdiv class=\\\"alert-box\\\"\\u003E\\u003Cdiv class=\\\"modal-header\\\"\\u003E\\u003Ch4 class=\\\"modal-title\\\"\\u003EPublish article\\u003C\\u002Fh4\\u003E\\u003Cbutton class=\\\"close\\\" type=\\\"button\\\" aria-label=\\\"Close\\\" (click)=\\\"onCancel()\\\"\\u003E\\u003Cspan aria-hidden=\\\"true\\\"\\u003E×\\u003C\\u002Fspan\\u003E\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"modal-body\\\"\\u003E\\u003Cdiv class=\\\"alert alert-danger\\\" *ngIf=\\\"submittedOnce && formGroup.invalid\\\"\\u003ESorry, error(s) prevented this form from being submitted. Please correct any errors indicated below and try again.\\u003Cul class=\\\"mb-0\\\"\\u003E\\u003Cli *ngIf=\\\"formGroup.controls.comment.errors\\\"\\u003EThe \\u003Cstrong\\u003EComment\\u003C\\u002Fstrong\\u003E must be at least 5 characters in length.\\u003C\\u002Fli\\u003E\\u003C\\u002Ful\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv [formGroup]=\\\"formGroup\\\"\\u003E\\u003Clabel for=\\\"comment\\\"\\u003EComment\\u003C\\u002Flabel\\u003E\\u003Ctextarea class=\\\"form-control\\\" id=\\\"comment\\\" formControlName=\\\"comment\\\" rows=\\\"3\\\" placeholder=\\\"Provide optional comment on why you are performing the action you are.\\\"\\u003E\\u003C\\u002Ftextarea\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"modal-footer\\\"\\u003E\\u003Cbutton class=\\\"btn btn-secondary btn-sm\\\" type=\\\"button\\\" (click)=\\\"onConfirm()\\\"\\u003ESave\\u003C\\u002Fbutton\\u003E\\u003Cbutton class=\\\"btn btn-secondary btn-sm\\\" type=\\\"button\\\" (click)=\\\"onCancel()\\\"\\u003ECancel\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cdiv class=\\\"ml-1\\\" *ngIf=\\\"article.articleTypeLabel !== "Troubleshooting" && article.articleTypeLabel !== "Frequently Asked Question" && article.articleTypeLabel !== "Best Practices" && article.articleTypeLabel !== "Technical Reference"\\\"\\u003E\\u003Cdiv class=\\\"badge badge-primary\\\" *ngIf=\\\"article.version && article.version > 0\\\"\\u003E{{ article.version | articleFriendly }}\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"badge badge-dark ml-1\\\" *ngIf=\\\"article.isMinorRevision\\\"\\u003EMinor Revision\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"badge badge-danger ml-1\\\" *ngIf=\\\"article.deletionId\\\"\\u003EDELETED\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"badge badge-dark ml-1\\\" *ngIf=\\\"article.workflowState != 'Unpublished' && !article.unpublished\\\"\\u003E{{ article.workflowStateLabel }}\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"badge badge-dark ml-1\\\" *ngIf=\\\"article.unpublished\\\"\\u003EUnpublished\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"badge badge-info ml-1\\\" *ngIf=\\\"latestVersion && article.version != latestVersion\\\"\\u003EThe latest version is \\u003Ca class=\\\"text-dark\\\" [routerLink]=\\\"['\\u002Farticle\\u002Fdetails', article.articleId, latestVersion]\\\"\\u003E{{ latestVersion | articleFriendly }}\\u003C\\u002Fa\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"ml-1\\\" *ngIf=\\\"article.articleTypeLabel === "Troubleshooting" || article.articleTypeLabel === "Frequently Asked Question" || article.articleTypeLabel === "Best Practices" || article.articleTypeLabel === "Technical Reference"\\\"\\u003E\\u003Cdiv class=\\\"badge badge-primary\\\" *ngIf=\\\"article.version && article.version > 0\\\"\\u003E{{ article.version | articleFriendly }}\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"badge badge-dark ml-1\\\" *ngIf=\\\"article.isMinorRevision\\\"\\u003EMinor Revision\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"badge badge-danger ml-1\\\" *ngIf=\\\"article.deletionId\\\"\\u003EDELETED\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"badge badge-dark ml-1\\\" *ngIf=\\\"article.workflowState == "Draft"\\\"\\u003EDraft\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"badge badge-dark ml-1\\\" *ngIf=\\\"article.workflowState == "TechnicalReview"\\\"\\u003ETechnical Review\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"badge badge-dark ml-1\\\" *ngIf=\\\"article.workflowState == "EditorialReview"\\\"\\u003EEditorial Review\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"badge badge-dark ml-1\\\" *ngIf=\\\"article.workflowState == "Approved"\\\"\\u003EPending Publish\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"badge badge-dark ml-1\\\" *ngIf=\\\"article.workflowState == "Reviewed"\\\"\\u003EPublished\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"badge badge-dark ml-1\\\" *ngIf=\\\"article.workflowState == "Unpublished"\\\"\\u003EUnpublished\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"badge badge-info ml-1\\\" *ngIf=\\\"latestVersion && article.version != latestVersion\\\"\\u003EThe latest version is \\u003Ca class=\\\"text-dark\\\" [routerLink]=\\\"['\\u002Farticle\\u002Fdetails', article.articleId, latestVersion]\\\"\\u003E{{ latestVersion | articleFriendly }}\\u003C\\u002Fa\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cdiv class=\\\"card\\\" *ngIf=\\\"rightArticle && leftArticle\\\"\\u003E\\u003Cdiv class=\\\"card-header text-light bg-dark d-flex justify-content-between\\\"\\u003E\\u003Cdiv\\u003E{{ rightArticle.articleTypeLabel }} Article {{ rightArticle.articleId }} Comparison\\u003C\\u002Fdiv\\u003E\\u003Cdiv\\u003E\\u003Clabel\\u003E\\u003Cinput type=\\\"checkbox\\\" (change)=\\\"toggleRightColumn()\\\"\\u003E Show v{{ rightArticle.version | articleFriendly }} column\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"card-body\\\"\\u003E\\u003Cdiv class=\\\"row\\\"\\u003E\\u003Cdiv class=\\\"col-2\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col p-1\\\"\\u003E\\u003Cdiv\\u003E\\u003Ca [routerLink]=\\\"['\\u002F', 'article', 'details', leftArticle.articleId, leftArticle.version]\\\"\\u003Ev{{ leftArticle.version | articleFriendly }}\\u003C\\u002Fa\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv\\u003E{{ leftArticle.modified | amLocal | amDateFormat: 'dddd, MMMM Do YYYY, h:mm a' }}\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col p-1\\\" *ngIf=\\\"showRightColumn\\\"\\u003E\\u003Cdiv\\u003E\\u003Ca [routerLink]=\\\"['\\u002F', 'article', 'details', rightArticle.articleId, rightArticle.version]\\\"\\u003Ev{{ rightArticle.version | articleFriendly }}\\u003C\\u002Fa\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv\\u003E{{ rightArticle.modified | amLocal | amDateFormat: 'dddd, MMMM Do YYYY, h:mm a' }}\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col p-1\\\"\\u003E\\u003Cdiv\\u003E\\u003Ca [routerLink]=\\\"['\\u002F', 'article', 'details', rightArticle.articleId, rightArticle.version]\\\"\\u003Ev{{ rightArticle.version | articleFriendly }}\\u003C\\u002Fa\\u003E with differences highlighted\\u003C\\u002Fdiv\\u003E\\u003Cdiv\\u003E{{ rightArticle.modified | amLocal | amDateFormat: 'dddd, MMMM Do YYYY, h:mm a' }}\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"row compare-row\\\"\\u003E\\u003Cdiv class=\\\"col-2\\\"\\u003ETitle\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col p-1\\\"\\u003E\\u003Cpre class=\\\"form-control\\\" [innerHTML]=\\\"leftArticle.title\\\"\\u003E\\u003C\\u002Fpre\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col p-1\\\" *ngIf=\\\"showRightColumn\\\"\\u003E\\u003Cpre class=\\\"form-control\\\" [innerHTML]=\\\"rightArticle.title\\\"\\u003E\\u003C\\u002Fpre\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col p-1\\\"\\u003E\\u003Cpre class=\\\"form-control\\\" lineDiff [left]=\\\"leftArticle.title || '- empty -'\\\" [right]=\\\"rightArticle.title || '- empty -'\\\"\\u003E\\u003C\\u002Fpre\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"row compare-row\\\" *ngIf=\\\"hasProperty(leftArticle, "articleContributors") || hasProperty(rightArticle, "articleContributors")\\\"\\u003E\\u003Cdiv class=\\\"col-2\\\"\\u003EContributors\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col p-1\\\"\\u003E\\u003Cpre class=\\\"form-control\\\" [innerHTML]=\\\"contributorsToString(leftArticle.articleContributors) || '- empty -'\\\"\\u003E\\u003C\\u002Fpre\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col p-1\\\" *ngIf=\\\"showRightColumn\\\"\\u003E\\u003Cpre class=\\\"form-control\\\" [innerHTML]=\\\"contributorsToString(rightArticle.articleContributors) || '- empty -'\\\"\\u003E\\u003C\\u002Fpre\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col p-1\\\"\\u003E\\u003Cpre class=\\\"form-control\\\" lineDiff [left]=\\\"contributorsToString(leftArticle.articleContributors) || '- empty -'\\\" [right]=\\\"contributorsToString(rightArticle.articleContributors) || '- empty -'\\\"\\u003E\\u003C\\u002Fpre\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"row compare-row\\\" *ngIf=\\\"hasProperty(leftArticle, "classificationText") || hasProperty(rightArticle, "classificationText")\\\"\\u003E\\u003Cdiv class=\\\"col-2\\\"\\u003EClassification\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col p-1\\\"\\u003E\\u003Cpre class=\\\"form-control\\\" [innerHTML]=\\\"leftArticle.classificationText || '- empty -'\\\"\\u003E\\u003C\\u002Fpre\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col p-1\\\" *ngIf=\\\"showRightColumn\\\"\\u003E\\u003Cpre class=\\\"form-control\\\" [innerHTML]=\\\"rightArticle.classificationText || '- empty -'\\\"\\u003E\\u003C\\u002Fpre\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col p-1\\\"\\u003E\\u003Cpre class=\\\"form-control\\\" lineDiff [left]=\\\"leftArticle.classificationText || '- empty -'\\\" [right]=\\\"rightArticle.classificationText || '- empty -'\\\"\\u003E\\u003C\\u002Fpre\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"row compare-row\\\" *ngIf=\\\"hasProperty(leftArticle, "incidentReference") || hasProperty(rightArticle, "incidentReference")\\\"\\u003E\\u003Cdiv class=\\\"col-2\\\"\\u003EIncident Reference\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col p-1\\\"\\u003E\\u003Cpre class=\\\"form-control\\\" [innerHTML]=\\\"leftArticle.incidentReference || '- empty -'\\\"\\u003E\\u003C\\u002Fpre\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col p-1\\\" *ngIf=\\\"showRightColumn\\\"\\u003E\\u003Cpre class=\\\"form-control\\\" [innerHTML]=\\\"rightArticle.incidentReference || '- empty -'\\\"\\u003E\\u003C\\u002Fpre\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col p-1\\\"\\u003E\\u003Cpre class=\\\"form-control\\\" lineDiff [left]=\\\"leftArticle.incidentReference || '- empty -'\\\" [right]=\\\"rightArticle.incidentReference || '- empty -'\\\"\\u003E\\u003C\\u002Fpre\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"row compare-row\\\"\\u003E\\u003Cdiv class=\\\"col-2\\\"\\u003EAudience\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col p-1\\\"\\u003E\\u003Cpre class=\\\"form-control\\\" [innerHTML]=\\\"leftArticle.audience\\\"\\u003E\\u003C\\u002Fpre\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col p-1\\\" *ngIf=\\\"showRightColumn\\\"\\u003E\\u003Cpre class=\\\"form-control\\\" [innerHTML]=\\\"rightArticle.audience\\\"\\u003E\\u003C\\u002Fpre\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col p-1\\\"\\u003E\\u003Cpre class=\\\"form-control\\\" lineDiff [left]=\\\"leftArticle.audience || '- empty -'\\\" [right]=\\\"rightArticle.audience || '- empty -'\\\"\\u003E\\u003C\\u002Fpre\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"row compare-row\\\"\\u003E\\u003Cdiv class=\\\"col-2\\\"\\u003EExpiration\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col p-1\\\"\\u003E\\u003Cpre class=\\\"form-control\\\" [innerHTML]=\\\"dateToString(leftArticle.expiration)\\\"\\u003E\\u003C\\u002Fpre\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col p-1\\\" *ngIf=\\\"showRightColumn\\\"\\u003E\\u003Cpre class=\\\"form-control\\\" [innerHTML]=\\\"dateToString(rightArticle.expiration)\\\"\\u003E\\u003C\\u002Fpre\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col p-1\\\"\\u003E\\u003Cpre class=\\\"form-control\\\" lineDiff [left]=\\\"dateToString(leftArticle.expiration) || '- empty -'\\\" [right]=\\\"dateToString(rightArticle.expiration) || '- empty -'\\\"\\u003E\\u003C\\u002Fpre\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"row compare-row\\\" *ngIf=\\\"(rightArticle.articleTypeLabel | lowercase) === 'troubleshooting' || (rightArticle.articleTypeLabel | lowercase) === 'technicalreference' || (rightArticle.articleTypeLabel | lowercase) === 'technical reference' || (rightArticle.articleTypeLabel | lowercase) === 'bestpractices' || (rightArticle.articleTypeLabel | lowercase) === 'best practices' || (rightArticle.articleTypeLabel | lowercase) === 'frequentlyaskedquestion' || (rightArticle.articleTypeLabel | lowercase) === 'frequently asked question'\\\"\\u003E\\u003Cdiv class=\\\"col-2\\\"\\u003ERequire Manual Publish\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col p-1\\\"\\u003E\\u003Cpre class=\\\"form-control\\\" [innerHTML]=\\\"(leftArticle.isManualPublish ? 'True' : 'False')\\\"\\u003E\\u003C\\u002Fpre\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col p-1\\\" *ngIf=\\\"showRightColumn\\\"\\u003E\\u003Cpre class=\\\"form-control\\\" [innerHTML]=\\\"(rightArticle.isManualPublish ? 'True' : 'False')\\\"\\u003E\\u003C\\u002Fpre\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col p-1\\\"\\u003E\\u003Cpre class=\\\"form-control\\\" lineDiff [left]=\\\"(leftArticle.isManualPublish ? 'True' : 'False') || '- empty -'\\\" [right]=\\\"(rightArticle.isManualPublish ? 'True' : 'False') || '- empty -'\\\"\\u003E\\u003C\\u002Fpre\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"row compare-row\\\" *ngIf=\\\"hasProperty(leftMetadata, "targetedRoles") || hasProperty(rightMetadata, "targetedRoles")\\\"\\u003E\\u003Cdiv class=\\\"col-2\\\"\\u003ETargeted Roles\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col p-1\\\"\\u003E\\u003Cpre class=\\\"form-control\\\" [innerHTML]=\\\"targetedRolesToString(leftMetadata.targetedRoles) || '- empty -'\\\"\\u003E\\u003C\\u002Fpre\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col p-1\\\" *ngIf=\\\"showRightColumn\\\"\\u003E\\u003Cpre class=\\\"form-control\\\" [innerHTML]=\\\"targetedRolesToString(rightMetadata.targetedRoles) || '- empty -'\\\"\\u003E\\u003C\\u002Fpre\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col p-1\\\"\\u003E\\u003Cpre class=\\\"form-control\\\" lineDiff [left]=\\\"targetedRolesToString(leftMetadata.targetedRoles) || '- empty -'\\\" [right]=\\\"targetedRolesToString(rightMetadata.targetedRoles) || '- empty -'\\\"\\u003E\\u003C\\u002Fpre\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"row compare-row\\\" *ngIf=\\\"hasProperty(leftArticle, "articleTargetedVersions") || hasProperty(rightArticle, "articleTargetedVersions")\\\"\\u003E\\u003Cdiv class=\\\"col-2\\\"\\u003EAffected Versions\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col p-1\\\"\\u003E\\u003Cpre class=\\\"form-control\\\" [innerHTML]=\\\"versionsToString(leftArticle.articleTargetedVersions) || '- empty -'\\\"\\u003E\\u003C\\u002Fpre\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col p-1\\\" *ngIf=\\\"showRightColumn\\\"\\u003E\\u003Cpre class=\\\"form-control\\\" [innerHTML]=\\\"versionsToString(rightArticle.articleTargetedVersions) || '- empty -'\\\"\\u003E\\u003C\\u002Fpre\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col p-1\\\"\\u003E\\u003Cpre class=\\\"form-control\\\" lineDiff [left]=\\\"versionsToString(leftArticle.articleTargetedVersions) || '- empty -'\\\" [right]=\\\"versionsToString(rightArticle.articleTargetedVersions) || '- empty -'\\\"\\u003E\\u003C\\u002Fpre\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"row compare-row\\\" *ngIf=\\\"hasProperty(leftArticle, "content") || hasProperty(rightArticle, "content")\\\"\\u003E\\u003Cdiv class=\\\"col-2\\\"\\u003EContent\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col p-1\\\"\\u003E\\u003Cpre class=\\\"form-control\\\" [innerHTML]=\\\"leftArticle.content || '- empty -'\\\"\\u003E\\u003C\\u002Fpre\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col p-1\\\" *ngIf=\\\"showRightColumn\\\"\\u003E\\u003Cpre class=\\\"form-control\\\" [innerHTML]=\\\"rightArticle.content || '- empty -'\\\"\\u003E\\u003C\\u002Fpre\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col p-1\\\"\\u003E\\u003Cpre class=\\\"form-control\\\" lineDiff [left]=\\\"leftArticle.content || '- empty -'\\\" [right]=\\\"rightArticle.content || '- empty -'\\\"\\u003E\\u003C\\u002Fpre\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"row compare-row\\\" *ngIf=\\\"hasProperty(leftArticle, "symptoms") || hasProperty(rightArticle, "symptoms")\\\"\\u003E\\u003Cdiv class=\\\"col-2\\\"\\u003ESymptoms\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col p-1\\\"\\u003E\\u003Cpre class=\\\"form-control\\\" [innerHTML]=\\\"leftArticle.symptoms || '- empty -'\\\"\\u003E\\u003C\\u002Fpre\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col p-1\\\" *ngIf=\\\"showRightColumn\\\"\\u003E\\u003Cpre class=\\\"form-control\\\" [innerHTML]=\\\"rightArticle.symptoms || '- empty -'\\\"\\u003E\\u003C\\u002Fpre\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col p-1\\\"\\u003E\\u003Cpre class=\\\"form-control\\\" lineDiff [left]=\\\"leftArticle.symptoms || '- empty -'\\\" [right]=\\\"rightArticle.symptoms || '- empty -'\\\"\\u003E\\u003C\\u002Fpre\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"row compare-row\\\" *ngIf=\\\"hasProperty(leftArticle, "cause") || hasProperty(rightArticle, "cause")\\\"\\u003E\\u003Cdiv class=\\\"col-2\\\"\\u003ECause\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col p-1\\\"\\u003E\\u003Cpre class=\\\"form-control\\\" [innerHTML]=\\\"leftArticle.cause || '- empty -'\\\"\\u003E\\u003C\\u002Fpre\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col p-1\\\" *ngIf=\\\"showRightColumn\\\"\\u003E\\u003Cpre class=\\\"form-control\\\" [innerHTML]=\\\"rightArticle.cause || '- empty -'\\\"\\u003E\\u003C\\u002Fpre\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col p-1\\\"\\u003E\\u003Cpre class=\\\"form-control\\\" lineDiff [left]=\\\"leftArticle.cause || '- empty -'\\\" [right]=\\\"rightArticle.cause || '- empty -'\\\"\\u003E\\u003C\\u002Fpre\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"row compare-row\\\" *ngIf=\\\"hasProperty(leftArticle, "description") || hasProperty(rightArticle, "description")\\\"\\u003E\\u003Cdiv class=\\\"col-2\\\"\\u003EDescription\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col p-1\\\"\\u003E\\u003Cpre class=\\\"form-control\\\" [innerHTML]=\\\"leftArticle.description || '- empty -'\\\"\\u003E\\u003C\\u002Fpre\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col p-1\\\" *ngIf=\\\"showRightColumn\\\"\\u003E\\u003Cpre class=\\\"form-control\\\" [innerHTML]=\\\"rightArticle.description || '- empty -'\\\"\\u003E\\u003C\\u002Fpre\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col p-1\\\"\\u003E\\u003Cpre class=\\\"form-control\\\" lineDiff [left]=\\\"leftArticle.description || '- empty -'\\\" [right]=\\\"rightArticle.description || '- empty -'\\\"\\u003E\\u003C\\u002Fpre\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"row compare-row\\\" *ngIf=\\\"hasProperty(leftArticle, "resolution") || hasProperty(rightArticle, "resolution")\\\"\\u003E\\u003Cdiv class=\\\"col-2\\\"\\u003EResolution\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col p-1\\\"\\u003E\\u003Cpre class=\\\"form-control\\\" [innerHTML]=\\\"leftArticle.resolution || '- empty -'\\\"\\u003E\\u003C\\u002Fpre\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col p-1\\\" *ngIf=\\\"showRightColumn\\\"\\u003E\\u003Cpre class=\\\"form-control\\\" [innerHTML]=\\\"rightArticle.resolution || '- empty -'\\\"\\u003E\\u003C\\u002Fpre\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col p-1\\\"\\u003E\\u003Cpre class=\\\"form-control\\\" lineDiff [left]=\\\"leftArticle.resolution || '- empty -'\\\" [right]=\\\"rightArticle.resolution || '- empty -'\\\"\\u003E\\u003C\\u002Fpre\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"row compare-row\\\" *ngIf=\\\"hasProperty(leftArticle, "moreInformation") || hasProperty(rightArticle, "moreInformation")\\\"\\u003E\\u003Cdiv class=\\\"col-2\\\"\\u003EInternal Information\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col p-1\\\"\\u003E\\u003Cpre class=\\\"form-control\\\" [innerHTML]=\\\"leftArticle.moreInformation || '- empty -'\\\"\\u003E\\u003C\\u002Fpre\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col p-1\\\" *ngIf=\\\"showRightColumn\\\"\\u003E\\u003Cpre class=\\\"form-control\\\" [innerHTML]=\\\"rightArticle.moreInformation || '- empty -'\\\"\\u003E\\u003C\\u002Fpre\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col p-1\\\"\\u003E\\u003Cpre class=\\\"form-control\\\" lineDiff [left]=\\\"leftArticle.moreInformation || '- empty -'\\\" [right]=\\\"rightArticle.moreInformation || '- empty -'\\\"\\u003E\\u003C\\u002Fpre\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"row compare-row\\\" *ngIf=\\\"hasProperty(leftArticle, "additionalResources") || hasProperty(rightArticle, "additionalResources")\\\"\\u003E\\u003Cdiv class=\\\"col-2\\\"\\u003EAdditional Resources\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col p-1\\\"\\u003E\\u003Cpre class=\\\"form-control\\\" [innerHTML]=\\\"leftArticle.additionalResources || '- empty -'\\\"\\u003E\\u003C\\u002Fpre\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col p-1\\\" *ngIf=\\\"showRightColumn\\\"\\u003E\\u003Cpre class=\\\"form-control\\\" [innerHTML]=\\\"rightArticle.additionalResources || '- empty -'\\\"\\u003E\\u003C\\u002Fpre\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col p-1\\\"\\u003E\\u003Cpre class=\\\"form-control\\\" lineDiff [left]=\\\"leftArticle.additionalResources || '- empty -'\\\" [right]=\\\"rightArticle.additionalResources || '- empty -'\\\"\\u003E\\u003C\\u002Fpre\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"row compare-row\\\" *ngIf=\\\"hasProperty(leftArticle, "articleLogPhrases") || hasProperty(rightArticle, "articleLogPhrases")\\\"\\u003E\\u003Cdiv class=\\\"col-2\\\"\\u003ELog Phrases\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col p-1\\\"\\u003E\\u003Cpre class=\\\"form-control\\\" [innerHTML]=\\\"logPhrasesToString(leftArticle.articleLogPhrases) || '- empty -'\\\"\\u003E\\u003C\\u002Fpre\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col p-1\\\" *ngIf=\\\"showRightColumn\\\"\\u003E\\u003Cpre class=\\\"form-control\\\" [innerHTML]=\\\"logPhrasesToString(rightArticle.articleLogPhrases) || '- empty -'\\\"\\u003E\\u003C\\u002Fpre\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col p-1\\\"\\u003E\\u003Cpre class=\\\"form-control\\\" lineDiff [left]=\\\"logPhrasesToString(leftArticle.articleLogPhrases) || '- empty -'\\\" [right]=\\\"logPhrasesToString(rightArticle.articleLogPhrases) || '- empty -'\\\"\\u003E\\u003C\\u002Fpre\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cdiv *ngIf=\\\"article\\\"\\u003E\\u003Csection *ngIf=\\\"article.content\\\"\\u003E\\u003Cdiv [innerHTML]=\\\"article.content | markdown\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fsection\\u003E\\u003C\\u002Fdiv\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cdiv *ngIf=\\\"article\\\"\\u003E\\u003Csection *ngIf=\\\"article.content\\\"\\u003E\\u003Cdiv [innerHTML]=\\\"article.content | markdown\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fsection\\u003E\\u003C\\u002Fdiv\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cdiv class=\\\"card\\\"\\u003E\\u003Cdiv class=\\\"card-header d-flex justify-content-between\\\"\\u003E\\u003Ch4\\u003EPreview\\u003C\\u002Fh4\\u003E\\u003Cdiv\\u003E\\u003Cbutton class=\\\"btn btn-secondary btn-sm close\\\" type=\\\"button\\\" aria-label=\\\"Close\\\" (click)=\\\"close()\\\"\\u003E\\u003Cspan aria-hidden=\\\"true\\\"\\u003E×\\u003C\\u002Fspan\\u003E\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"card-body\\\"\\u003E\\u003Capp-articles-viewer [article]=\\\"article\\\" [isPreview]=\\\"isPreview\\\" [metadata]=\\\"metadata\\\"\\u003E\\u003C\\u002Fapp-articles-viewer\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"card-footer text-right\\\"\\u003E\\u003Cbutton class=\\\"btn btn-secondary btn-sm\\\" type=\\\"button\\\" (click)=\\\"close()\\\"\\u003EClose\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cdiv *ngIf=\\\"article\\\"\\u003E\\u003Csection *ngIf=\\\"article.content\\\"\\u003E\\u003Cdiv [innerHTML]=\\\"article.content | markdown\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fsection\\u003E\\u003C\\u002Fdiv\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cdiv *ngIf=\\\"article\\\"\\u003E\\u003Csection *ngIf=\\\"article.content\\\"\\u003E\\u003Cdiv [innerHTML]=\\\"article.content | markdown\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fsection\\u003E\\u003C\\u002Fdiv\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cdiv *ngIf=\\\"article\\\"\\u003E\\u003Csection *ngIf=\\\"article.symptoms\\\"\\u003E\\u003Ch4\\u003ESymptoms\\u003C\\u002Fh4\\u003E\\u003Cdiv class=\\\"scroll-auto-horizontal display-value\\\" [innerHTML]=\\\"article.symptoms | markdown\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fsection\\u003E\\u003Csection *ngIf=\\\"article.resolution\\\"\\u003E\\u003Ch4\\u003EResolution\\u003C\\u002Fh4\\u003E\\u003Cdiv class=\\\"scroll-auto-horizontal display-value\\\" [innerHTML]=\\\"article.resolution | markdown\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fsection\\u003E\\u003Csection *ngIf=\\\"article.additionalResources\\\"\\u003E\\u003Ch4\\u003EAdditional Resources\\u003C\\u002Fh4\\u003E\\u003Cdiv class=\\\"scroll-auto-horizontal display-value\\\" [innerHTML]=\\\"article.additionalResources | markdown\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fsection\\u003E\\u003Csection *ngIf=\\\"article.moreInformation\\\"\\u003E\\u003Ch4\\u003EInternal Information\\u003C\\u002Fh4\\u003E\\u003Cdiv class=\\\"scroll-auto-horizontal display-value\\\" [innerHTML]=\\\"article.moreInformation | markdown\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fsection\\u003E\\u003C\\u002Fdiv\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cdiv *ngIf=\\\"article\\\"\\u003E\\u003Csection *ngIf=\\\"article.description\\\"\\u003E\\u003Ch4\\u003EDescription\\u003C\\u002Fh4\\u003E\\u003Cdiv class=\\\"scroll-auto-horizontal display-value\\\" [innerHTML]=\\\"article.description | markdown\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fsection\\u003E\\u003Csection *ngIf=\\\"article.symptoms\\\"\\u003E\\u003Ch4\\u003ESymptoms\\u003C\\u002Fh4\\u003E\\u003Cdiv class=\\\"scroll-auto-horizontal display-value\\\" [innerHTML]=\\\"article.symptoms | markdown\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fsection\\u003E\\u003Csection *ngIf=\\\"article.cause\\\"\\u003E\\u003Ch4\\u003ECause\\u003C\\u002Fh4\\u003E\\u003Cdiv class=\\\"scroll-auto-horizontal display-value\\\" [innerHTML]=\\\"article.cause | markdown\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fsection\\u003E\\u003Csection *ngIf=\\\"article.resolution\\\"\\u003E\\u003Ch4\\u003EResolution\\u003C\\u002Fh4\\u003E\\u003Cdiv class=\\\"scroll-auto-horizontal display-value\\\" [innerHTML]=\\\"article.resolution | markdown\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fsection\\u003E\\u003C\\u002Fdiv\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cdiv class=\\\"alert alert-warning\\\" *ngIf=\\\"!isValid\\\"\\u003EArticle {{articleId}} \\u003Cspan *ngIf=\\\"articleVersion\\\"\\u003E({{articleVersion | articleFriendly}})\\u003C\\u002Fspan\\u003E does not exist, or you do not have permissions to read it.\\u003C\\u002Fdiv\\u003E\\u003Carticle class=\\\"article\\\" *ngIf=\\\"article\\\"\\u003E\\u003Cdiv class=\\\"page-header\\\"\\u003E\\u003Cdiv class=\\\"row\\\"\\u003E\\u003Cdiv class=\\\"col-12\\\"\\u003E\\u003Ch3\\u003E{{article.title}}\\u003C\\u002Fh3\\u003E\\u003Cdiv class=\\\"d-flex\\\" *ngIf=\\\"!isPreview\\\"\\u003E\\u003Ch4 class=\\\"text-muted\\\"\\u003E{{article.articleTypeLabel}} ({{articleId}})\\u003C\\u002Fh4\\u003E\\u003Capp-article-version-indicator [article]=\\\"article\\\" [latestVersion]=\\\"latestVersion\\\"\\u003E\\u003C\\u002Fapp-article-version-indicator\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-12\\\"\\u003E\\u003Cdiv class=\\\"btn-toolbar align-bottom mb-2 mt-2 pt-2 pb-2 border-top border-bottom\\\" *ngIf=\\\"!isPreview\\\" role=\\\"group\\\"\\u003E\\u003Capp-article-voting [article]=\\\"article\\\" [disabled]=\\\"(article.version != publishedVersion)\\\" (refreshNeeded)=\\\"refreshComment()\\\"\\u003E\\u003C\\u002Fapp-article-voting\\u003E\\u003Cdiv class=\\\"btn-group btn-group-sm ml-2\\\" *ngIf=\\\"canEdit\\\"\\u003E\\u003Cbutton class=\\\"btn btn-primary btn-sm\\\" title=\\\"Edit Article\\\" [routerLink]=\\\"["\\u002Farticle\\u002Fedit", article.articleId, article.version]\\\" [disabled]=\\\"editDisabled\\\"\\u003E\\u003Cfa-icon icon=\\\"edit\\\"\\u003E\\u003C\\u002Ffa-icon\\u003E\\nEdit\\u003C\\u002Fbutton\\u003E\\u003Cdiv class=\\\"btn-group dropdown\\\" *ngIf=\\\"(article.version !== publishedVersion)\\\" dropdown [isDisabled]=\\\"article.deletionId\\\"\\u003E\\u003Cbutton class=\\\"btn btn-primary btn-sm dropdown-toggle dropdown\\\" title=\\\"Delete\\\" type=\\\"button\\\" dropdownToggle\\u003E\\u003Cfa-icon icon=\\\"trash-alt\\\"\\u003E\\u003C\\u002Ffa-icon\\u003E\\nDelete\\u003C\\u002Fbutton\\u003E\\u003Cdiv class=\\\"dropdown-menu\\\" id=\\\"publish-dropdown\\\" *dropdownMenu role=\\\"menu\\\" aria-labelledby=\\\"delete-dropdown\\\"\\u003E\\u003Cbutton class=\\\"btn-sm dropdown-item\\\" type=\\\"button\\\" title=\\\"Delete this version of the article\\\" (click)=\\\"delete()\\\"\\u003EDelete\\u003C\\u002Fbutton\\u003E\\u003Cbutton class=\\\"btn-sm dropdown-item\\\" type=\\\"button\\\" title=\\\"Delete this version and all previous up until the currently Published version\\\" (click)=\\\"delete(true)\\\"\\u003EDelete All\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cbutton class=\\\"btn btn-sm btn-primary ml-2\\\" title=\\\"Share Article\\\" (click)=\\\"share()\\\"\\u003E\\u003Cfa-icon icon=\\\"share\\\"\\u003E\\u003C\\u002Ffa-icon\\u003E\\nShare\\u003C\\u002Fbutton\\u003E\\u003Cbutton class=\\\"btn btn-sm btn-primary ml-2\\\" title=\\\"Refresh Article\\\" (click)=\\\"refresh()\\\"\\u003E\\u003Cfa-icon icon=\\\"sync\\\"\\u003E\\u003C\\u002Ffa-icon\\u003E\\nRefresh\\u003C\\u002Fbutton\\u003E\\u003Cdiv class=\\\"btn-group btn-group-sm ml-2\\\"\\u003E\\u003Cbutton class=\\\"btn btn-primary btn-sm\\\" title=\\\"Article History\\\" (click)=\\\"viewHistory()\\\"\\u003E\\u003Cfa-icon icon=\\\"road\\\"\\u003E\\u003C\\u002Ffa-icon\\u003E\\nHistory\\u003C\\u002Fbutton\\u003E\\u003Cbutton class=\\\"btn btn-primary btn-sm\\\" title=\\\"Compare With Latest Article\\\" [routerLink]=\\\"['\\u002Farticle', 'diff', article.articleId, article.version, latestVersion]\\\" [disabled]=\\\"article.version == latestVersion\\\"\\u003E\\u003Cfa-icon icon=\\\"road\\\"\\u003E\\u003C\\u002Ffa-icon\\u003E\\nCompare Latest\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"dropdown ml-2\\\" dropdown\\u003E\\u003Cbutton class=\\\"btn btn-primary btn-sm dropdown-toggle border-left\\\" *ngIf=\\\"canPromote\\\" title=\\\"Create\\\" type=\\\"button\\\" dropdownToggle\\u003E\\u003Cfa-icon icon=\\\"share-square\\\"\\u003E\\u003C\\u002Ffa-icon\\u003E\\nCreate\\u003C\\u002Fbutton\\u003E\\u003Cdiv class=\\\"dropdown-menu\\\" id=\\\"create-dropdown\\\" *dropdownMenu role=\\\"menu\\\" aria-labelledby=\\\"create-dropdown\\\"\\u003E\\u003Cbutton class=\\\"btn-sm dropdown-item\\\" type=\\\"button\\\" title=\\\"Create Best Practices Article\\\" [routerLink]=\\\"["\\u002Farticle\\u002Fcreate\\u002Fbestpractices", { sourceArticleId: article.articleId } ]\\\"\\u003EBest Practices Article\\u003C\\u002Fbutton\\u003E\\u003Cbutton class=\\\"btn-sm dropdown-item\\\" type=\\\"button\\\" title=\\\"Create FAQ Article\\\" [routerLink]=\\\"["\\u002Farticle\\u002Fcreate\\u002Ffrequentlyaskedquestion", { sourceArticleId: article.articleId } ]\\\"\\u003EFAQ Article\\u003C\\u002Fbutton\\u003E\\u003Cbutton class=\\\"btn-sm dropdown-item\\\" type=\\\"button\\\" title=\\\"Create Solution Article\\\" [routerLink]=\\\"["\\u002Farticle\\u002Fcreate\\u002Fsolution", { sourceArticleId: article.articleId } ]\\\"\\u003ESolution Article\\u003C\\u002Fbutton\\u003E\\u003Cbutton class=\\\"btn-sm dropdown-item\\\" type=\\\"button\\\" title=\\\"Create Technical Reference Article\\\" [routerLink]=\\\"["\\u002Farticle\\u002Fcreate\\u002Ftechnicalreference", { sourceArticleId: article.articleId } ]\\\"\\u003ETechnical Reference Article\\u003C\\u002Fbutton\\u003E\\u003Cbutton class=\\\"btn-sm dropdown-item\\\" type=\\\"button\\\" title=\\\"Create Troubleshooting Article\\\" [routerLink]=\\\"["\\u002Farticle\\u002Fcreate\\u002Ftroubleshooting", { sourceArticleId: article.articleId } ]\\\"\\u003ETroubleshooting Article\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cbutton class=\\\"btn btn-primary btn-sm ml-2\\\" *ngIf=\\\"canNominate\\\" title=\\\"Nominate as Solution\\\" (click)=\\\"nominate()\\\"\\u003E\\u003Cfa-icon icon=\\\"edit\\\"\\u003E\\u003C\\u002Ffa-icon\\u003E\\nNominate\\u003C\\u002Fbutton\\u003E\\u003Capp-reject-promotion class=\\\"ml-2\\\" *ngIf=\\\"canPromote\\\" [article]=\\\"article\\\" (refreshNeeded)=\\\"refresh()\\\"\\u003E\\u003C\\u002Fapp-reject-promotion\\u003E\\u003Cbutton class=\\\"btn btn-primary btn-sm ml-2\\\" title=\\\"Unpublish Article\\\" (click)=\\\"unpublish()\\\" *ngIf=\\\"(article.version == publishedVersion)\\\"\\u003EUnpublish\\u003C\\u002Fbutton\\u003E\\u003Capp-publish-approval class=\\\"ml-2\\\" *ngIf=\\\"!article.deletionId && !article.unpublished && article.articleTypeLabel !== "Troubleshooting" && article.articleTypeLabel !== "Frequently Asked Question" && article.articleTypeLabel !== "Best Practices" && article.articleTypeLabel !== "Technical Reference"\\\" [article]=\\\"article\\\" (refreshNeeded)=\\\"refresh()\\\"\\u003E\\u003C\\u002Fapp-publish-approval\\u003E\\u003Capp-review-approval class=\\\"ml-2\\\" *ngIf=\\\"!article.deletionId && !article.unpublished && article.articleTypeLabel !== "Troubleshooting" && article.articleTypeLabel !== "Frequently Asked Question" && article.articleTypeLabel !== "Best Practices" && article.articleTypeLabel !== "Technical Reference"\\\" [article]=\\\"article\\\" (refreshNeeded)=\\\"refresh()\\\"\\u003E\\u003C\\u002Fapp-review-approval\\u003E\\u003Capp-partner-approval class=\\\"ml-2\\\" *ngIf=\\\"!article.deletionId && !article.unpublished && article.articleTypeLabel !== "Troubleshooting" && article.articleTypeLabel !== "Frequently Asked Question" && article.articleTypeLabel !== "Best Practices" && article.articleTypeLabel !== "Technical Reference"\\\" [article]=\\\"article\\\" (refreshNeeded)=\\\"refresh()\\\"\\u003E\\u003C\\u002Fapp-partner-approval\\u003E\\u003Capp-workflow-transition class=\\\"ml-2\\\" [article]=\\\"article\\\"\\u003E\\u003C\\u002Fapp-workflow-transition\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"row\\\"\\u003E\\u003Cdiv class=\\\"col-md-8\\\"\\u003E\\u003Csection *ngIf=\\\"applications\\\"\\u003E\\u003Ch4\\u003EAffected Versions\\u003C\\u002Fh4\\u003E\\u003Cp class=\\\"p-3 mb-0\\\" *ngIf=\\\"!article.articleTargetedVersions || !article.articleTargetedVersions.length\\\"\\u003E\\u003Cem\\u003EThis article has no targeted versions at this time.\\u003C\\u002Fem\\u003E\\u003C\\u002Fp\\u003E\\u003Cp class=\\\"pl-3\\\" *ngFor=\\\"let grp of getArrayOfGroupedMajorVersions(article.articleTargetedVersions)\\\"\\u003E\\u003Cem\\u003E{{getCombinedVersionsValue(grp)}}\\u003C\\u002Fem\\u003E\\u003C\\u002Fp\\u003E\\u003C\\u002Fsection\\u003E\\u003Capp-articles-viewer-technicalnote *ngIf=\\\"(article.articleTypeLabel | lowercase) === 'technical note' || (article.articleTypeLabel | lowercase) === 'technote' || (article.articleTypeLabel | lowercase) === 'technicalnote'\\\" [article]=\\\"article\\\"\\u003E\\u003C\\u002Fapp-articles-viewer-technicalnote\\u003E\\u003Capp-articles-viewer-solution *ngIf=\\\"(article.articleTypeLabel | lowercase) === 'solution'\\\" [article]=\\\"article\\\"\\u003E\\u003C\\u002Fapp-articles-viewer-solution\\u003E\\u003Capp-articles-viewer-troubleshooting *ngIf=\\\"(article.articleTypeLabel | lowercase) === 'troubleshooting'\\\" [article]=\\\"article\\\"\\u003E\\u003C\\u002Fapp-articles-viewer-troubleshooting\\u003E\\u003Capp-articles-viewer-technical-reference *ngIf=\\\"(article.articleTypeLabel | lowercase) === 'technical reference' || (article.articleTypeLabel | lowercase) === 'technicalreference'\\\" [article]=\\\"article\\\"\\u003E\\u003C\\u002Fapp-articles-viewer-technical-reference\\u003E\\u003Capp-articles-viewer-best-practices *ngIf=\\\"(article.articleTypeLabel | lowercase) === 'best practices' || (article.articleTypeLabel | lowercase) === 'bestpractices'\\\" [article]=\\\"article\\\"\\u003E\\u003C\\u002Fapp-articles-viewer-best-practices\\u003E\\u003Capp-articles-viewer-frequently-asked-question *ngIf=\\\"(article.articleTypeLabel | lowercase) === 'frequently asked question' || (article.articleTypeLabel | lowercase) === 'frequentlyaskedquestion'\\\" [article]=\\\"article\\\"\\u003E\\u003C\\u002Fapp-articles-viewer-frequently-asked-question\\u003E\\u003Csection *ngIf=\\\"article.articleLogPhrases && article.articleLogPhrases.length\\\"\\u003E\\u003Ch3\\u003ELog Phrases\\u003C\\u002Fh3\\u003E\\u003Cdiv class=\\\"card-body display-value\\\"\\u003E\\u003Cdiv class=\\\"row\\\"\\u003E\\u003Cdiv class=\\\"col-sm-4\\\"\\u003E\\u003Clabel\\u003EFile\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-8\\\"\\u003E\\u003Clabel\\u003EPhrase\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv *ngFor=\\\"let logPair of article.articleLogPhrases\\\"\\u003E\\u003Cdiv class=\\\"row\\\"\\u003E\\u003Cdiv class=\\\"col-sm-4 text-wrap\\\"\\u003E{{logPair.filename}}\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-8\\\"\\u003E{{logPair.phrase}}\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fsection\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-md-4\\\"\\u003E\\u003Capp-widget class=\\\"mb-3\\\" caption=\\\"Audience\\\" cardBody=\\\"false\\\"\\u003E\\u003Cdiv class=\\\"list-group-item\\\"\\u003E\\u003Cp class=\\\"mb-0\\\"\\u003E{{article.audience}}\\u003C\\u002Fp\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fapp-widget\\u003E\\u003Capp-widget class=\\\"mb-3\\\" caption=\\\"Workflow\\\" cardBody=\\\"false\\\"\\u003E\\u003Cdiv class=\\\"list-group-item\\\"\\u003E\\u003Cp class=\\\"mb-2\\\"\\u003E\\u003Cstrong\\u003EExpiration\\u003C\\u002Fstrong\\u003E\\non\\n\\u003Cstrong\\u003E{{article.expiration | amLocal | amDateFormat: 'dddd, MMMM Do YYYY'}}\\t\\t\\t\\t\\t\\t\\u003C\\u002Fstrong\\u003E\\u003Cspan class=\\\"badge badge-primary\\\"\\u003E{{article.expiration| amTimeAgo}}\\u003C\\u002Fspan\\u003E\\u003C\\u002Fp\\u003E\\u003Cp class=\\\"mb-0\\\" *ngIf=\\\"article.isManualPublish && ((article.articleTypeLabel | lowercase) === 'troubleshooting' || (article.articleTypeLabel | lowercase) === 'technicalreference' || (article.articleTypeLabel | lowercase) === 'technical reference' || (article.articleTypeLabel | lowercase) === 'bestpractices' || (article.articleTypeLabel | lowercase) === 'best practices' || (article.articleTypeLabel | lowercase) === 'frequentlyaskedquestion' || (article.articleTypeLabel | lowercase) === 'frequently asked question')\\\"\\u003E\\u003Cstrong\\u003ERequire Manual Publish\\u003C\\u002Fstrong\\u003E\\u003C\\u002Fp\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fapp-widget\\u003E\\u003Capp-widget class=\\\"mb-3\\\" caption=\\\"Incident Reference & Deflections\\\" cardBody=\\\"false\\\"\\u003E\\u003Cdiv class=\\\"list-group list-group-flush\\\" *ngIf=\\\"article.incidentReference\\\"\\u003E\\u003Cdiv class=\\\"list-group-item list-group-item-primary\\\"\\u003EReference\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"list-group-item\\\"\\u003E\\u003Ca [routerLink]=\\\"['\\u002Fincident\\u002Fdetails', article.incidentReference]\\\"\\u003E{{article.incidentReference}}\\u003C\\u002Fa\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"list-group list-group-flush\\\"\\u003E\\u003Cdiv class=\\\"list-group-item\\\" *ngIf=\\\"!(article.articleDeflectedIncidents && article.articleDeflectedIncidents.length)\\\"\\u003E\\u003Cem\\u003EThis article has not deflected any incidents at this time.\\u003C\\u002Fem\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cng-container *ngIf=\\\"article.articleDeflectedIncidents && article.articleDeflectedIncidents.length\\\"\\u003E\\u003Cdiv class=\\\"list-group-item list-group-item-primary\\\"\\u003EDeflections\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"list-group-item medium-height-panel\\\"\\u003E\\u003Cdiv class=\\\"card-columns\\\"\\u003E\\u003Cdiv class=\\\"card\\\" *ngFor=\\\"let deflection of article.articleDeflectedIncidents\\\"\\u003E\\u003Cdiv class=\\\"card-body py-2\\\"\\u003E\\u003Ca [routerLink]=\\\"['\\u002Fincident\\u002Fdetails', deflection.incidentId]\\\"\\u003E{{deflection.incidentId}}\\u003C\\u002Fa\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"list-group-item text-right border-top\\\"\\u003E\\u003Clabel\\u003ETotal: {{article.articleDeflectedIncidents.length}}\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fng-container\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fapp-widget\\u003E\\u003Capp-widget class=\\\"mb-3\\\" caption=\\\"Classification & Categorization\\\"\\u003E\\u003Cp class=\\\"mb-0\\\" *ngIf=\\\"article.category\\\"\\u003E\\u003Clabel\\u003ECategory\\u003C\\u002Flabel\\u003E\\n{{article.category.name}}\\u003C\\u002Fp\\u003E\\u003Cp class=\\\"mb-0\\\" *ngIf=\\\"!article.classificationCode\\\"\\u003E\\u003Cem\\u003EThis article has not been classified yet.\\u003C\\u002Fem\\u003E\\u003C\\u002Fp\\u003E\\u003Cp class=\\\"mb-0\\\" *ngIf=\\\"article.classificationCode\\\" [innerHtml]=\\\"article.classificationText\\\"\\u003E\\u003C\\u002Fp\\u003E\\u003C\\u002Fapp-widget\\u003E\\u003Capp-widget class=\\\"mb-3\\\" *ngIf=\\\"(article.articleTypeLabel | lowercase) === 'technical note' || (article.articleTypeLabel | lowercase) === 'technote' || (article.articleTypeLabel | lowercase) === 'technicalnote'\\\" caption=\\\"Targeted Roles\\\" cardBody=\\\"false\\\"\\u003E\\u003Cp class=\\\"p-3 mb-0\\\" *ngIf=\\\"!metadata || !metadata.targetedRoles || !metadata.targetedRoles.length\\\"\\u003E\\u003Cem\\u003EThis article is not visible to any roles at this time.\\u003C\\u002Fem\\u003E\\u003C\\u002Fp\\u003E\\u003Ctable class=\\\"table mb-0\\\" *ngIf=\\\"metadata && metadata.targetedRoles && metadata.targetedRoles.length\\\"\\u003E\\u003Ctbody\\u003E\\u003Ctr *ngFor=\\\"let roles of metadata.targetedRoles\\\"\\u003E\\u003Ctd\\u003E{{roles.role.name}}\\u003C\\u002Ftd\\u003E\\u003C\\u002Ftr\\u003E\\u003C\\u002Ftbody\\u003E\\u003C\\u002Ftable\\u003E\\u003C\\u002Fapp-widget\\u003E\\u003Capp-widget class=\\\"mb-3\\\" caption=\\\"Contributors\\\" cardBody=\\\"false\\\"\\u003E\\u003Cp class=\\\"p-3 mb-0\\\" *ngIf=\\\"!article.articleContributors || !article.articleContributors.length\\\"\\u003E\\u003Cem\\u003EThis article has not have any contributor at this time.\\u003C\\u002Fem\\u003E\\u003C\\u002Fp\\u003E\\u003Cdiv *ngIf=\\\"article.articleContributors && article.articleContributors.length\\\"\\u003E\\u003Cdiv class=\\\"p-2\\\" *ngIf=\\\"!isPreview\\\"\\u003EAuthored by\\u003Cstrong\\u003E {{article.author.userName}}\\u003C\\u002Fstrong\\u003E on\\u003Cstrong\\u003E {{article.created | amLocal | amDateFormat: 'dddd, MMMM Do YYYY, h:mm a'}}.\\u003C\\u002Fstrong\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"p-2\\\" *ngIf=\\\"!isPreview\\\"\\u003ELast Edited by\\u003Cstrong\\u003E {{article.editor.userName}}\\u003C\\u002Fstrong\\u003E on\\u003Cstrong\\u003E {{article.modified | amLocal | amDateFormat: 'dddd, MMMM Do YYYY, h:mm a'}}.\\u003C\\u002Fstrong\\u003E\\u003C\\u002Fdiv\\u003E\\u003Ctable class=\\\"table mb-0\\\"\\u003E\\u003Cthead class=\\\"thead-light\\\"\\u003E\\u003Ctr class=\\\"active\\\"\\u003E\\u003Cth\\u003EName\\u003C\\u002Fth\\u003E\\u003Cth\\u003ERole\\u003C\\u002Fth\\u003E\\u003Cth\\u003ELast Modified\\u003C\\u002Fth\\u003E\\u003C\\u002Ftr\\u003E\\u003C\\u002Fthead\\u003E\\u003Ctbody class=\\\"mb-0\\\"\\u003E\\u003Ctr *ngFor=\\\"let contributor of article.articleContributors\\\"\\u003E\\u003Ctd\\u003E{{contributor.user.userName}}\\u003C\\u002Ftd\\u003E\\u003Ctd\\u003E{{contributor.contributorType}}\\u003C\\u002Ftd\\u003E\\u003Ctd\\u003E\\u003Cspan title=\\\"{{contributor.timestamp}}\\\"\\u003E{{contributor.timestamp | amLocal | amDateFormat: 'dddd, MMMM Do YYYY, h:mm a'}}\\u003C\\u002Fspan\\u003E\\u003C\\u002Ftd\\u003E\\u003C\\u002Ftr\\u003E\\u003C\\u002Ftbody\\u003E\\u003C\\u002Ftable\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fapp-widget\\u003E\\u003Capp-widget class=\\\"mb-3\\\" *ngIf=\\\"metadataHasProperty('technicalReviewer') && !!metadata.technicalReviewer\\\" caption=\\\"Technical Reviewer\\\"\\u003E\\u003Cstrong\\u003E{{metadata.technicalReviewer.userName}}\\u003C\\u002Fstrong\\u003E\\u003C\\u002Fapp-widget\\u003E\\u003Capp-widget class=\\\"mb-3\\\" *ngIf=\\\"canEdit\\\" caption=\\\"Comments\\\"\\u003E\\u003Capp-comment-threads [threadId]=\\\"threadId\\\" [threadTitle]=\\\"article.title\\\" [referenceId]=\\\"article.articleId\\\" [referenceVersion]=\\\"article.version\\\"\\u003E\\u003C\\u002Fapp-comment-threads\\u003E\\u003C\\u002Fapp-widget\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Farticle\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cdiv class=\\\"card\\\"\\u003E\\u003Cdiv class=\\\"card-header d-flex justify-content-between\\\"\\u003E\\u003Ch4 class=\\\"m-0\\\"\\u003EArticle {{article.articleId}} Version History\\u003C\\u002Fh4\\u003E\\u003Cdiv\\u003E\\u003Ca class=\\\"close\\\" (click)=\\\"close()\\\"\\u003E\\u003Cspan aria-hidden=\\\"true\\\"\\u003E×\\u003C\\u002Fspan\\u003E\\u003C\\u002Fa\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"card-body\\\"\\u003E\\u003Ctable class=\\\"table table-striped\\\"\\u003E\\u003Cthead\\u003E\\u003Ctr\\u003E\\u003Cth class=\\\"col-xs-3\\\"\\u003E\\u003C\\u002Fth\\u003E\\u003Cth\\u003EVersion\\u003C\\u002Fth\\u003E\\u003Cth\\u003EState\\u003C\\u002Fth\\u003E\\u003Cth\\u003EWhen\\u003C\\u002Fth\\u003E\\u003Cth\\u003EWho\\u003C\\u002Fth\\u003E\\u003C\\u002Ftr\\u003E\\u003C\\u002Fthead\\u003E\\u003Ctbody\\u003E\\u003Ctr *ngFor=\\\"let historicalArticle of articleHistory\\\"\\u003E\\u003Ctd\\u003E\\u003Cbutton class=\\\"btn btn-primary btn-xs\\\" title=\\\"View Diff\\\" (click)=\\\"compare(historicalArticle)\\\"\\u003E{{ historicalArticle.buttonText }}\\u003C\\u002Fbutton\\u003E\\u003C\\u002Ftd\\u003E\\u003Ctd\\u003E\\u003Ca [routerLink]=\\\"['\\u002F', 'article', 'details', historicalArticle.articleId, historicalArticle.version]\\\"\\u003E{{ historicalArticle.version | articleFriendly }}\\u003C\\u002Fa\\u003E\\u003C\\u002Ftd\\u003E\\u003Ctd\\u003E{{ historicalArticle.workflowStateLabel }}\\u003C\\u002Ftd\\u003E\\u003Ctd\\u003E{{ historicalArticle.modified | amLocal | amDateFormat: 'dddd, MMMM Do YYYY, h:mm a' }}\\u003C\\u002Ftd\\u003E\\u003Ctd\\u003E{{ historicalArticle.userName }}\\u003C\\u002Ftd\\u003E\\u003C\\u002Ftr\\u003E\\u003C\\u002Ftbody\\u003E\\u003C\\u002Ftable\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Capp-voting (voted)=\\\"onVoted($event)\\\" [count]=\\\"votedCount\\\" [isDislikeComment]=\\\"isDislikeComment\\\" [userVote]=\\\"userVote\\\" [disabled]=\\\"disabled\\\"\\u003E\\u003C\\u002Fapp-voting\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Capp-confirmation-with-comment title=\\\"Confirm Review of Submitted Article\\\" [commentOptional]=\\\"true\\\"\\u003E\\u003Cp\\u003EBefore accepting, you \\u003Cstrong\\u003Emust\\u003C\\u002Fstrong\\u003E confirm that there is \\u003Cstrong\\u003ENO customer identifiable or sensitive information\\u003C\\u002Fstrong\\u003E within this article.\\u003C\\u002Fp\\u003E\\u003Cp\\u003EExamples of prohibited content includes:\\u003C\\u002Fp\\u003E\\u003Cul class=\\\"row\\\" style=\\\"list-style-type:disc\\\"\\u003E\\u003Cli class=\\\"list-item col-sm-6\\\"\\u003ECustomer \\u002F Account name\\u003C\\u002Fli\\u003E\\u003Cli class=\\\"list-item col-sm-6\\\"\\u003ECustomer contact name(s)\\u003C\\u002Fli\\u003E\\u003Cli class=\\\"list-item col-sm-6\\\"\\u003EHostnames\\u003C\\u002Fli\\u003E\\u003Cli class=\\\"list-item col-sm-6\\\"\\u003EIP Addresses\\u003C\\u002Fli\\u003E\\u003Cli class=\\\"list-item col-sm-6\\\"\\u003EInternal URLs\\u003C\\u002Fli\\u003E\\u003Cli class=\\\"list-item col-sm-6\\\"\\u003EUsernames\\u003C\\u002Fli\\u003E\\u003C\\u002Ful\\u003E\\u003Cp\\u003EIf you are not sure then please click \\u003Cstrong\\u003ECancel\\u003C\\u002Fstrong\\u003E and review again before proceeding with acceptance.\\u003C\\u002Fp\\u003E\\u003C\\u002Fapp-confirmation-with-comment\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cdiv class=\\\"card\\\"\\u003E\\u003Cdiv class=\\\"card-header d-flex justify-content-between\\\"\\u003E\\u003Ch4 class=\\\"m-0\\\"\\u003EApprove Partner Accessibility\\u003C\\u002Fh4\\u003E\\u003Cdiv\\u003E\\u003Ca class=\\\"close\\\" (click)=\\\"close()\\\"\\u003E\\u003Cspan aria-hidden=\\\"true\\\"\\u003E×\\u003C\\u002Fspan\\u003E\\u003C\\u002Fa\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"card-body\\\"\\u003E\\u003Cp\\u003E\\u003Cstrong\\u003E\\u003Cu\\u003ECONFIRM REMOVAL OF CUSTOMER IDENTIFIABLE INFORMATION\\u003C\\u002Fu\\u003E\\u003C\\u002Fstrong\\u003E\\u003C\\u002Fp\\u003E\\u003Cp\\u003EBefore publishing, you \\u003Cstrong\\u003Emust\\u003C\\u002Fstrong\\u003E confirm that there is \\u003Cstrong\\u003ENO customer identifiable or sensitive information\\u003C\\u002Fstrong\\u003E within this solution.\\u003C\\u002Fp\\u003E\\u003Cp\\u003EExamples of prohibited content includes:\\u003C\\u002Fp\\u003E\\u003Cul class=\\\"row\\\" style=\\\"list-style-type:disc\\\"\\u003E\\u003Cli class=\\\"col-sm-6\\\"\\u003ECustomer \\u002F Account name\\u003C\\u002Fli\\u003E\\u003Cli class=\\\"col-sm-6\\\"\\u003ECustomer contact name(s)\\u003C\\u002Fli\\u003E\\u003Cli class=\\\"col-sm-6\\\"\\u003EHostnames\\u003C\\u002Fli\\u003E\\u003Cli class=\\\"col-sm-6\\\"\\u003EIP Addresses\\u003C\\u002Fli\\u003E\\u003Cli class=\\\"col-sm-6\\\"\\u003EInternal URLs\\u003C\\u002Fli\\u003E\\u003Cli class=\\\"col-sm-6\\\"\\u003EUsernames\\u003C\\u002Fli\\u003E\\u003C\\u002Ful\\u003E\\u003Cp\\u003EIf you are not sure then please click NO and review again before proceeding with approval.\\u003C\\u002Fp\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"card-footer text-right\\\"\\u003E\\u003Cbutton class=\\\"btn btn-success btn-sm mr-3\\\" (click)=\\\"approvePartner()\\\" [disabled]=\\\"submitted\\\"\\u003EYes - I have confirmed there is no Customer Identifiable Content\\u003C\\u002Fbutton\\u003E\\u003Cbutton class=\\\"btn btn-warning btn-sm\\\" (click)=\\\"close()\\\"\\u003ENo - I am unsure\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cdiv class=\\\"card\\\"\\u003E\\u003Cdiv class=\\\"card-header d-flex justify-content-between\\\"\\u003E\\u003Ch4 class=\\\"m-0\\\"\\u003EApprove Pending Publish\\u003C\\u002Fh4\\u003E\\u003Cdiv\\u003E\\u003Ca class=\\\"close\\\" (click)=\\\"close()\\\"\\u003E\\u003Cspan aria-hidden=\\\"true\\\"\\u003E×\\u003C\\u002Fspan\\u003E\\u003C\\u002Fa\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"card-body\\\"\\u003E\\u003Cp\\u003E\\u003Cstrong\\u003E\\u003Cu\\u003ECONFIRM REMOVAL OF CUSTOMER IDENTIFIABLE INFORMATION\\u003C\\u002Fu\\u003E\\u003C\\u002Fstrong\\u003E\\u003C\\u002Fp\\u003E\\u003Cp\\u003EBefore publishing, you \\u003Cstrong\\u003Emust\\u003C\\u002Fstrong\\u003E confirm that there is \\u003Cstrong\\u003ENO customer identifiable or sensitive information\\u003C\\u002Fstrong\\u003E within this solution.\\u003C\\u002Fp\\u003E\\u003Cp\\u003EExamples of prohibited content includes:\\u003C\\u002Fp\\u003E\\u003Cul class=\\\"row\\\" style=\\\"list-style-type:disc\\\"\\u003E\\u003Cli class=\\\"col-sm-6\\\"\\u003ECustomer \\u002F Account name\\u003C\\u002Fli\\u003E\\u003Cli class=\\\"col-sm-6\\\"\\u003ECustomer contact name(s)\\u003C\\u002Fli\\u003E\\u003Cli class=\\\"col-sm-6\\\"\\u003EHostnames\\u003C\\u002Fli\\u003E\\u003Cli class=\\\"col-sm-6\\\"\\u003EIP Addresses\\u003C\\u002Fli\\u003E\\u003Cli class=\\\"col-sm-6\\\"\\u003EInternal URLs\\u003C\\u002Fli\\u003E\\u003Cli class=\\\"col-sm-6\\\"\\u003EUsernames\\u003C\\u002Fli\\u003E\\u003C\\u002Ful\\u003E\\u003Cp\\u003EIf you are not sure then please click NO and review again before proceeding with approval.\\u003C\\u002Fp\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"card-footer text-right\\\"\\u003E\\u003Cbutton class=\\\"btn btn-success btn-sm mr-3\\\" (click)=\\\"approvePublish()\\\" [disabled]=\\\"submitted\\\"\\u003EYes - I have confirmed there is no Customer Identifiable Content\\u003C\\u002Fbutton\\u003E\\u003Cbutton class=\\\"btn btn-warning btn-sm\\\" (click)=\\\"close()\\\"\\u003ENo - I am unsure\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cdiv class=\\\"card\\\"\\u003E\\u003Cdiv class=\\\"card-header d-flex justify-content-between\\\"\\u003E\\u003Ch4 class=\\\"m-0\\\"\\u003EConfirm Review of Approved Article\\u003C\\u002Fh4\\u003E\\u003Cdiv\\u003E\\u003Ca class=\\\"close\\\" (click)=\\\"close()\\\"\\u003E\\u003Cspan aria-hidden=\\\"true\\\"\\u003E×\\u003C\\u002Fspan\\u003E\\u003C\\u002Fa\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"card-body\\\"\\u003E\\u003Cp\\u003E\\u003Cstrong\\u003E\\u003Cu\\u003ECONFIRM REMOVAL OF CUSTOMER IDENTIFIABLE INFORMATION\\u003C\\u002Fu\\u003E\\u003C\\u002Fstrong\\u003E\\u003C\\u002Fp\\u003E\\u003Cp\\u003EBefore publishing, you \\u003Cstrong\\u003Emust\\u003C\\u002Fstrong\\u003E confirm that there is \\u003Cstrong\\u003ENO customer identifiable or sensitive information\\u003C\\u002Fstrong\\u003E within this solution.\\u003C\\u002Fp\\u003E\\u003Cp\\u003EExamples of prohibited content includes:\\u003C\\u002Fp\\u003E\\u003Cul style=\\\"list-style-type:disc\\\"\\u003E\\u003Cli class=\\\"col-sm-6\\\"\\u003ECustomer \\u002F Account name\\u003C\\u002Fli\\u003E\\u003Cli class=\\\"col-sm-6\\\"\\u003ECustomer contact name(s)\\u003C\\u002Fli\\u003E\\u003Cli class=\\\"col-sm-6\\\"\\u003EHostnames\\u003C\\u002Fli\\u003E\\u003Cli class=\\\"col-sm-6\\\"\\u003EIP Addresses\\u003C\\u002Fli\\u003E\\u003Cli class=\\\"col-sm-6\\\"\\u003EInternal URLs\\u003C\\u002Fli\\u003E\\u003Cli class=\\\"col-sm-6\\\"\\u003EUsernames\\u003C\\u002Fli\\u003E\\u003C\\u002Ful\\u003E\\u003Cp\\u003EIf you are not sure then please click NO and review again before proceeding with approval.\\u003C\\u002Fp\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"card-footer text-right\\\"\\u003E\\u003Cbutton class=\\\"btn btn-success btn-sm mr-3\\\" (click)=\\\"approveReview()\\\" [disabled]=\\\"submitted\\\"\\u003EYes - I have confirmed there is no Customer Identifiable Content\\u003C\\u002Fbutton\\u003E\\u003Cbutton class=\\\"btn btn-warning btn-sm\\\" (click)=\\\"close()\\\"\\u003ENo - I am unsure\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cdiv class=\\\"card\\\"\\u003E\\u003Cdiv class=\\\"card-header d-flex justify-content-between\\\"\\u003E\\u003Ch4 class=\\\"m-0\\\"\\u003E{{title}}\\u003C\\u002Fh4\\u003E\\u003Cdiv\\u003E\\u003Ca class=\\\"close\\\" (click)=\\\"onCancel()\\\"\\u003E\\u003Cspan aria-hidden=\\\"true\\\"\\u003E×\\u003C\\u002Fspan\\u003E\\u003C\\u002Fa\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"card-body\\\"\\u003E\\u003Cdiv class=\\\"alert alert-danger\\\" *ngIf=\\\"submittedOnce && formGroup && formGroup.invalid\\\"\\u003ESorry, error(s) prevented this form from being submitted. Please correct any errors indicated below and try again.\\u003Cul class=\\\"mb-0\\\"\\u003E\\u003Cli *ngIf=\\\"formGroup.controls.comment.errors\\\"\\u003EThe \\u003Cstrong\\u003EComment\\u003C\\u002Fstrong\\u003E must be at least 5 characters in length.\\u003C\\u002Fli\\u003E\\u003C\\u002Ful\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cng-content\\u003E\\u003C\\u002Fng-content\\u003E\\u003Cdiv [formGroup]=\\\"formGroup\\\"\\u003E\\u003Ctextarea class=\\\"form-control\\\" formControlName=\\\"comment\\\" rows=\\\"6\\\" placeholder=\\\"Provide feedback on why you are performing the action you are.\\\"\\u003E\\u003C\\u002Ftextarea\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"card-footer text-right\\\"\\u003E\\u003Cbutton class=\\\"btn btn-success btn-sm mr-3\\\" (click)=\\\"onConfirm()\\\"\\u003E{{confirmLabel}}\\u003C\\u002Fbutton\\u003E\\u003Cbutton class=\\\"btn btn-warning btn-sm\\\" (click)=\\\"onCancel()\\\"\\u003E{{cancelLabel}}\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cdiv class=\\\"card\\\" [formGroup]=\\\"formGroup\\\"\\u003E\\u003Cdiv class=\\\"card-header d-flex justify-content-between\\\"\\u003E\\u003Ch4 class=\\\"m-0\\\"\\u003EReject Partner Accessiblity\\u003C\\u002Fh4\\u003E\\u003Cdiv\\u003E\\u003Ca class=\\\"close\\\" (click)=\\\"close()\\\"\\u003E\\u003Cspan aria-hidden=\\\"true\\\"\\u003E×\\u003C\\u002Fspan\\u003E\\u003C\\u002Fa\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"card-body\\\"\\u003E\\u003Cp\\u003E\\u003Cstrong\\u003EPlease enter the reason(s) this article is being rejected\\u003C\\u002Fstrong\\u003E\\u003C\\u002Fp\\u003E\\u003Cp\\u003E\\u003Ctextarea class=\\\"w-100\\\" formControlName=\\\"denialReason\\\" rows=\\\"6\\\"\\u003E\\u003C\\u002Ftextarea\\u003E\\u003C\\u002Fp\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"card-footer text-right\\\"\\u003E\\u003Cbutton class=\\\"btn btn-secondary btn-sm mr-3\\\" (click)=\\\"close()\\\"\\u003ECancel\\u003C\\u002Fbutton\\u003E\\u003Cbutton class=\\\"btn btn-primary btn-sm\\\" (click)=\\\"submit()\\\" [disabled]=\\\"formGroup.invalid || submitted\\\"\\u003ESubmit\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cdiv class=\\\"card\\\" [formGroup]=\\\"formGroup\\\"\\u003E\\u003Cdiv class=\\\"card-header d-flex justify-content-between\\\"\\u003E\\u003Ch4 class=\\\"m-0\\\"\\u003EReject Pending Promotion\\u003C\\u002Fh4\\u003E\\u003Cdiv\\u003E\\u003Ca class=\\\"close\\\" (click)=\\\"close()\\\"\\u003E\\u003Cspan aria-hidden=\\\"true\\\"\\u003E×\\u003C\\u002Fspan\\u003E\\u003C\\u002Fa\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"card-body\\\"\\u003E\\u003Cp\\u003E\\u003Cstrong\\u003EPlease enter the reason(s) this article is being rejected\\u003C\\u002Fstrong\\u003E\\u003C\\u002Fp\\u003E\\u003Cp\\u003E\\u003Ctextarea class=\\\"w-100\\\" formControlName=\\\"denialReason\\\" rows=\\\"6\\\"\\u003E\\u003C\\u002Ftextarea\\u003E\\u003C\\u002Fp\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"card-footer text-right\\\"\\u003E\\u003Cbutton class=\\\"btn btn-secondary btn-sm mr-3\\\" (click)=\\\"close()\\\"\\u003ECancel\\u003C\\u002Fbutton\\u003E\\u003Cbutton class=\\\"btn btn-primary btn-sm\\\" (click)=\\\"submit()\\\" [disabled]=\\\"formGroup.invalid || submitted\\\"\\u003ESubmit\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cdiv class=\\\"card\\\" [formGroup]=\\\"formGroup\\\"\\u003E\\u003Cdiv class=\\\"card-header d-flex justify-content-between\\\"\\u003E\\u003Ch4 class=\\\"m-0\\\"\\u003EReject Pending Publish\\u003C\\u002Fh4\\u003E\\u003Cdiv\\u003E\\u003Ca class=\\\"close\\\" (click)=\\\"close()\\\"\\u003E\\u003Cspan aria-hidden=\\\"true\\\"\\u003E×\\u003C\\u002Fspan\\u003E\\u003C\\u002Fa\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"card-body\\\"\\u003E\\u003Cp\\u003E\\u003Cstrong\\u003EPlease enter the reason(s) this article is being rejected\\u003C\\u002Fstrong\\u003E\\u003C\\u002Fp\\u003E\\u003Cp\\u003E\\u003Ctextarea class=\\\"w-100\\\" formControlName=\\\"denialReason\\\" rows=\\\"6\\\"\\u003E\\u003C\\u002Ftextarea\\u003E\\u003C\\u002Fp\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"card-footer text-right\\\"\\u003E\\u003Cbutton class=\\\"btn btn-secondary btn-sm mr-3\\\" (click)=\\\"close()\\\"\\u003ECancel\\u003C\\u002Fbutton\\u003E\\u003Cbutton class=\\\"btn btn-primary btn-sm\\\" (click)=\\\"submit()\\\" [disabled]=\\\"formGroup.invalid || submitted\\\"\\u003ESubmit\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cdiv class=\\\"card\\\" [formGroup]=\\\"formGroup\\\"\\u003E\\u003Cdiv class=\\\"card-header d-flex justify-content-between\\\"\\u003E\\u003Ch4 class=\\\"m-0\\\"\\u003EReject and Unpublish Approved Article\\u003C\\u002Fh4\\u003E\\u003Cdiv\\u003E\\u003Ca class=\\\"close\\\" (click)=\\\"close()\\\"\\u003E\\u003Cspan aria-hidden=\\\"true\\\"\\u003E×\\u003C\\u002Fspan\\u003E\\u003C\\u002Fa\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"card-body\\\"\\u003E\\u003Clabel\\u003EPlease enter the reason(s) this article is being rejected and unpublished.\\u003C\\u002Flabel\\u003E\\u003Cp\\u003EThe article will remain on file and searchable in a draft state.\\u003C\\u002Fp\\u003E\\u003Cp\\u003E\\u003Ctextarea class=\\\"w-100\\\" formControlName=\\\"denialReason\\\" rows=\\\"6\\\"\\u003E\\u003C\\u002Ftextarea\\u003E\\u003C\\u002Fp\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"card-footer text-right\\\"\\u003E\\u003Cbutton class=\\\"btn btn-secondary btn-sm mr-3\\\" type=\\\"button\\\" (click)=\\\"close()\\\"\\u003ECancel\\u003C\\u002Fbutton\\u003E\\u003Cbutton class=\\\"btn btn-primary btn-sm\\\" (click)=\\\"rejectReview()\\\" [disabled]=\\\"formGroup.invalid || submitted\\\"\\u003ESubmit\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Capp-confirmation-with-comment title=\\\"Confirm Rejection of Submitted Article\\\"\\u003E\\u003Cp\\u003E\\u003Cstrong\\u003EPlease enter the reason(s) this article is being rejected or needs modification.\\u003C\\u002Fstrong\\u003E\\u003C\\u002Fp\\u003E\\u003C\\u002Fapp-confirmation-with-comment\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cdiv class=\\\"btn-group btn-group-sm\\\" role=\\\"group\\\" *ngIf=\\\"article.workflowState == 'PendingPartnerAccessible' && canApprove\\\"\\u003E\\u003Cspan class=\\\"btn btn-success btn-xs btn-label disabled\\\" role=\\\"button\\\"\\u003EApprove\\u003C\\u002Fspan\\u003E\\u003Cdiv class=\\\"btn btn-primary\\\" (click)=\\\"confirmApprovePartner()\\\"\\u003E\\u003Cfa-icon icon=\\\"smile\\\"\\u003E\\u003C\\u002Ffa-icon\\u003E Approve\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"btn btn-primary\\\" (click)=\\\"confirmRejectPartner()\\\"\\u003E\\u003Cfa-icon icon=\\\"frown\\\"\\u003E\\u003C\\u002Ffa-icon\\u003E Reject\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cdiv class=\\\"btn-group btn-group-sm\\\" role=\\\"group\\\" *ngIf=\\\"article.workflowState == 'PendingApproval' && canApprove\\\"\\u003E\\u003Cspan class=\\\"btn btn-success btn-xs btn-label disabled\\\" role=\\\"button\\\"\\u003EPublish\\u003C\\u002Fspan\\u003E\\u003Cdiv class=\\\"btn btn-primary\\\" (click)=\\\"confirmApproval()\\\"\\u003E\\u003Cfa-icon icon=\\\"smile\\\"\\u003E\\u003C\\u002Ffa-icon\\u003E Approve\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"btn btn-primary\\\" (click)=\\\"confirmRejection()\\\"\\u003E\\u003Cfa-icon icon=\\\"frown\\\"\\u003E\\u003C\\u002Ffa-icon\\u003E Reject\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cdiv class=\\\"btn-group btn-group-sm\\\" role=\\\"group\\\" *ngIf=\\\"article.workflowState == 'TechnotePendingPromotion' && canApprove\\\"\\u003E\\u003Cdiv class=\\\"btn btn-primary\\\" (click)=\\\"confirmRejection()\\\"\\u003E\\u003Cfa-icon icon=\\\"frown\\\"\\u003E\\u003C\\u002Ffa-icon\\u003E Reject Promotion\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cdiv class=\\\"btn-group btn-group-sm\\\" role=\\\"group\\\" *ngIf=\\\"(article.workflowState == 'Approved') && ((article.articleType | lowercase) !== 'technicalnote') && canReview\\\"\\u003E\\u003Cspan class=\\\"btn btn-success btn-xs btn-label disabled\\\" role=\\\"button\\\"\\u003EReview\\u003C\\u002Fspan\\u003E\\u003Cdiv class=\\\"btn btn-primary\\\" (click)=\\\"confirmApproveReview()\\\"\\u003E\\u003Cfa-icon icon=\\\"smile\\\"\\u003E\\u003C\\u002Ffa-icon\\u003E Pass\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"btn btn-primary\\\" (click)=\\\"confirmRejectionReview()\\\"\\u003E\\u003Cfa-icon icon=\\\"frown\\\"\\u003E\\u003C\\u002Ffa-icon\\u003E Fail\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cng-container *ngFor=\\\"let state of states\\\"\\u003E\\u003Cdiv class=\\\"btn-group btn-group-sm mr-2\\\" *ngIf=\\\"article && state.transitions && state.transitions.length\\\" role=\\\"group\\\"\\u003E\\u003Cspan class=\\\"btn btn-success btn-xs btn-label disabled\\\" role=\\\"button\\\"\\u003E{{ state.name }}\\u003C\\u002Fspan\\u003E\\u003Cbutton class=\\\"btn btn-primary\\\" *ngFor=\\\"let transition of state.transitions\\\" type=\\\"button\\\" (click)=\\\"onTransitionClick(transition)\\\" [disabled]=\\\"disableAllActions\\\"\\u003E{{ transition.name }}\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fng-container\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cng-container [ngSwitch]=\\\"activity.type\\\"\\u003E\\u003C!-- Task--\\u003E\\u003Cng-template [ngSwitchCase]=\\\"'TaskActivity'\\\"\\u003E\\u003Cspan *ngIf=\\\"!isEscalated\\\"\\u003E\\u003Cfa-icon icon=\\\"cogs\\\"\\u003E\\u003C\\u002Ffa-icon\\u003E\\u003C\\u002Fspan\\u003E\\u003Cspan *ngIf=\\\"activity.taskTypeId\\\"\\u003E\\u003Cspan *ngIf=\\\"activity.taskTypeId == 772370005\\\"\\u003E\\nSupport Response created by\\n\\u003Cstrong\\u003E{{activity.createdByUsername}}\\u003C\\u002Fstrong\\u003E\\u003Cspan *ngIf=\\\"activity.incidentStatus && !isEscalated\\\"\\u003E\\n| Status: {{activity.incidentStatus}}\\u003C\\u002Fspan\\u003E\\u003C\\u002Fspan\\u003E\\u003Cspan *ngIf=\\\"activity.taskTypeId != 772370005 && activity.taskTypeId != 772370026\\\"\\u003E\\nInternal update created by\\n\\u003Cstrong\\u003E{{activity.createdByUsername}}\\u003C\\u002Fstrong\\u003E\\u003Cspan *ngIf=\\\"!isEscalated\\\"\\u003E\\u003Cspan *ngIf=\\\"activity.taskType\\\"\\u003E\\n| Type: {{activity.taskType}}\\u003C\\u002Fspan\\u003E\\u003Cspan *ngIf=\\\"activity.duration\\\"\\u003E\\n| Duration: {{activity.duration}}m\\u003C\\u002Fspan\\u003E\\u003Cspan *ngIf=\\\"activity.incidentStatus\\\"\\u003E\\n| Status: {{activity.incidentStatus}}\\u003C\\u002Fspan\\u003E\\u003Cspan *ngIf=\\\"activity.respondOn\\\"\\u003E\\n@ {{activity.respondOn | amLocal | amDateFormat: 'dddd, MMMM Do YYYY, h:mm a' }}\\u003C\\u002Fspan\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fspan\\u003E\\u003Cspan *ngIf=\\\"activity.taskTypeId == 772370026\\\"\\u003E\\nInternal update created by \\n\\u003Cspan *ngIf=\\\"!activity.submittedBy || !activity.submittedByEmail\\\"\\u003E\\u003Cstrong\\u003E{{activity.createdByUsername}}\\u003C\\u002Fstrong\\u003E\\u003C\\u002Fspan\\u003E\\u003Cspan *ngIf=\\\"activity.submittedBy && activity.submittedByEmail\\\"\\u003E \\n{{activity.submittedBy}} ({{activity.submittedByEmail}})\\u003C\\u002Fspan\\u003E\\u003Cspan *ngIf=\\\"!isEscalated\\\"\\u003E\\u003Cspan *ngIf=\\\"activity.taskType\\\"\\u003E\\n| Type: {{activity.taskType}}\\u003C\\u002Fspan\\u003E\\u003Cspan *ngIf=\\\"activity.duration\\\"\\u003E\\n| Duration: {{activity.duration}}m\\u003C\\u002Fspan\\u003E\\u003Cspan *ngIf=\\\"activity.incidentStatus\\\"\\u003E\\n| Status: {{activity.incidentStatus}}\\u003C\\u002Fspan\\u003E\\u003Cspan *ngIf=\\\"activity.respondOn\\\"\\u003E\\n@ {{activity.respondOn | amLocal | amDateFormat: 'dddd, MMMM Do YYYY, h:mm a' }}\\u003C\\u002Fspan\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fspan\\u003E\\u003Cspan *ngIf=\\\"!activity.taskTypeId\\\"\\u003E\\u003Cspan *ngIf=\\\"!isEscalated\\\"\\u003E\\u003Cfa-icon icon=\\\"user\\\"\\u003E\\u003C\\u002Ffa-icon\\u003E\\u003C\\u002Fspan\\u003E\\nCustomer Web Response\\u003Cspan *ngIf=\\\"!isEscalated\\\"\\u003E\\non {{activity.modifiedOn | amLocal | amDateFormat: 'dddd, MMMM Do YYYY, h:mm a'}}\\n\\nPriority: {{activity.priority}}\\u003C\\u002Fspan\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fng-template\\u003E\\u003C!-- Field Escalation--\\u003E\\u003Cng-template [ngSwitchCase]=\\\"'FieldEscalationActivity'\\\"\\u003E\\u003Cspan *ngIf=\\\"!isEscalated\\\"\\u003E\\u003Cfa-icon icon=\\\"globe\\\"\\u003E\\u003C\\u002Ffa-icon\\u003E\\u003C\\u002Fspan\\u003E\\nField Escalation from {{activity.submittedBy}} ({{activity.submittedByEmail}})\\u003C\\u002Fng-template\\u003E\\u003C!-- Development Escalation--\\u003E\\u003Cng-template [ngSwitchCase]=\\\"'DevelopmentEscalationActivity'\\\"\\u003E\\u003Cspan *ngIf=\\\"!isEscalated\\\"\\u003E\\u003Cfa-icon icon=\\\"code\\\"\\u003E\\u003C\\u002Ffa-icon\\u003E\\u003C\\u002Fspan\\u003E\\nEscalation from {{activity.modifiedByUsername}}\\u003Cspan *ngIf=\\\"activity.queue && !isEscalated\\\"\\u003E\\nQueue: {{activity.queue}}\\u003C\\u002Fspan\\u003E\\u003C\\u002Fng-template\\u003E\\u003C!-- Customer Response--\\u003E\\u003Cng-template [ngSwitchCase]=\\\"'CustomerResponseActivity'\\\"\\u003E\\u003Cspan *ngIf=\\\"!isEscalated\\\"\\u003E\\u003Cfa-icon icon=\\\"user\\\"\\u003E\\u003C\\u002Ffa-icon\\u003E\\u003Cfa-icon icon=\\\"comment\\\"\\u003E\\u003C\\u002Ffa-icon\\u003E\\u003C\\u002Fspan\\u003E\\nCustomer Web Response\\u003Cspan *ngIf=\\\"!isEscalated\\\"\\u003E\\non {{activity.createdOn | amLocal | amDateFormat: 'dddd, MMMM Do YYYY, h:mm a'}}\\n\\nPriority: {{activity.priority}}\\u003C\\u002Fspan\\u003E\\u003C\\u002Fng-template\\u003E\\u003C!-- Update--\\u003E\\u003Cng-template [ngSwitchCase]=\\\"'UpdateActivity'\\\"\\u003E\\u003Cspan *ngIf=\\\"!isEscalated\\\"\\u003E\\u003Cfa-icon icon=\\\"envelope\\\"\\u003E\\u003C\\u002Ffa-icon\\u003E\\u003C\\u002Fspan\\u003E\\u003Cspan *ngIf=\\\"!activity.isWorkaroundIncluded\\\"\\u003E\\nUpdate generated by\\n\\u003C\\u002Fspan\\u003E\\u003Cspan *ngIf=\\\"activity.isWorkaroundIncluded\\\"\\u003E\\nWorkaround Provided by\\n\\u003C\\u002Fspan\\u003E\\u003Cstrong\\u003E{{activity.from}}\\u003C\\u002Fstrong\\u003E\\u003Cspan *ngIf=\\\"!isEscalated\\\"\\u003E\\u003Cspan *ngIf=\\\"activity.duration\\\"\\u003E\\n| Duration: {{activity.duration}}m\\u003C\\u002Fspan\\u003E\\u003Cspan *ngIf=\\\"activity.incidentStatus\\\"\\u003E\\n| Status: {{activity.incidentStatus}}\\u003C\\u002Fspan\\u003E\\u003Cspan *ngIf=\\\"activity.respondOn\\\"\\u003E\\n@ {{activity.respondOn | amLocal | amDateFormat: 'dddd, MMMM Do YYYY, h:mm a'}}\\u003C\\u002Fspan\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fng-template\\u003E\\u003C!-- Resolution--\\u003E\\u003Cng-template [ngSwitchCase]=\\\"'ResolutionActivity'\\\"\\u003E\\u003Cspan *ngIf=\\\"!isEscalated\\\"\\u003E\\u003Cfa-icon icon=\\\"briefcase\\\"\\u003E\\u003C\\u002Ffa-icon\\u003E\\u003C\\u002Fspan\\u003E\\u003Cspan *ngIf=\\\"activity.isArchived == true\\\"\\u003E\\nIncident archived by\\n\\u003C\\u002Fspan\\u003E\\u003Cspan *ngIf=\\\"activity.isArchived == false\\\"\\u003E\\nIncident resolved by\\n\\u003C\\u002Fspan\\u003E\\u003Cstrong\\u003E{{activity.modifiedByUsername}}\\u003C\\u002Fstrong\\u003E\\u003C\\u002Fng-template\\u003E\\u003C!-- Activity--\\u003E\\u003Cng-template ngSwitchDefault\\u003E\\u003Cspan *ngIf=\\\"!isEscalated\\\"\\u003E\\u003Cfa-icon icon=\\\"exchange\\\"\\u003E\\u003C\\u002Ffa-icon\\u003E\\u003C\\u002Fspan\\u003E\\n{{activity.actionTypeName}} Activity\\u003C\\u002Fng-template\\u003E\\u003C\\u002Fng-container\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cng-container [ngSwitch]=\\\"activity.type\\\"\\u003E\\u003C!-- Task--\\u003E\\u003Cng-template [ngSwitchCase]=\\\"'TaskActivity'\\\"\\u003E\\u003Cdiv *ngIf=\\\"activity.taskTypeId\\\"\\u003E\\u003Cdiv *ngIf=\\\"activity.taskTypeId == 772370005\\\"\\u003E\\u003Cp\\u003ESupport Response has been acknowledged by {{activity.createdByUsername}} and the case status has been changed to \\u003Cstrong\\u003E{{activity.incidentStatus}}\\u003C\\u002Fstrong\\u003E.\\u003C\\u002Fp\\u003E\\u003Cp\\u003EThis status will remain in place until a phone or email activity detailing our response is added to the incident.\\u003C\\u002Fp\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv *ngIf=\\\"activity.taskTypeId != 772370005\\\"\\u003E\\u003Cp class=\\\"pre-wrap\\\" *ngIf=\\\"activity.description\\\" [innerHTML]=\\\"replaceLineBreaks(activity.description)\\\"\\u003E\\u003C\\u002Fp\\u003E\\u003Cdiv *ngIf=\\\"activity.systemLogCuts\\\"\\u003E\\u003Cstrong\\u003ELog cuts:\\u003C\\u002Fstrong\\u003E\\u003Cp class=\\\"pre-wrap\\\" [innerHTML]=\\\"replaceLineBreaks(activity.systemLogCuts)\\\"\\u003E\\u003C\\u002Fp\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv *ngIf=\\\"activity.systemLogAnalysis\\\"\\u003E\\u003Cstrong\\u003ELog analysis:\\u003C\\u002Fstrong\\u003E\\u003Cp class=\\\"pre-wrap\\\" [innerHTML]=\\\"replaceLineBreaks(activity.systemLogAnalysis)\\\"\\u003E\\u003C\\u002Fp\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv *ngIf=\\\"!activity.taskTypeId\\\"\\u003E\\u003Cp class=\\\"pre-wrap\\\" *ngIf=\\\"activity.description\\\" [innerHTML]=\\\"replaceLineBreaks(activity.description)\\\"\\u003E\\u003C\\u002Fp\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fng-template\\u003E\\u003C!-- Field Escalation--\\u003E\\u003Cng-template [ngSwitchCase]=\\\"'FieldEscalationActivity'\\\"\\u003E\\u003Cp class=\\\"pre-wrap\\\" [innerHTML]=\\\"activity.subject\\\"\\u003E\\u003C\\u002Fp\\u003E\\u003Cdiv *ngIf=\\\"activity.description\\\"\\u003E\\u003Cstrong\\u003EEscalation Details:\\u003C\\u002Fstrong\\u003E\\u003Cp class=\\\"pre-wrap\\\" [innerHTML]=\\\"replaceLineBreaks(activity.description)\\\"\\u003E\\u003C\\u002Fp\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fng-template\\u003E\\u003C!-- Development Escalation--\\u003E\\u003Cng-template [ngSwitchCase]=\\\"'DevelopmentEscalationActivity'\\\"\\u003E\\u003Cdiv class=\\\"row\\\" *ngIf=\\\"activity.developmentTeam\\\"\\u003E\\u003Cdiv class=\\\"col-sm-5 col-md-4 col-lg-3\\\"\\u003E\\u003Cstrong\\u003EAlias Escalating to:\\u003C\\u002Fstrong\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-7 col-md-8 col-lg-9 pre-wrap\\\" [innerHTML]=\\\"activity.developmentTeam\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"row\\\" *ngIf=\\\"activity.tierTwoTeam\\\"\\u003E\\u003Cdiv class=\\\"col-sm-5 col-md-4 col-lg-3\\\"\\u003E\\u003Cstrong\\u003EAlias Escalating to:\\u003C\\u002Fstrong\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-7 col-md-8 col-lg-9 pre-wrap\\\" [innerHTML]=\\\"activity.tierTwoTeam\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"row\\\" *ngIf=\\\"activity.businessImpact\\\"\\u003E\\u003Cdiv class=\\\"col-sm-5 col-md-4 col-lg-3\\\"\\u003E\\u003Cstrong\\u003EBusiness Impact:\\u003C\\u002Fstrong\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-7 col-md-8 col-lg-9 pre-wrap\\\" [innerHTML]=\\\"activity.businessImpact\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"row\\\" *ngIf=\\\"activity.escalationSeverity\\\"\\u003E\\u003Cdiv class=\\\"col-sm-5 col-md-4 col-lg-3\\\"\\u003E\\u003Cstrong\\u003EEscalation Severity:\\u003C\\u002Fstrong\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-7 col-md-8 col-lg-9 pre-wrap\\\" [innerHTML]=\\\"activity.escalationSeverity\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"row\\\" *ngIf=\\\"activity.criticalAfterHours\\\"\\u003E\\u003Cdiv class=\\\"col-sm-5 col-md-4 col-lg-3\\\"\\u003E\\u003Cstrong\\u003ECritical After Hours Escalation:\\u003C\\u002Fstrong\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-7 col-md-8 col-lg-9\\\"\\u003E{{activity.criticalAfterHours | yesno}}\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"row\\\" *ngIf=\\\"activity.criticalAfterHours\\\"\\u003E\\u003Cdiv class=\\\"col-sm-5 col-md-4 col-lg-3\\\"\\u003E\\u003Cstrong\\u003EAfter Hours Escalation Reason:\\u003C\\u002Fstrong\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-7 col-md-8 col-lg-9 pre-wrap\\\" [innerHTML]=\\\"activity.criticalAfterHoursReason\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"row\\\" *ngIf=\\\"activity.dueDate\\\"\\u003E\\u003Cdiv class=\\\"col-sm-5 col-md-4 col-lg-3\\\"\\u003E\\u003Cstrong\\u003EDue:\\u003C\\u002Fstrong\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-7 col-md-8 col-lg-9\\\"\\u003E{{activity.dueDate | amTimeAgo}}\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"row\\\" *ngIf=\\\"activity.subject\\\"\\u003E\\u003Cdiv class=\\\"col-sm-5 col-md-4 col-lg-3\\\"\\u003E\\u003Cstrong\\u003ESubject:\\u003C\\u002Fstrong\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-7 col-md-8 col-lg-9 pre-wrap\\\" [innerHTML]=\\\"activity.subject\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"row\\\" *ngIf=\\\"activity.escalationPurpose\\\"\\u003E\\u003Cdiv class=\\\"col-sm-5 col-md-4 col-lg-3\\\"\\u003E\\u003Cstrong\\u003EEscalation Purpose:\\u003C\\u002Fstrong\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-7 col-md-8 col-lg-9 pre-wrap\\\" [innerHTML]=\\\"activity.escalationPurpose\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"row\\\" *ngIf=\\\"activity.issueSummary\\\"\\u003E\\u003Cdiv class=\\\"col-sm-5 col-md-4 col-lg-3\\\"\\u003E\\u003Cstrong\\u003EIssue Summary:\\u003C\\u002Fstrong\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-7 col-md-8 col-lg-9 pre-wrap\\\" [innerHTML]=\\\"replaceLineBreaks(activity.issueSummary)\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fng-template\\u003E\\u003C!-- Customer Response--\\u003E\\u003Cng-template [ngSwitchCase]=\\\"'CustomerResponseActivity'\\\"\\u003E\\u003Cp class=\\\"pre-wrap\\\" [innerHTML]=\\\"activity.description\\\"\\u003E\\u003C\\u002Fp\\u003E\\u003C\\u002Fng-template\\u003E\\u003C!-- Update--\\u003E\\u003Cng-template [ngSwitchCase]=\\\"'UpdateActivity'\\\"\\u003E\\u003Cp class=\\\"border-bottom mb-3\\\" *ngIf=\\\"activity.subject\\\"\\u003E{{activity.subject}}\\u003C\\u002Fp\\u003E\\u003Cp class=\\\"margin-btm\\\" *ngIf=\\\"activity.description\\\" [innerHTML]=\\\"replaceImgSrc(activity.description)\\\"\\u003E\\u003C\\u002Fp\\u003E\\u003Cdiv class=\\\"margin-btm\\\" *ngIf=\\\"activity.workaroundDetails\\\"\\u003E\\u003Cstrong\\u003EDetails of Workaround Provided:\\u003C\\u002Fstrong\\u003E\\u003Cp class=\\\"pre-wrap\\\" [innerHTML]=\\\"replaceLineBreaks(activity.workaroundDetails)\\\"\\u003E\\u003C\\u002Fp\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"margin-btm\\\" *ngIf=\\\"activity.workaroundNextSteps\\\"\\u003E\\u003Cstrong\\u003ENext Steps Toward Resolution:\\u003C\\u002Fstrong\\u003E\\u003Cp class=\\\"pre-wrap\\\" [innerHTML]=\\\"replaceLineBreaks(activity.workaroundNextSteps)\\\"\\u003E\\u003C\\u002Fp\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"margin-btm\\\" *ngIf=\\\"activity.agreedSeverityAfterWorkaround\\\"\\u003E\\u003Cstrong\\u003ENew Agreed Upon Severity:\\u003C\\u002Fstrong\\u003E\\u003Cp class=\\\"pre-wrap\\\" [innerHTML]=\\\"activity.agreedSeverityAfterWorkaround\\\"\\u003E\\u003C\\u002Fp\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv *ngIf=\\\"activity.systemLogCuts\\\"\\u003E\\u003Cstrong\\u003ELog cuts:\\u003C\\u002Fstrong\\u003E\\u003Cp class=\\\"pre-wrap\\\" [innerHTML]=\\\"replaceLineBreaks(activity.systemLogCuts)\\\"\\u003E\\u003C\\u002Fp\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv *ngIf=\\\"activity.systemLogAnalysis\\\"\\u003E\\u003Cstrong\\u003ELog analysis:\\u003C\\u002Fstrong\\u003E\\u003Cp class=\\\"pre-wrap\\\" [innerHTML]=\\\"replaceLineBreaks(activity.systemLogAnalysis)\\\"\\u003E\\u003C\\u002Fp\\u003E\\u003C\\u002Fdiv\\u003E\\u003C!-- need attachments--\\u003E\\u003C\\u002Fng-template\\u003E\\u003C!-- Resolution--\\u003E\\u003Cng-template [ngSwitchCase]=\\\"'ResolutionActivity'\\\"\\u003E\\u003Cdiv\\u003E\\u003Cdiv class=\\\"row\\\" *ngIf=\\\"activity.findingDetails\\\"\\u003E\\u003Cdiv class=\\\"col-md-3 col-lg-2\\\"\\u003EMessage to the Customer:\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-md-9 col-lg-10 pre-wrap\\\" [innerHTML]=\\\"activity.findingDetails\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"row\\\" *ngIf=\\\"activity.summarizeCustomerExperience\\\"\\u003E\\u003Cdiv class=\\\"col-md-3 col-lg-2\\\"\\u003EBrief Issue Description:\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-md-9 col-lg-10 pre-wrap\\\" [innerHTML]=\\\"activity.summarizeCustomerExperience\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"row\\\" *ngIf=\\\"activity.rootCauseOfIssue\\\"\\u003E\\u003Cdiv class=\\\"col-md-3 col-lg-2\\\"\\u003ERoot Cause \\u002F Failure Reason:\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-md-9 col-lg-10 pre-wrap\\\" [innerHTML]=\\\"activity.rootCauseOfIssue\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"row\\\" *ngIf=\\\"activity.howToResolve\\\"\\u003E\\u003Cdiv class=\\\"col-md-3 col-lg-2\\\"\\u003EResolution Steps:\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-md-9 col-lg-10 pre-wrap\\\" [innerHTML]=\\\"activity.howToResolve\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"row\\\" *ngIf=\\\"isMetallic && activity.operationType\\\"\\u003E\\u003Cdiv class=\\\"col-md-3 col-lg-2\\\"\\u003EOperation Type:\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-md-9 col-lg-10 pre-wrap\\\" [innerHTML]=\\\"activity.operationType\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"row\\\" *ngIf=\\\"activity.findings\\\"\\u003E\\u003Cdiv class=\\\"col-md-3 col-lg-2\\\"\\u003EFindings:\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-md-9 col-lg-10 pre-wrap\\\" [innerHTML]=\\\"activity.findings\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"row\\\" *ngIf=\\\"activity.causes.length > 0\\\"\\u003E\\u003Cdiv class=\\\"col-md-3 col-lg-2\\\"\\u003ECauses:\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-md-9 col-lg-10\\\"\\u003E\\u003Cspan class=\\\"pre-wrap\\\" *ngIf=\\\"activity.underlyingCause\\\"\\u003E{{activity.underlyingCause}}\\u003C\\u002Fspan\\u003E\\u003Cspan class=\\\"pre-wrap\\\" *ngIf=\\\"activity.secondaryCause\\\"\\u003E --\\u003E {{activity.secondaryCause}}\\u003C\\u002Fspan\\u003E\\u003Cspan class=\\\"pre-wrap\\\" *ngIf=\\\"activity.tertiaryCause\\\"\\u003E --\\u003E {{activity.tertiaryCause}}\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"row\\\" *ngIf=\\\"activity.fixType && activity.patchIdScriptServicePackOrMR\\\"\\u003E\\u003Cdiv class=\\\"col-md-3 col-lg-2\\\"\\u003E{{activity.fixType}}:\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-md-9 col-lg-10 pre-wrap\\\" [innerHTML]=\\\"activity.patchIdScriptServicePackOrMR\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fng-template\\u003E\\u003C!-- Activity--\\u003E\\u003Cng-template ngSwitchDefault\\u003E\\u003Cp class=\\\"pre-wrap\\\" [innerHTML]=\\\"activity.description\\\"\\u003E\\u003C\\u002Fp\\u003E\\u003Cp\\u003E{{activity.type}}\\u003C\\u002Fp\\u003E\\u003C\\u002Fng-template\\u003E\\u003C\\u002Fng-container\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cdiv class=\\\"d-flex justify-content-between\\\"\\u003E\\u003Cdiv class=\\\"d-flex align-items-start\\\"\\u003E\\u003Cdiv class=\\\"btn-group mr-2\\\" data-toggle=\\\"buttons\\\"\\u003E\\u003Clabel class=\\\"btn btn-secondary\\\" (click)=\\\"expandAllActivities($event)\\\"\\u003E\\u003Cfa-icon icon=\\\"expand-alt\\\"\\u003E\\u003C\\u002Ffa-icon\\u003E\\tExpand All\\u003C\\u002Flabel\\u003E\\u003Clabel class=\\\"btn btn-secondary\\\" (click)=\\\"collapseAllActivities($event)\\\"\\u003E\\u003Cfa-icon icon=\\\"compress-alt\\\"\\u003E\\u003C\\u002Ffa-icon\\u003E\\tCollapse All\\u003C\\u002Flabel\\u003E\\u003Clabel class=\\\"btn btn-secondary\\\" [ngClass]=\\\"{ "disabled": !hasRemainingActivities }\\\" (click)=\\\"retrieveAllActivities($event)\\\"\\u003E\\u003Cfa-icon icon=\\\"eye\\\"\\u003E\\u003C\\u002Ffa-icon\\u003E\\tRetrieve All\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cform class=\\\"form-inline\\\" [formGroup]=\\\"activityFilterForm\\\"\\u003E\\u003Cdiv class=\\\"form-group\\\"\\u003E\\u003Cdiv class=\\\"btn-group\\\" btnRadioGroup formControlName=\\\"activityFilter\\\"\\u003E\\u003Clabel class=\\\"btn btn-secondary\\\" formControlName=\\\"activityFilter\\\" btnRadio=\\\"\\\" tabindex=\\\"0\\\" role=\\\"button\\\"\\u003EAll\\u003C\\u002Flabel\\u003E\\u003Clabel class=\\\"btn btn-secondary\\\" formControlName=\\\"activityFilter\\\" btnRadio=\\\"{{internalFilter}}\\\" tabindex=\\\"0\\\" role=\\\"button\\\"\\u003EInternal\\u003C\\u002Flabel\\u003E\\u003Clabel class=\\\"btn btn-secondary\\\" formControlName=\\\"activityFilter\\\" btnRadio=\\\"{{escalationFilter}}\\\" tabindex=\\\"0\\\" role=\\\"button\\\"\\u003EEscalation\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fform\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv\\u003E\\u003Cdiv class=\\\"btn-group-toggle\\\" data-toggle=\\\"buttons\\\"\\u003E\\u003Clabel class=\\\"btn btn-secondary\\\" [ngClass]=\\\"{ "active": showFriendlyTimestamps }\\\"\\u003E\\u003Cinput type=\\\"checkbox\\\" (click)=\\\"timeToggle()\\\"\\u003E\\n\\nFriendly Date\\u002FTimes\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Caccordion class=\\\"animate\\\" [ngClass]=\\\"{show: "expandAll"}\\\" data-toggle=\\\"collapse\\\"\\u003E\\u003Caccordion-group class=\\\"activity activity-{{ activity.type }}\\\" *ngFor=\\\"let activity of activities\\\" [ngSwitch]=\\\"activity.type\\\" [isOpen]=\\\"activity.isDisplayOpen\\\" (isOpenChange)=\\\"openChange(activity, $event)\\\" [ngClass]=\\\"{'activity-workaround': activity.isWorkaroundIncluded}\\\" panelClass=\\\"scrollable-card\\\"\\u003E\\u003Cdiv accordion-heading\\u003E\\u003Cdiv class=\\\"d-flex justify-content-between\\\"\\u003E\\u003Cdiv\\u003E\\u003Cincident-activities-header [id]=\\\"id\\\" [activity]=\\\"activity\\\" [isEscalated]=\\\"isEscalated\\\"\\u003E\\u003C\\u002Fincident-activities-header\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv\\u003EIncident updated:\\u003Cstrong\\u003E\\u003Cspan *ngIf=\\\"showFriendlyTimestamps\\\" title=\\\"{{activity.modifiedOn | amLocal | amDateFormat: 'dddd, MMMM Do YYYY, h:mm a' }}\\\"\\u003E\\n{{activity.modifiedOn | amTimeAgo}}\\u003C\\u002Fspan\\u003E\\u003Cspan *ngIf=\\\"!showFriendlyTimestamps\\\" title=\\\"{{activity.modifiedOn | amTimeAgo }}\\\"\\u003E\\n{{activity.modifiedOn | amLocal | amDateFormat: 'dddd, MMMM Do YYYY, h:mm a' }}\\u003C\\u002Fspan\\u003E\\u003C\\u002Fstrong\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cincident-activities-render [id]=\\\"id\\\" [activity]=\\\"activity\\\" [isEscalated]=\\\"isEscalated\\\" [isMetallic]=\\\"isMetallic\\\"\\u003E\\u003C\\u002Fincident-activities-render\\u003E\\u003C\\u002Faccordion-group\\u003E\\u003C\\u002Faccordion\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cdiv class=\\\"alert alert-warning\\\" *ngIf=\\\"!canEscalate\\\"\\u003EIncident {{id}} is currently not in a valid state to be escalated.\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"card\\\" *ngIf=\\\"canEscalate\\\"\\u003E\\u003Cdiv class=\\\"card-header d-flex justify-content-between\\\"\\u003E\\u003Ch4\\u003EField Escalation - Incident {{id}}\\u003C\\u002Fh4\\u003E\\u003Cbutton class=\\\"close\\\" type=\\\"button\\\" (click)=\\\"onCancel()\\\" aria-label=\\\"Close\\\"\\u003E\\u003Cspan aria-hidden=\\\"true\\\"\\u003E×\\u003C\\u002Fspan\\u003E\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"card-body\\\"\\u003E\\u003Cdiv class=\\\"alert alert-danger\\\" *ngIf=\\\"isError\\\"\\u003E\\u003Cp\\u003E\\u003Cstrong\\u003EWe are sorry. Field escalation is not submitted at this moment of time. Please try again.\\t\\t\\t\\t\\u003C\\u002Fstrong\\u003E\\u003C\\u002Fp\\u003E\\u003Cp\\u003EIf resubmitting your request again does not work, please reach out to the \\t\\t\\t\\u003Ca href=\\\"mailto:CE_Apps@commvault.com\\\"\\u003ECEA Team \\u003C\\u002Fa\\u003Efor assistance.\\u003C\\u002Fp\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cp class=\\\"help-text\\\"\\u003E \\u003Cstrong\\u003ESupport Escalation process provides Commvault employees with an ability to flag support incidents requiring extra attention to Customer Support Management.\\u003C\\u002Fstrong\\u003E\\u003Cbr\\u003E\\u003Cbr\\u003E\\u003Cstrong\\u003EBelow are typical situations where an escalation of a case may be necessary.\\u003C\\u002Fstrong\\u003E\\u003Cbr\\u003E\\u003Cbr\\u003E\\u003Cstrong\\u003E - Potential impact to a current pending sales transaction\\u003C\\u002Fstrong\\u003E\\u003Cbr\\u003E\\u003Cstrong\\u003E- Customer has raised concern on the progress of a case\\u003C\\u002Fstrong\\u003E\\u003Cbr\\u003E\\u003Cstrong\\u003E- The level of criticality needs to be raised due to a greater business impact\\u003C\\u002Fstrong\\u003E\\u003Cbr\\u003E\\u003Cstrong\\u003E- Expectations are not being met with the customer\\u003C\\u002Fstrong\\u003E\\u003Cbr\\u003E\\u003Cbr\\u003E\\u003Cstrong\\u003ESupport management will respond within 30 minutes and include acknowledgement as well as actions to be taken to address the current case escalation.\\u003C\\u002Fstrong\\u003E\\u003C\\u002Fp\\u003E\\u003Cdiv class=\\\"mt-3\\\" *ngIf=\\\"title\\\"\\u003E\\u003Clabel\\u003ETitle\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"form-value pre-wrap\\\"\\u003E{{title}}\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"mt-3\\\" *ngIf=\\\"status\\\"\\u003E\\u003Clabel\\u003ECurrent Incident Status\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"form-value pre-wrap\\\"\\u003E{{status}}\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"mt-3\\\" *ngIf=\\\"lastActivity && lastActivity.description && lastActivity.type\\\"\\u003E\\u003Clabel\\u003E\\u003Cincident-activities-header [id]=\\\"id\\\" [activity]=\\\"lastActivity\\\" [isEscalated]=\\\"isEscalated\\\"\\u003E\\u003C\\u002Fincident-activities-header\\u003E\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"form-value pre-wrap\\\"\\u003E\\u003Cincident-activities-render [id]=\\\"id\\\" [activity]=\\\"lastActivity\\\" [isEscalated]=\\\"isEscalated\\\"\\u003E\\u003C\\u002Fincident-activities-render\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"mt-3\\\" [formGroup]=\\\"formGroup\\\"\\u003E\\u003Clabel class=\\\"form-check-label\\\"\\u003E\\u003C\\u002Flabel\\u003E\\u003Cinput class=\\\"form-check-custom\\\" formControlName=\\\"isConfirmedChecked\\\" type=\\\"checkbox\\\" name=\\\"review\\\"\\u003E I have reviewed the current status and most recent update on \\u003Ca href=\\\"{{incidentDetailsUrl}}\\\"\\u003Ethis incident \\u003C\\u002Fa\\u003Eand affirm that a Field Escalation is still needed.\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"card-footer alert-warning\\\"\\u003E\\u003Cdiv class=\\\"row\\\"\\u003E\\u003Cdiv class=\\\"col-sm-12\\\"\\u003EDo you still wish to proceed with submitting a Field Escalation on incident {{id}} ?\\u003Cdiv class=\\\"float-right\\\"\\u003E\\u003Cbutton class=\\\"btn btn-secondary btn-sm\\\" type=\\\"button\\\" (click)=\\\"onCancel()\\\"\\u003ECancel\\u003C\\u002Fbutton\\u003E\\u003Cbutton class=\\\"btn btn-primary btn-sm ml-3\\\" type=\\\"submit\\\" title=\\\"Confirm\\\" [disabled]=\\\"!formGroup.valid\\\" (click)=\\\"confirm()\\\"\\u003EYes - Please Continue\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cdiv class=\\\"alert alert-warning\\\" *ngIf=\\\"!canEscalate\\\"\\u003EIncident {{id}} is currently not in a valid state to be escalated.\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"card\\\" *ngIf=\\\"canEscalate\\\"\\u003E\\u003Cdiv class=\\\"card-header d-flex justify-content-between\\\"\\u003E\\u003Ch4\\u003EField Escalation - Incident {{id}}\\u003C\\u002Fh4\\u003E\\u003Cbutton class=\\\"close\\\" type=\\\"button\\\" (click)=\\\"onCancel()\\\" aria-label=\\\"Close\\\"\\u003E\\u003Cspan aria-hidden=\\\"true\\\"\\u003E×\\u003C\\u002Fspan\\u003E\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"card-body\\\"\\u003E\\u003Cdiv class=\\\"alert alert-danger\\\" *ngIf=\\\"isError\\\"\\u003E\\u003Cp\\u003E\\u003Cstrong\\u003EWe are sorry. Field escalation is not submitted at this moment of time. Please try again.\\t\\t\\t\\t\\u003C\\u002Fstrong\\u003E\\u003C\\u002Fp\\u003E\\u003Cp\\u003EIf resubmitting your request again does not work, please reach out to the \\t\\t\\t\\u003Ca href=\\\"mailto:CE_Apps@commvault.com\\\"\\u003ECEA Team \\u003C\\u002Fa\\u003Efor assistance.\\u003C\\u002Fp\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv *ngIf=\\\"customerName\\\"\\u003E\\u003Clabel\\u003ECustomer\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"form-value pre-wrap\\\"\\u003E{{customerName}}\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"mt-3 email-cc\\\" [formGroup]=\\\"formGroup\\\"\\u003E\\u003Clabel\\u003EAdditional Commvault Contact(s)\\u003C\\u002Flabel\\u003E\\u003Cp-autoComplete #dlelement formControlName=\\\"emailCC\\\" [suggestions]=\\\"results\\\" (completeMethod)=\\\"search($event)\\\" (onSelect)=\\\"select($event)\\\" (onUnselect)=\\\"unselect($event)\\\" field=\\\"name\\\" [forceSelection]=\\\"true\\\" [multiple]=\\\"true\\\" [delay]=\\\"500\\\" [minLength]=\\\"3\\\"\\u003E\\u003C\\u002Fp-autoComplete\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"mt-3\\\" *ngIf=\\\"title\\\"\\u003E\\u003Clabel\\u003ETitle\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"form-value pre-wrap\\\"\\u003E{{title}}\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"mt-3\\\" *ngIf=\\\"description\\\"\\u003E\\u003Clabel\\u003EDescription\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"form-value pre-wrap\\\"\\u003E{{description}}\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"mt-3\\\" [formGroup]=\\\"formGroup\\\"\\u003E\\u003Clabel\\u003EEscalation Description\\u003C\\u002Flabel\\u003E\\u003Ctextarea class=\\\"form-control\\\" formControlName=\\\"escalationDescription\\\" (keyup.escape)=\\\"onCancel()\\\" bits-auto-grow required\\u003E\\u003C\\u002Ftextarea\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"card-footer alert-warning\\\"\\u003E\\u003Cdiv class=\\\"row\\\"\\u003E\\u003Cdiv class=\\\"col-sm-12\\\"\\u003EPlease be advised, submitting this will flag the Incident for urgent review.\\u003Cdiv class=\\\"float-right\\\"\\u003E\\u003Cbutton class=\\\"btn btn-secondary btn-sm\\\" type=\\\"button\\\" (click)=\\\"onCancel()\\\"\\u003ECancel\\u003C\\u002Fbutton\\u003E\\u003Cbutton class=\\\"btn btn-primary btn-sm ml-3\\\" type=\\\"submit\\\" title=\\\"Submit\\\" [disabled]=\\\"!formGroup.valid\\\" (click)=\\\"submit()\\\"\\u003ESubmit\\t\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cdiv class=\\\"card\\\"\\u003E\\u003Cdiv class=\\\"card-header d-flex justify-content-between\\\"\\u003E\\u003Ch4\\u003EInternal Note - Incident {{id}}\\u003C\\u002Fh4\\u003E\\u003Cbutton class=\\\"close\\\" type=\\\"button\\\" (click)=\\\"onCancel()\\\" aria-label=\\\"Close\\\"\\u003E\\u003Cspan aria-hidden=\\\"true\\\"\\u003E×\\u003C\\u002Fspan\\u003E\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"card-body\\\"\\u003E\\u003Cform #noteData=\\\"ngForm\\\"\\u003E\\u003Cdiv [formGroup]=\\\"formGroup\\\"\\u003E\\u003Clabel\\u003EDescription\\u003C\\u002Flabel\\u003E\\u003Ctextarea class=\\\"form-control\\\" formControlName=\\\"description\\\" (keyup.escape)=\\\"onCancel()\\\" bits-auto-grow required\\u003E\\u003C\\u002Ftextarea\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fform\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"card-footer alert-warning\\\"\\u003E\\u003Cdiv class=\\\"row button-row\\\"\\u003E\\u003Cdiv\\u003EThis is ONLY for information purposes and will not change the status of the ticket, alert the engineer or raise urgency and if they need to do any of that to utilize Field Escalation options.\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"button-col\\\"\\u003E\\u003Cbutton class=\\\"btn btn-secondary btn-sm\\\" type=\\\"button\\\" (click)=\\\"onCancel()\\\"\\u003ECancel\\u003C\\u002Fbutton\\u003E\\u003Cbutton class=\\\"btn btn-primary btn-sm ml-3\\\" type=\\\"submit\\\" title=\\\"Submit\\\" [disabled]=\\\"!formGroup.valid\\\" (click)=\\\"submit()\\\"\\u003ESubmit\\t\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cdiv class=\\\"alert alert-warning\\\" *ngIf=\\\"!isValid\\\"\\u003EIncident {{incidentId}} does not exist, or you do not have permissions to read it.\\u003C\\u002Fdiv\\u003E\\u003Carticle *ngIf=\\\"incident\\\"\\u003E\\u003Cdiv class=\\\"page-header\\\"\\u003E\\u003Cdiv class=\\\"row\\\"\\u003E\\u003Cdiv class=\\\"col-12\\\"\\u003E\\u003Ch4 class=\\\"text-muted\\\"\\u003EIncident {{incident.ticketNumber}}\\u003C\\u002Fh4\\u003E\\u003Ch3\\u003E{{incident.title}}\\u003C\\u002Fh3\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-12\\\"\\u003E\\u003Cdiv class=\\\"btn-toolbar align-bottom mb-2 mt-2 pt-2 pb-2 border-top border-bottom\\\" role=\\\"toolbar\\\"\\u003E\\u003Capp-voting (voted)=\\\"onVoted($event)\\\" [count]=\\\"votedCount\\\" [userVote]=\\\"userVote\\\"\\u003E\\u003C\\u002Fapp-voting\\u003E\\u003Cdiv class=\\\"btn-group btn-group-sm ml-2\\\" role=\\\"group\\\"\\u003E\\u003Cbutton class=\\\"btn btn-danger\\\" *ngIf=\\\"isFieldEscalated || !isActiveState\\\" title=\\\"Field Escalation is not available for this Incident\\\" disabled\\u003E\\u003Cfa-icon icon=\\\"bell\\\"\\u003E\\u003C\\u002Ffa-icon\\u003E Support Escalation\\u003C\\u002Fbutton\\u003E\\u003Cbutton class=\\\"btn btn-danger\\\" *ngIf=\\\"!isFieldEscalated && isActiveState\\\" title=\\\"Escalate to Support Management\\\" (click)=\\\"escalation()\\\"\\u003E\\u003Cfa-icon icon=\\\"bell\\\"\\u003E\\u003C\\u002Ffa-icon\\u003E Support Escalation\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"btn-group btn-group-sm ml-2\\\" role=\\\"group\\\"\\u003E\\u003Cbutton class=\\\"btn btn-warning\\\" title=\\\"Internal Note\\\" (click)=\\\"internalNote()\\\"\\u003E\\u003Cfa-icon icon=\\\"bell\\\"\\u003E\\u003C\\u002Ffa-icon\\u003E Internal Note\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"btn-group btn-group-sm ml-2\\\" role=\\\"group\\\"\\u003E\\u003Cbutton class=\\\"btn btn-primary\\\" title=\\\"Refresh Incident\\\" (click)=\\\"refresh()\\\"\\u003E\\u003Cfa-icon icon=\\\"sync\\\"\\u003E\\u003C\\u002Ffa-icon\\u003E Refresh\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"btn-group btn-group-sm ml-2\\\" role=\\\"group\\\"\\u003E\\u003Cbutton class=\\\"btn btn-primary\\\" title=\\\"Share\\\" (click)=\\\"share()\\\"\\u003E\\u003Cfa-icon icon=\\\"share\\\"\\u003E\\u003C\\u002Ffa-icon\\u003E Share\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"btn-group btn-group-sm ml-2\\\" role=\\\"group\\\"\\u003E\\u003Cbutton class=\\\"btn btn-primary\\\" title=\\\"Reindex incident for search\\\" (click)=\\\"reindex()\\\"\\u003E\\u003Cfa-icon icon=\\\"sync\\\"\\u003E\\u003C\\u002Ffa-icon\\u003E Reindex\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"btn-group btn-group-sm ml-2\\\" *ngIf=\\\"!isCaseSubscribe\\\" role=\\\"group\\\"\\u003E\\u003Cbutton class=\\\"btn btn-primary\\\" title=\\\"Subscribe to case updates\\\" (click)=\\\"subscribeToCase()\\\" [disabled]=\\\"isAccountSubscribe\\\"\\u003E\\u003Cfa-icon icon=\\\"envelope\\\"\\u003E\\u003C\\u002Ffa-icon\\u003E Subscribe to case updates\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"btn-group btn-group-sm ml-2\\\" *ngIf=\\\"isCaseSubscribe\\\" role=\\\"group\\\"\\u003E\\u003Cbutton class=\\\"btn btn-primary\\\" title=\\\"Unsubscribe to case updates\\\" (click)=\\\"unsubscribeToCase()\\\"\\u003E\\u003Cfa-icon icon=\\\"envelope\\\"\\u003E\\u003C\\u002Ffa-icon\\u003E Unsubscribe to case updates\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"btn-group btn-group-sm ml-2\\\" *ngIf=\\\"!isAccountSubscribe\\\" role=\\\"group\\\"\\u003E\\u003Cbutton class=\\\"btn btn-primary\\\" title=\\\"Subscribe to account updates\\\" (click)=\\\"subscribeToAccount()\\\"\\u003E\\u003Cfa-icon icon=\\\"envelope\\\"\\u003E\\u003C\\u002Ffa-icon\\u003E Subscribe to account updates\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"btn-group btn-group-sm ml-2\\\" *ngIf=\\\"isAccountSubscribe\\\" role=\\\"group\\\"\\u003E\\u003Cbutton class=\\\"btn btn-primary\\\" title=\\\"Unsubscribe to account updates\\\" (click)=\\\"unsubscribeToAccount()\\\"\\u003E\\u003Cfa-icon icon=\\\"envelope\\\"\\u003E\\u003C\\u002Ffa-icon\\u003E Unsubscribe to account updates\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"d-flex justify-content-end\\\"\\u003E\\u003Cp class=\\\"mb-0 mt-2\\\"\\u003E\\u003Csmall class=\\\"text-muted\\\"\\u003ELast updated {{lastUpdated | amTimeAgo}}\\u003C\\u002Fsmall\\u003E\\u003C\\u002Fp\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Capp-widget class=\\\"mb-3\\\" caption=\\\"General\\\"\\u003E\\u003Cdiv class=\\\"form-row\\\"\\u003E\\u003Cdiv class=\\\"col-sm-3 readonly-field\\\"\\u003E\\u003Clabel\\u003EStatus\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"form-value\\\"\\u003E{{incident.status}}\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-3 readonly-field\\\"\\u003E\\u003Clabel\\u003EOriginator\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"form-value\\\"\\u003E{{incident.accountName}}\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-3 readonly-field\\\"\\u003E\\u003Clabel\\u003EOwner\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"form-value\\\" *ngIf=\\\"incident.owningUserName\\\"\\u003E{{incident.owningUserName}}\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-value\\\" *ngIf=\\\"!incident.owningUserName\\\"\\u003E{{incident.supportTeamName}}\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-3 readonly-field\\\"\\u003E\\u003Clabel\\u003ECreated On\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"form-value\\\"\\u003E\\u003Cspan title=\\\"{{incident.createdOn}}\\\"\\u003E{{incident.createdOn | amLocal | amDateFormat: 'dddd, MMMM Do YYYY, h:mm a' }}\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-row\\\"\\u003E\\u003Cdiv class=\\\"col-sm-3 readonly-field\\\"\\u003E\\u003Clabel\\u003EState\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"form-value\\\"\\u003E {{incident.state}}\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-3 readonly-field\\\"\\u003E\\u003Clabel\\u003ECustomer\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"form-value\\\"\\u003E {{incident.contactName}}\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-3 readonly-field\\\"\\u003E\\u003Clabel\\u003ETeam Assigned\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"form-value\\\"\\u003E {{incident.supportTeamName}} \\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-3 readonly-field\\\"\\u003E\\u003Clabel\\u003ELast Updated\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"form-value\\\"\\u003E \\u003Cspan title=\\\"{{incident.modifiedOn}}\\\"\\u003E{{incident.modifiedOn | amLocal | amDateFormat: 'dddd, MMMM Do YYYY, h:mm a' }}\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-row\\\"\\u003E\\u003Cdiv class=\\\"col-sm-3 readonly-field\\\"\\u003E\\u003Clabel\\u003ESeverity\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"form-value\\\"\\u003E{{incident.severity}}\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-3 readonly-field\\\"\\u003E\\u003Clabel\\u003ESupport Partner\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"form-value\\\"\\u003E{{incident.supportPartnerName}}\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-3 readonly-field\\\"\\u003E\\u003Clabel\\u003EDevelopment Escalation\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"form-value\\\"\\u003E{{incident.developmentEscalation?.developmentTeam}}\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-3 readonly-field\\\"\\u003E\\u003Clabel\\u003EError Code\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"form-value\\\"\\u003E{{incident.errorCode}} \\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-row\\\"\\u003E\\u003Cdiv class=\\\"col-sm-3 readonly-field\\\"\\u003E\\u003Clabel\\u003EVersion\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"form-value\\\"\\u003E{{incident.applicationMajorVersion}} \\u003Cspan *ngIf=\\\"incident.applicationServicePack\\\"\\u003E{{incident.applicationServicePack}}\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-3 readonly-field\\\"\\u003E\\u003Clabel\\u003EContact\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"form-value\\\"\\u003E{{incident.contactName}}\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-6 readonly-field\\\"\\u003E\\u003Clabel\\u003EBusiness Impact\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"form-value\\\"\\u003E{{incident.businessImpact}} \\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-row\\\"\\u003E\\u003Cdiv class=\\\"col-sm-3 readonly-field\\\"\\u003E\\u003Clabel\\u003ECommCell\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"form-value\\\"\\u003E{{incident.commCellAlias}}\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-3 readonly-field\\\"\\u003E\\u003Clabel\\u003EContact Details\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"form-value\\\"\\u003E{{incident.contactDetails}}\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-6 readonly-field\\\"\\u003E\\u003Clabel\\u003EDesired Outcome\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"form-value\\\"\\u003E{{incident.desiredOutcome}}\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-row\\\"\\u003E\\u003Cdiv class=\\\"col-sm-12 readonly-field\\\"\\u003E\\u003Clabel\\u003EDescription\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"form-value pre-wrap\\\"\\u003E{{incident.description}} \\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-row\\\"\\u003E\\u003Cdiv class=\\\"col-sm-12 readonly-field\\\"\\u003E\\u003Clabel\\u003EClassification\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"form-value pre-wrap\\\"\\u003E{{incident.classificationText}}\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-row\\\" *ngIf=\\\"incident.state.toLowerCase() === 'active' &&\\tincident.taxonomyPath\\\"\\u003E\\u003Cdiv class=\\\"col-sm-12 readonly-field\\\"\\u003E\\u003Clabel\\u003ECurrent Taxonomy\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"form-value pre-wrap\\\"\\u003E{{incident.taxonomyPath}}\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-row\\\" *ngIf=\\\"incident.state.toLowerCase() === 'resolved' && incident.resolution?.classificationText\\\"\\u003E\\u003Cdiv class=\\\"col-sm-12 readonly-field\\\"\\u003E\\u003Clabel\\u003EResolution Taxonomy\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"form-value pre-wrap\\\"\\u003E{{incident.resolution.classificationText}}\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-row\\\" *ngIf=\\\"incident.patchName\\\"\\u003E\\u003Cdiv class=\\\"col-sm-6 readonly-field\\\"\\u003E\\u003Clabel\\u003EPatch Name\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"form-value\\\"\\u003E{{incident.patchName}} \\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fapp-widget\\u003E\\u003Capp-widget class=\\\"mb-3\\\" *ngIf=\\\"incident.subscriptionType\\\" caption=\\\"Metallic Subscription Details\\\"\\u003E\\u003Cdiv class=\\\"form-row\\\"\\u003E\\u003Cdiv class=\\\"col-sm-3 readonly-field\\\"\\u003E\\u003Clabel\\u003ESubscription Type\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"form-value\\\"\\u003E{{incident.subscriptionType}}\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-3 readonly-field\\\"\\u003E\\u003Clabel\\u003EProduct Type\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"form-value\\\"\\u003E{{incident.productType}}\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-6 readonly-field\\\"\\u003E\\u003Clabel\\u003ECustomer Status\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"form-value\\\"\\u003E{{incident.customerStatus}} \\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-row\\\"\\u003E\\u003Cdiv class=\\\"col-sm-12 readonly-field\\\"\\u003E\\u003Clabel\\u003ECommand Center URL\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"form-value\\\"\\u003E{{incident.commandCenterUrl}}\\t\\t\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fapp-widget\\u003E\\u003Capp-widget class=\\\"mb-3 d-block\\\" *ngIf=\\\"incident.resolution\\\" caption=\\\"Resolution\\\"\\u003E\\u003Cdiv\\u003E\\u003Cdiv class=\\\"form-row\\\" *ngIf=\\\"incident.resolution?.findingDetails\\\"\\u003E\\u003Cdiv class=\\\"col-sm-12 readonly-field\\\"\\u003E\\u003Clabel\\u003EMessage to the Customer\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"form-value pre-wrap\\\"\\u003E{{incident.resolution?.findingDetails}}\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-row\\\" *ngIf=\\\"incident.resolution?.summarizeCustomerExperience\\\"\\u003E\\u003Cdiv class=\\\"col-sm-12 readonly-field\\\"\\u003E\\u003Clabel\\u003EBrief Issue Description\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"form-value pre-wrap\\\"\\u003E{{incident.resolution?.summarizeCustomerExperience}}\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-row\\\" *ngIf=\\\"incident.resolution?.rootCauseOfIssue\\\"\\u003E\\u003Cdiv class=\\\"col-sm-12 readonly-field\\\"\\u003E\\u003Clabel\\u003ERoot Cause \\u002F Failure Reason\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"form-value pre-wrap\\\"\\u003E{{incident.resolution?.rootCauseOfIssue}}\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-row\\\" *ngIf=\\\"incident.resolution?.howToResolve\\\"\\u003E\\u003Cdiv class=\\\"col-sm-12 readonly-field\\\"\\u003E\\u003Clabel\\u003EResolution Steps\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"form-value pre-wrap\\\"\\u003E{{incident.resolution?.howToResolve}} \\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-row\\\" *ngIf=\\\"isMetallic && incident.resolution?.operationType\\\"\\u003E\\u003Cdiv class=\\\"col-sm-12 readonly-field\\\"\\u003E\\u003Clabel\\u003EOperation Type\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"form-value pre-wrap\\\"\\u003E{{incident.resolution?.operationType}}\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-row\\\" *ngIf=\\\"incident.resolution?.findings\\\"\\u003E\\u003Cdiv class=\\\"col-sm-12 readonly-field\\\"\\u003E\\u003Clabel\\u003EFindings\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"form-value pre-wrap\\\"\\u003E{{incident.resolution?.findings}}\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-row\\\" *ngIf=\\\"incident.resolution?.causes.length > 0\\\"\\u003E\\u003Cdiv class=\\\"col-sm-12 readonly-field\\\"\\u003E\\u003Clabel\\u003ECauses\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"form-value\\\"\\u003E\\u003Cul class=\\\"list-inline\\\"\\u003E\\u003Cli *ngIf=\\\"incident.resolution?.underlyingCause\\\"\\u003E{{incident.resolution?.underlyingCause}}\\u003C\\u002Fli\\u003E\\u003Cli *ngIf=\\\"incident.resolution?.secondaryCause\\\"\\u003E{{incident.resolution?.secondaryCause}}\\u003C\\u002Fli\\u003E\\u003Cli *ngIf=\\\"incident.resolution?.tertiaryCause\\\"\\u003E{{incident.resolution?.tertiaryCause}}\\u003C\\u002Fli\\u003E\\u003C\\u002Ful\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-row\\\" *ngIf=\\\"incident.resolution?.fixType && incident.resolution?.patchIdScriptServicePackOrMR\\\"\\u003E\\u003Cdiv class=\\\"col-md-12 readonly-field\\\"\\u003E\\u003Clabel\\u003E{{incident.resolution?.fixType}}\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"form-value pre-wrap\\\"\\u003E{{incident.resolution?.patchIdScriptServicePackOrMR}}\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-row\\\" *ngIf=\\\"isMetallic && incident.resolution?.summarizeCustomerExperience\\\"\\u003E\\u003Cdiv class=\\\"col-sm-12 readonly-field\\\"\\u003E\\u003Clabel\\u003EHow did the Customer Experience the Issue\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"form-value pre-wrap\\\"\\u003E{{incident.resolution?.summarizeCustomerExperience}}\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-row\\\" *ngIf=\\\"isMetallic && incident.resolution?.howToResolve\\\"\\u003E\\u003Cdiv class=\\\"col-sm-12 readonly-field\\\"\\u003E\\u003Clabel\\u003EHow was the Issue Resolved\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"form-value pre-wrap\\\"\\u003E{{incident.resolution?.howToResolve}} \\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-row\\\" *ngIf=\\\"isMetallic && incident.resolution?.rootCauseOfIssue\\\"\\u003E\\u003Cdiv class=\\\"col-sm-12 readonly-field\\\"\\u003E\\u003Clabel\\u003EIssue Identification and Cause\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"form-value pre-wrap\\\"\\u003E{{incident.resolution?.rootCauseOfIssue}}\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fapp-widget\\u003E\\u003Capp-widget caption=\\\"Activities\\\"\\u003E\\u003Cincident-activities-viewer [id]=\\\"incident.ticketNumber\\\" [searchTerms]=\\\"searchTerms\\\" [isMetallic]=\\\"isMetallic\\\"\\u003E\\u003C\\u002Fincident-activities-viewer\\u003E\\u003C\\u002Fapp-widget\\u003E\\u003C\\u002Farticle\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cdiv class=\\\"alert alert-danger\\\" *ngIf=\\\"wasNotFound\\\" role=\\\"alert\\\"\\u003EWe are sorry. The requested PSR Activities does not seem to exist or you do not have permission to view it.\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"d-flex justify-content-between\\\" *ngIf=\\\"activities\\\"\\u003E\\u003Cdiv class=\\\"d-flex align-items-start\\\"\\u003E\\u003Cdiv class=\\\"btn-group mr-2\\\" data-toggle=\\\"buttons\\\"\\u003E\\u003Clabel class=\\\"btn btn-secondary\\\" (click)=\\\"expandAllActivities($event)\\\"\\u003E\\u003Cfa-icon icon=\\\"expand-alt\\\"\\u003E\\u003C\\u002Ffa-icon\\u003E\\nExpand All\\u003C\\u002Flabel\\u003E\\u003Clabel class=\\\"btn btn-secondary\\\" (click)=\\\"collapseAllActivities($event)\\\"\\u003E\\u003Cfa-icon icon=\\\"compress-alt\\\"\\u003E\\u003C\\u002Ffa-icon\\u003E\\nCollapse All\\u003C\\u002Flabel\\u003E\\u003Clabel class=\\\"btn btn-secondary\\\" [ngClass]=\\\"{ "disabled": !hasRemainingActivities }\\\" (click)=\\\"retrieveAllActivities($event)\\\"\\u003E\\u003Cfa-icon icon=\\\"eye\\\"\\u003E\\u003C\\u002Ffa-icon\\u003E\\nRetrieve All\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv\\u003E\\u003Cdiv class=\\\"btn-group-toggle\\\" data-toggle=\\\"buttons\\\"\\u003E\\u003Clabel class=\\\"btn btn-secondary\\\" [ngClass]=\\\"{ "active": showFriendlyTimestamps }\\\"\\u003E\\u003Cinput type=\\\"checkbox\\\" (click)=\\\"timeToggle()\\\"\\u003E Friendly Date\\u002FTimes\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Caccordion class=\\\"animate\\\" *ngIf=\\\"activities\\\" [ngClass]=\\\"{show: "expandAll"}\\\" data-toggle=\\\"collapse\\\"\\u003E\\u003Caccordion-group class=\\\"activity activity-{{ activity.type }}\\\" *ngFor=\\\"let activity of activities\\\" [ngSwitch]=\\\"activity.type\\\" [isOpen]=\\\"activity.isDisplayOpen\\\" (isOpenChange)=\\\"openChange(activity, $event)\\\" panelClass=\\\"scrollable-card\\\"\\u003E\\u003Cdiv accordion-heading\\u003E\\u003Cdiv class=\\\"d-flex justify-content-between\\\"\\u003E\\u003Cdiv\\u003E\\u003C!-- Escalation--\\u003E\\u003Cng-template [ngSwitchCase]=\\\"'PartnerServiceRequestEscalationActivity'\\\"\\u003E\\u003Cfa-icon icon=\\\"user\\\"\\u003E\\u003C\\u002Ffa-icon\\u003E\\n{{activity.subject}} Escalated by\\n\\u003Cstrong\\u003E{{activity.modifiedBy}}\\u003C\\u002Fstrong\\u003E\\u003C\\u002Fng-template\\u003E\\u003C!-- Resolution--\\u003E\\u003Cng-template [ngSwitchCase]=\\\"'PartnerServiceRequestResolutionActivity'\\\"\\u003E\\u003Cfa-icon icon=\\\"cogs\\\"\\u003E\\u003C\\u002Ffa-icon\\u003E\\n{{activity.subject}} Resolved by\\n\\u003Cstrong\\u003E{{activity.modifiedBy}}\\u003C\\u002Fstrong\\u003E\\u003C\\u002Fng-template\\u003E\\u003C!-- Update--\\u003E\\u003Cng-template [ngSwitchCase]=\\\"'PartnerServiceRequestUpdateActivity'\\\"\\u003E\\u003Cfa-icon icon=\\\"briefcase\\\"\\u003E\\u003C\\u002Ffa-icon\\u003E\\nUpdated by\\n\\u003Cstrong\\u003E{{activity.modifiedBy}}\\u003C\\u002Fstrong\\u003E\\u003C\\u002Fng-template\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv\\u003E\\u003Cstrong\\u003E\\u003Cspan *ngIf=\\\"showFriendlyTimestamps\\\" title=\\\"{{activity.modifiedOn | amLocal | amDateFormat: 'dddd, MMMM Do YYYY, h:mm a' }}\\\"\\u003E{{activity.modifiedOn | amLocal | amTimeAgo}}\\u003C\\u002Fspan\\u003E\\u003Cspan *ngIf=\\\"!showFriendlyTimestamps\\\" title=\\\"{{activity.modifiedOn | amTimeAgo }}\\\"\\u003E{{activity.modifiedOn | amLocal | amDateFormat: 'dddd, MMMM Do YYYY, h:mm a' }}\\u003C\\u002Fspan\\u003E\\u003C\\u002Fstrong\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C!-- Update--\\u003E\\u003Cng-template [ngSwitchCase]=\\\"'PartnerServiceRequestUpdateActivity'\\\"\\u003E\\u003Cdiv class=\\\"row\\\" *ngIf=\\\"activity.description\\\"\\u003E\\u003Cdiv class=\\\"col-sm-5 col-md-4 col-lg-9 pre-wrap\\\" [innerHTML]=\\\"activity.description\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fng-template\\u003E\\u003C!-- Escalation--\\u003E\\u003Cng-template [ngSwitchCase]=\\\"'PartnerServiceRequestEscalationActivity'\\\"\\u003E\\u003Cdiv class=\\\"row\\\" *ngIf=\\\"activity.escalationType\\\"\\u003E\\u003Cdiv class=\\\"col-sm-1 col-md-2 col-lg-1\\\"\\u003E\\u003Cstrong\\u003EEscalation Type:\\u003C\\u002Fstrong\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-1 col-md-1col-lg-1 pre-wrap\\\" [innerHTML]=\\\"activity.escalationType\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"row\\\" *ngIf=\\\"activity.assignedTo\\\"\\u003E\\u003Cdiv class=\\\"col-sm-1 col-md-2 col-lg-1\\\"\\u003E\\u003Cstrong\\u003EAlias Assigned to:\\u003C\\u002Fstrong\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-1 col-md-1 col-lg-1 pre-wrap\\\" [innerHTML]=\\\"activity.assignedTo\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"row\\\" *ngIf=\\\"activity.recipient\\\"\\u003E\\u003Cdiv class=\\\"col-sm-1 col-md-2 col-lg-1\\\"\\u003E\\u003Cstrong\\u003ERecipents:\\u003C\\u002Fstrong\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-1 col-md-1 col-lg-1 pre-wrap\\\" [innerHTML]=\\\"activity.recipient\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"row\\\" *ngIf=\\\"activity.description\\\"\\u003E\\u003Cdiv class=\\\"col-sm-1 col-md-2 col-lg-1\\\"\\u003E\\u003Cstrong\\u003EEscalation Details:\\u003C\\u002Fstrong\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-1 col-md-1 col-lg-9 pre-wrap\\\" [innerHTML]=\\\"activity.description\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fng-template\\u003E\\u003C!-- Resolution--\\u003E\\u003Cng-template [ngSwitchCase]=\\\"'PartnerServiceRequestResolutionActivity'\\\"\\u003E\\u003Cdiv class=\\\"row\\\" *ngIf=\\\"activity.description\\\"\\u003E\\u003Cdiv class=\\\"col-sm-1 col-md-2 col-lg-1\\\"\\u003E\\u003Cstrong\\u003EClosure Details:\\u003C\\u002Fstrong\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-1 col-md-1 col-lg-9 pre-wrap\\\" [innerHTML]=\\\"activity.description\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"row\\\" *ngIf=\\\"activity.requestCategory\\\"\\u003E\\u003Cdiv class=\\\"col-sm-1 col-md-4 col-lg-1\\\"\\u003E\\u003Cstrong\\u003ERequest Category:\\u003C\\u002Fstrong\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-1 col-md-1 col-lg-1 pre-wrap\\\" [innerHTML]=\\\"activity.requestCategory\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"row\\\" *ngIf=\\\"activity.resolveCategory\\\"\\u003E\\u003Cdiv class=\\\"col-sm-1 col-md-4 col-lg-1\\\"\\u003E\\u003Cstrong\\u003EResolve Category:\\u003C\\u002Fstrong\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-1 col-md-1 col-lg-1 pre-wrap\\\" [innerHTML]=\\\"activity.resolveCategory\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"row\\\" *ngIf=\\\"activity.requestTopic\\\"\\u003E\\u003Cdiv class=\\\"col-sm-1 col-md-4 col-lg-1\\\"\\u003E\\u003Cstrong\\u003ERequest Topic:\\u003C\\u002Fstrong\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-1 col-md-1 col-lg-1 pre-wrap\\\" [innerHTML]=\\\"activity.requestTopic\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"row\\\" *ngIf=\\\"activity.resolveTopic\\\"\\u003E\\u003Cdiv class=\\\"col-sm-1 col-md-4 col-lg-1\\\"\\u003E\\u003Cstrong\\u003EResolve Topic:\\u003C\\u002Fstrong\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-1 col-md-1 col-lg-1 pre-wrap\\\" [innerHTML]=\\\"activity.resolveTopic\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fng-template\\u003E\\u003C\\u002Faccordion-group\\u003E\\u003C\\u002Faccordion\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cdiv class=\\\"alert alert-danger\\\" *ngIf=\\\"wasNotFound\\\" role=\\\"alert\\\"\\u003EWe are sorry. The requested PSR does not seem to exist or you do not have permission to view it.\\u003C\\u002Fdiv\\u003E\\u003Carticle *ngIf=\\\"request\\\"\\u003E\\u003Cdiv class=\\\"page-header\\\"\\u003E\\u003Cdiv class=\\\"row\\\"\\u003E\\u003Cdiv class=\\\"col-12\\\"\\u003E\\u003Ch3\\u003E{{request.title}}\\u003C\\u002Fh3\\u003E\\u003Ch4 class=\\\"text-muted\\\"\\u003EPartner Service Request {{request.referenceNumber}}\\u003C\\u002Fh4\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Capp-widget class=\\\"mb-3\\\" caption=\\\"General\\\"\\u003E\\u003Cdiv class=\\\"form-row\\\"\\u003E\\u003Cdiv class=\\\"col-sm-3 readonly-field\\\"\\u003E\\u003Clabel\\u003ECategory\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"form-control\\\"\\u003E{{request.category}}\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-3 readonly-field\\\"\\u003E\\u003Clabel\\u003ETopic\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"form-control\\\"\\u003E{{request.topic}}\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-3 readonly-field\\\"\\u003E\\u003Clabel\\u003EOwning User\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"form-control\\\"\\u003E{{request.owningUser}}\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-row\\\"\\u003E\\u003Cdiv class=\\\"col-sm-9 readonly-field\\\"\\u003E\\u003Clabel\\u003ECustomer\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"form-control\\\"\\u003E {{request.customerName}}\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-row\\\"\\u003E\\u003Cdiv class=\\\"col-sm-3 readonly-field\\\"\\u003E\\u003Clabel\\u003ERequested By\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"form-control\\\"\\u003E {{request.requestedBy}}\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-3 readonly-field\\\"\\u003E\\u003Clabel\\u003EContact Method\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"form-control\\\"\\u003E {{request.preferredContactMethod}}\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-3 readonly-field\\\"\\u003E\\u003Clabel\\u003EContact Details\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"form-control\\\"\\u003E {{request.preferredContactDetails}}\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-row\\\"\\u003E\\u003Cdiv class=\\\"col-sm-3 readonly-field\\\"\\u003E\\u003Clabel\\u003EDeal Size\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"form-control\\\"\\u003E {{request.dealSize}}\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-3 readonly-field\\\"\\u003E\\u003Clabel\\u003EOpportunity Id\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"form-control\\\"\\u003E {{request.opportunityId}}\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-3 readonly-field\\\"\\u003E\\u003Clabel\\u003EOpportunity Link\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"form-control\\\"\\u003E {{request.opportunityLink}}\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-row\\\"\\u003E\\u003Cdiv class=\\\"col-sm-12 readonly-field\\\"\\u003E\\u003Clabel\\u003EOpportunity Description\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"form-control pre-wrap\\\"\\u003E{{request.opportunityDescription}}\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-row\\\"\\u003E\\u003Cdiv class=\\\"col-sm-3 readonly-field\\\"\\u003E\\u003Clabel\\u003EStatus\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"form-control\\\"\\u003E {{request.status}}\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-3 readonly-field\\\"\\u003E\\u003Clabel\\u003ESeverity\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"form-control\\\"\\u003E {{request.severity}}\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-3 readonly-field\\\"\\u003E\\u003Clabel\\u003ECreated On\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"form-control\\\"\\u003E {{request.createdOn | amLocal | amDateFormat: 'dddd, MMMM Do YYYY, h:mm a'}}\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-3 readonly-field\\\"\\u003E\\u003Clabel\\u003EModified On\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"form-control\\\"\\u003E {{request.modifiedOn | amLocal | amDateFormat: 'dddd, MMMM Do YYYY, h:mm a'}}\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-row\\\"\\u003E\\u003Cdiv class=\\\"col-sm-12 readonly-field\\\"\\u003E\\u003Clabel\\u003EDescription\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"form-control pre-wrap\\\"\\u003E{{request.description}}\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Capp-widget caption=\\\"Activities\\\"\\u003E\\u003Capp-psr-activities-viewer [id]=\\\"request.referenceNumber\\\"\\u003E\\u003C\\u002Fapp-psr-activities-viewer\\u003E\\u003C\\u002Fapp-widget\\u003E\\u003C\\u002Fapp-widget\\u003E\\u003C\\u002Farticle\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cdiv class=\\\"alert alert-info\\\" *ngIf=\\\"!definition\\\" role=\\\"alert\\\"\\u003ERetrieving report definition...\\u003C\\u002Fdiv\\u003E\\u003Cdiv *ngIf=\\\"definition\\\"\\u003E\\u003Cdiv class=\\\"page-header\\\"\\u003E\\u003Ch2\\u003EReport -\\n\\u003Csmall\\u003E{{definition.name}}\\u003C\\u002Fsmall\\u003E\\u003C\\u002Fh2\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cblockquote\\u003E\\u003Cp\\u003E{{definition.description}}\\u003C\\u002Fp\\u003E\\u003C\\u002Fblockquote\\u003E\\u003Cdiv class=\\\"row\\\" *ngIf=\\\"visibleParameters\\\"\\u003E\\u003Cdiv class=\\\"col-12\\\"\\u003E\\u003Cdiv class=\\\"row align-items-end mb-3\\\"\\u003E\\u003Cdiv class=\\\"col-sm-4 col-md-3 col-lg-2\\\" *ngFor=\\\"let parameter of visibleParameters\\\"\\u003E\\u003Clabel for=\\\"{{parameter.name}}\\\"\\u003E{{parameter.label}}\\u003C\\u002Flabel\\u003E\\u003Cdiv *ngIf=\\\"parameter.type === 'DateTime'\\\"\\u003E\\u003Cejs-datepicker [max]=\\\"maxDate\\\" [(value)]=\\\"parameter.value\\\"\\u003E\\u003C\\u002Fejs-datepicker\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv\\u003E\\u003Cbutton class=\\\"btn btn-primary\\\" (click)=\\\"renderReport()\\\"\\u003EView\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv *ngIf=\\\"report\\\"\\u003E\\u003Cdiv class=\\\"alert alert-warning\\\" *ngIf=\\\"!report || !report.data.resultsSet.items.length\\\" role=\\\"alert\\\"\\u003E\\u003Cem\\u003ENo users meet the criteria for appearing in the\\u003Cstrong\\u003E{{report.name}}\\u003C\\u002Fstrong\\u003E report.\\u003C\\u002Fem\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cejs-grid #grid [dataSource]=\\\"report.data.resultsSet.items\\\" [toolbar]=\\\"toolbarOptions\\\" [allowExcelExport]=\\\"true\\\" [allowPaging]=\\\"true\\\" [allowSorting]=\\\"true\\\" [sortSettings]=\\\"sortOptions\\\" [allowFiltering]=\\\"true\\\" [allowTextWrap]=\\\"true\\\" [filterSettings]=\\\"filterOptions\\\" [pageSettings]=\\\"pageSettings\\\" (toolbarClick)=\\\"onToolbarClick($event)\\\" (queryCellInfo)=\\\"onGridLoad($event)\\\"\\u003E\\u003Ce-columns\\u003E\\u003Ce-column *ngFor=\\\"let column of definition.columns\\\" [field]=\\\"column.field\\\" [headerText]=\\\"column.title\\\" width=\\\"{{ column.width }}\\\" [format]=\\\"column.format ? column.format : null\\\" [template]=\\\"column.template ? column.template : undefined\\\" [filter]=\\\"column.filterType ? {type: column.filterType} : filterOptions\\\"\\u003E\\u003C\\u002Fe-column\\u003E\\u003C\\u002Fe-columns\\u003E\\u003C\\u002Fejs-grid\\u003E\\u003Cp\\u003E\\u003Cem\\u003EGenerated on: {{report.data.generatedOn}}\\u003C\\u002Fem\\u003E\\u003C\\u002Fp\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"alert alert-info\\\" *ngIf=\\\"fetchingReport\\\" role=\\\"alert\\\"\\u003EGenerating report...\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cdiv\\u003E\\u003Ch2\\u003EReports\\u003C\\u002Fh2\\u003E\\u003Cdiv class=\\\"alert alert-warning\\\" *ngIf=\\\"!availableReports\\\"\\u003EYou do not have permissions to view any reports or none have been defined.\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"row\\\" *ngIf=\\\"availableReports\\\"\\u003E\\u003Cdiv class=\\\"col-md-6 col-lg-4 mb-4\\\" *ngFor=\\\"let reportInfo of availableReports\\\"\\u003E\\u003Cdiv class=\\\"card h-100\\\"\\u003E\\u003Cdiv class=\\\"card-header text-light bg-dark\\\"\\u003E{{ reportInfo.name }}\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"card-body\\\"\\u003E\\u003Cp\\u003E{{ reportInfo.description }}\\u003C\\u002Fp\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"card-footer bg-white\\\"\\u003E\\u003Ca class=\\\"btn btn-primary\\\" routerLink=\\\"render\\u002F{{ reportInfo.id }}\\\"\\u003EView Report\\u003C\\u002Fa\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cdiv class=\\\"card\\\" *ngIf=\\\"result\\\"\\u003E\\u003Cdiv class=\\\"card-body\\\"\\u003E\\u003Cdiv class=\\\"d-flex card-title\\\"\\u003E\\u003Cdiv\\u003E\\u003Cspan class=\\\"badge badge-secondary search-badge\\\"\\u003E{{ result.score | number:'.0-0' }}\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\\u003Ch5 class=\\\"mb-0\\\"\\u003E\\u003Cspan class=\\\"text-muted\\\"\\u003E {{ result.issueDescription }}{{ result.articleTypeLabel }} {{ result.id }} - \\u003Ca [routerLink]=\\\"['\\u002Farticle\\u002Fdetails', result.id, result.version]\\\" ngClass=\\\"{ 'article-unread': result.ViewedState != 0 }\\\"\\u003E{{ result.title }}\\u003C\\u002Fa\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fh5\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-row readonly-field\\\" *ngIf=\\\"result.highlights\\\"\\u003E\\u003Cdiv class=\\\"col-sm-2\\\"\\u003E\\u003Clabel\\u003EHighlights\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-7\\\"\\u003E\\u003Cspan class=\\\"search-result-details-highlight\\\" [innerHTML]=\\\"result.highlights\\\"\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-3 text-right\\\" *ngIf=\\\"!!result.lastViewedTimestamp\\\"\\u003E\\u003Cem title=\\\"{{ result.lastViewedTimestamp | amLocal | amDateFormat: "dddd, MMMM Do YYYY, h:mm a" }}\\\"\\u003E\\u003Csmall\\u003ELast Viewed {{ result.lastViewedTimestamp | amLocal | amCalendar }}\\u003C\\u002Fsmall\\u003E\\u003C\\u002Fem\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-row readonly-field\\\"\\u003E \\u003Cdiv class=\\\"col-12\\\"\\u003E\\u003Clabel\\u003EClassification\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-12\\\"\\u003E\\u003Cspan\\u003E{{ result.classificationText }}\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-row readonly-field\\\" *ngIf=\\\"result.symptoms\\\"\\u003E \\u003Cdiv class=\\\"col-12\\\"\\u003E\\u003Clabel\\u003ESymptoms\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-12\\\"\\u003E\\u003Cspan\\u003E{{ result.symptoms | truncate: 350 }}\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-row readonly-field\\\" *ngIf=\\\"result.cause\\\"\\u003E\\u003Cdiv class=\\\"col-12\\\"\\u003E\\u003Clabel\\u003ECause\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-12\\\"\\u003E\\u003Cspan\\u003E{{ result.cause | truncate: 350 }}\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-row readonly-field\\\" *ngIf=\\\"result.content\\\"\\u003E\\u003Cdiv class=\\\"col-12\\\"\\u003E\\u003Clabel\\u003EContent\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-12\\\"\\u003E\\u003Cspan\\u003E{{ result.content | truncate: 350 }}\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-row\\\"\\u003E\\u003Cdiv class=\\\"col-sm-6 readonly-field\\\"\\u003E\\u003Cdiv class=\\\"row\\\"\\u003E\\u003Cdiv class=\\\"col-sm-12\\\"\\u003E\\u003Clabel\\u003EDeflections\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-12\\\"\\u003E\\u003Cspan\\u003E{{ result.deflectionCount }}\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-6 readonly-field\\\"\\u003E\\u003Cdiv class=\\\"row\\\"\\u003E\\u003Cdiv class=\\\"col-sm-12\\\"\\u003E\\u003Clabel\\u003EAffected Versions\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-12\\\"\\u003E\\u003Cspan *ngIf=\\\"result.affectedVersions\\\"\\u003E{{ result.affectedVersions.join(\\\", \\\") }}\\u003C\\u002Fspan\\u003E\\u003Cspan *ngIf=\\\"!result.affectedVersions\\\"\\u003E \\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-row\\\"\\u003E\\u003Cdiv class=\\\"col-sm-6 readonly-field\\\"\\u003E\\u003Cdiv class=\\\"row\\\"\\u003E\\u003Cdiv class=\\\"col-sm-12\\\"\\u003E\\u003Clabel\\u003ELast Modified\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-12\\\"\\u003E\\u003Cspan\\u003E{{ result.lastModifiedBy }} @\\u003Cspan title=\\\"{{ result.lastModifiedOn | amLocal | amDateFormat: 'dddd, MMMM Do YYYY, h:mm a' }}\\\"\\u003E {{ result.lastModifiedOn | amLocal | amDateFormat: 'MMMM DD, YYYY' }}\\u003C\\u002Fspan\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-6 readonly-field\\\"\\u003E\\u003Cdiv class=\\\"row\\\"\\u003E\\u003Cdiv class=\\\"col-sm-12\\\"\\u003E\\u003Clabel\\u003ECreated\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-12\\\"\\u003E\\u003Cspan\\u003E{{ result.owningUser }} @\\u003Cspan title=\\\"{{ result.createdOn | amLocal | amDateFormat: 'dddd, MMMM Do YYYY, h:mm a' }}\\\"\\u003E {{ result.createdOn | amLocal | amDateFormat: 'MMMM DD, YYYY' }}\\u003C\\u002Fspan\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cdiv class=\\\"card\\\" *ngIf=\\\"result\\\"\\u003E\\u003Cdiv class=\\\"card-body\\\"\\u003E\\u003Cdiv class=\\\"d-flex card-title\\\"\\u003E\\u003Cdiv\\u003E\\u003Cspan class=\\\"badge badge-secondary search-badge\\\"\\u003E{{ result.score | number:'.0-0' }}\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\\u003Ch5 class=\\\"mb-0\\\"\\u003E\\u003Cspan class=\\\"text-muted\\\"\\u003E{{ result.ticketNumber }} - \\u003Ca [routerLink]=\\\"['\\u002Fincident\\u002Fdetails', result.ticketNumber]\\\" [queryParams]=\\\"{ q: searchTerms }\\\"\\u003E{{ result.issueDescription }}\\u003C\\u002Fa\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fh5\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-row\\\" *ngIf=\\\"result.highlights\\\"\\u003E\\u003Cdiv class=\\\"col-sm-12\\\"\\u003E\\u003Cdiv class=\\\"row\\\"\\u003E\\u003Cdiv class=\\\"col-sm-12 col-md-2 col-lg-1 label-text-align\\\"\\u003E\\u003Clabel\\u003EHighlights\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-12 col-md-10 col-lg-11\\\"\\u003E\\u003Cspan class=\\\"search-result-details-highlight\\\" [innerHTML]=\\\"result.highlights\\\"\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-row\\\" *ngIf=\\\"result.resolutionFindings\\\"\\u003E\\u003Cdiv class=\\\"col-sm-12\\\"\\u003E\\u003Cdiv class=\\\"row\\\"\\u003E\\u003Cdiv class=\\\"col-sm-12 col-md-2 col-lg-1 label-text-align\\\"\\u003E\\u003Clabel\\u003E{{ resolutionLabel }}\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-12 col-md-10 col-lg-11\\\"\\u003E\\u003Cspan class=\\\"resolution\\\"\\u003E{{ result.resolutionFindings | truncate: 512 }}\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-row\\\"\\u003E\\u003Cdiv class=\\\"col-sm-4\\\"\\u003E\\u003Cdiv class=\\\"row\\\"\\u003E\\u003Cdiv class=\\\"col-sm-12 col-md-5 col-lg-4 label-text-align\\\"\\u003E\\u003Clabel\\u003EAffected Version\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-12 col-md-7 col-lg-8\\\"\\u003E\\u003Cspan\\u003E{{ result.affectedVersions }}\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-4\\\"\\u003E\\u003Cdiv class=\\\"row\\\"\\u003E\\u003Cdiv class=\\\"col-sm-12 col-md-5 col-lg-4 label-text-align\\\"\\u003E\\u003Clabel\\u003ECommCell\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-12 col-md-7 col-lg-8\\\"\\u003E\\u003Cspan\\u003E{{ result.commCellName }}\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-4\\\"\\u003E\\u003Cdiv class=\\\"row\\\"\\u003E\\u003Cdiv class=\\\"col-sm-12 col-md-5 label-text-align\\\"\\u003E\\u003Clabel\\u003EDev Alias\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-12 col-md-7\\\"\\u003E\\u003Cspan\\u003E{{ result.developmentRole }}\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-row\\\"\\u003E\\u003Cdiv class=\\\"col-sm-4\\\"\\u003E\\u003Cdiv class=\\\"row\\\"\\u003E\\u003Cdiv class=\\\"col-sm-12 col-md-5 col-lg-4 label-text-align\\\"\\u003E\\u003Clabel\\u003ECustomer\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-12 col-md-7 col-lg-8\\\"\\u003E\\u003Cspan\\u003E{{ result.customerName }}\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-4\\\"\\u003E\\u003Cdiv class=\\\"row\\\"\\u003E\\u003Cdiv class=\\\"col-sm-12 col-md-5 col-lg-4 label-text-align\\\"\\u003E\\u003Clabel class=\\\"text-right\\\"\\u003EContact\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-12 col-md-7 col-lg-8\\\"\\u003E\\u003Cspan\\u003E{{ result.contactName }}\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-4\\\"\\u003E\\u003Cdiv class=\\\"row\\\"\\u003E\\u003Cdiv class=\\\"col-sm-12 col-md-5 label-text-align\\\"\\u003E\\u003Clabel class=\\\"text-right\\\"\\u003EEscalated On\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-12 col-md-7\\\"\\u003E\\u003Cspan *ngIf=\\\"result.escalationDate\\\" title=\\\"{{ result.escalationDate | amLocal | amDateFormat: 'dddd, MMMM Do YYYY, h:mm a' }}\\\"\\u003E{{ result.escalationDate | amLocal | amDateFormat: 'MMMM DD, YYYY' }}\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-row\\\"\\u003E\\u003Cdiv class=\\\"col-sm-4\\\"\\u003E\\u003Cdiv class=\\\"row\\\"\\u003E\\u003Cdiv class=\\\"col-sm-12 col-md-5 col-lg-4 label-text-align\\\"\\u003E\\u003Clabel class=\\\"text-right\\\"\\u003ESeverity\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-12 col-md-7 col-lg-8\\\"\\u003E\\u003Cspan\\u003E{{ result.severity }}\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-4\\\"\\u003E\\u003Cdiv class=\\\"row\\\"\\u003E\\u003Cdiv class=\\\"col-sm-12 col-md-5 col-lg-4 label-text-align\\\"\\u003E\\u003Clabel\\u003EStatus\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-12 col-md-7 col-lg-8\\\"\\u003E\\u003Cspan\\u003E{{ result.incidentStatus }}\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-4\\\"\\u003E\\u003Cdiv class=\\\"row\\\"\\u003E\\u003Cdiv class=\\\"col-sm-12 col-md-5 label-text-align\\\"\\u003E\\u003Clabel\\u003ECreated On\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-12 col-md-7\\\"\\u003E\\u003Cspan title=\\\"{{ result.createdOn | amLocal | amDateFormat: 'dddd, MMMM Do YYYY, h:mm a' }}\\\"\\u003E{{ result.createdOn | amLocal | amDateFormat: 'MMMM DD, YYYY' }}\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-row\\\"\\u003E\\u003Cdiv class=\\\"col-sm-4\\\"\\u003E\\u003Cdiv class=\\\"row\\\"\\u003E\\u003Cdiv class=\\\"col-sm-12 col-md-5 col-lg-4 label-text-align\\\"\\u003E\\u003Clabel\\u003EOwning User\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-12 col-md-7 col-lg-8\\\"\\u003E\\u003Cspan\\u003E{{ result.owningUser }}\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-4\\\"\\u003E\\u003Cdiv class=\\\"row\\\"\\u003E\\u003Cdiv class=\\\"col-sm-12 col-md-5 col-lg-4 label-text-align\\\"\\u003E\\u003Clabel\\u003EOwning Role\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-12 col-md-7 col-lg-8\\\"\\u003E\\u003Cspan\\u003E{{ result.owningRoleNames }}\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-4\\\"\\u003E\\u003Cdiv class=\\\"row\\\"\\u003E\\u003Cdiv class=\\\"col-sm-12 col-md-5 label-text-align\\\"\\u003E\\u003Clabel\\u003ELast Update\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-12 col-md-7\\\"\\u003E\\u003Cspan title=\\\"{{ result.lastModifiedOn | amLocal | amDateFormat: 'dddd, MMMM Do YYYY, h:mm a' }}\\\"\\u003E{{ result.lastModifiedOn | amLocal | amDateFormat: 'MMMM DD, YYYY' }}\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-row\\\" *ngIf=\\\"result.patchName\\\"\\u003E\\u003Cdiv class=\\\"col-12 readonly-field\\\"\\u003E\\u003Clabel\\u003EPatch Name\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"form-control\\\"\\u003E{{ result.patchName }}\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cdiv class=\\\"card\\\" *ngIf=\\\"result\\\"\\u003E\\u003Cdiv class=\\\"card-body\\\"\\u003E\\u003Cdiv class=\\\"d-flex card-title\\\"\\u003E\\u003Cdiv\\u003E\\u003Cspan class=\\\"badge badge-secondary search-badge\\\"\\u003E{{ result.score | number:'.0-0' }}\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\\u003Ch5 class=\\\"mb-0\\\"\\u003E\\u003Cspan class=\\\"text-muted\\\"\\u003E{{ result.referenceNumber }} - \\u003Ca [routerLink]=\\\"['\\u002Fpsr\\u002Fdetails', result.referenceNumber]\\\"\\u003E{{ result.title }}\\u003C\\u002Fa\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fh5\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-row\\\" *ngIf=\\\"result.highlights\\\"\\u003E\\u003Cdiv class=\\\"col-sm-12 readonly-field\\\"\\u003E\\u003Clabel\\u003EHighlights\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"form-control search-result-details-highlight\\\" [innerHTML]=\\\"result.highlights\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-row\\\"\\u003E\\u003Cdiv class=\\\"col-sm-3 readonly-field\\\"\\u003E\\u003Clabel\\u003ECategory\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"form-control\\\"\\u003E{{ result.category }}\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-3 readonly-field\\\"\\u003E\\u003Clabel\\u003ETopic\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"form-control\\\"\\u003E{{ result.topic }}\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-3 readonly-field\\\"\\u003E\\u003Clabel\\u003EStatus\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"form-control\\\"\\u003E{{ result.status }}\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-3 readonly-field\\\"\\u003E\\u003Clabel\\u003ESeverity\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"form-control\\\"\\u003E{{ result.severity }}\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-row\\\" *ngIf=\\\"result.resolution\\\"\\u003E\\u003Cdiv class=\\\"col-sm-12 readonly-field\\\"\\u003E\\u003Clabel\\u003EResolution\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"form-control\\\"\\u003E{{ result.resolution | truncate: 350 }}\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-row\\\"\\u003E\\u003Cdiv class=\\\"col-sm-3 readonly-field\\\"\\u003E\\u003Clabel\\u003ERequested By\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"form-control\\\"\\u003E{{ result.requestedBy }}\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-3 readonly-field\\\" *ngIf=\\\"result.dealSize\\\"\\u003E\\u003Clabel\\u003EDeal Size\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"form-control\\\"\\u003E{{ result.dealSize }}\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-row\\\"\\u003E\\u003Cdiv class=\\\"col-sm-3 readonly-field\\\"\\u003E\\u003Clabel\\u003EOwning User\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"form-control\\\"\\u003E{{ result.owningUser }}\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-3 readonly-field\\\"\\u003E\\u003Clabel\\u003ECreated On\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"form-control\\\" title=\\\"{{ result.createdOn | amLocal | amDateFormat: 'dddd, MMMM Do YYYY, h:mm a' }}\\\"\\u003E{{ result.createdOn | amLocal | amDateFormat: 'MMMM DD, YYYY' }}\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-3 readonly-field\\\"\\u003E\\u003Clabel\\u003EModified On\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"form-control\\\" title=\\\"{{ result.modifiedOn | amLocal | amDateFormat: 'dddd, MMMM Do YYYY, h:mm a' }}\\\"\\u003E{{ result.modifiedOn | amLocal | amDateFormat: 'MMMM DD, YYYY' }}\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Ch2\\u003ESearch\\u003C\\u002Fh2\\u003E\\u003Cdiv class=\\\"alert alert-warning\\\" *ngIf=\\\"displaySearchWarning\\\"\\u003EPlease note, changing the search terms will remove any previously set filters.\\u003C\\u002Fdiv\\u003E\\u003Ctabset [class.hide-tab-headings]=\\\"hideSearchTab\\\"\\u003E\\u003Ctab heading=\\\"Search\\\"\\u003E\\u003Cform [formGroup]=\\\"searchForm\\\" (ngSubmit)=\\\"onSubmit()\\\"\\u003E\\u003Cdiv class=\\\"alert alert-danger\\\" *ngIf=\\\"responseHasNotices()\\\"\\u003E\\u003Cul\\u003E\\u003Cli *ngFor=\\\"let notice of unifiedSearchResponse.notices\\\"\\u003E{{notice}}\\u003C\\u002Fli\\u003E\\u003C\\u002Ful\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"row mb-3\\\"\\u003E\\u003Cdiv class=\\\"col-sm-8 col-md-9\\\"\\u003E\\u003Cdiv class=\\\"input-group mb-3 mt-2\\\"\\u003E\\u003Cinput class=\\\"form-control\\\" type=\\\"text\\\" placeholder=\\\"Type any term or phrase\\\" name=\\\"searchTerms\\\" formControlName=\\\"searchTerms\\\"\\u003E\\u003Cdiv class=\\\"input-group-append\\\"\\u003E\\u003Cbutton class=\\\"btn btn-outline-secondary\\\" type=\\\"button\\\" title=\\\"Clear Criteria\\\" (click)=\\\"clearCriteria();\\\"\\u003E\\u003Cfa-icon icon=\\\"minus\\\"\\u003E\\u003C\\u002Ffa-icon\\u003E\\u003C\\u002Fbutton\\u003E\\u003Cbutton class=\\\"btn btn-primary\\\" type=\\\"submit\\\" title=\\\"Search\\\"\\u003E\\u003Cfa-icon icon=\\\"search\\\"\\u003E\\u003C\\u002Ffa-icon\\u003E\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cul class=\\\"nav\\\" *ngIf=\\\"responseHasResults()\\\"\\u003E\\u003Cli class=\\\"nav-item dropdown\\\" dropdown=\\\"\\\" *ngIf=\\\"unifiedSearchResponse.sortFields\\\"\\u003E\\u003Cbutton class=\\\"btn btn-link nav-link dropdown-toggle\\\" role=\\\"button\\\" type=\\\"button\\\" dropdownToggle\\u003ESort By\\u003Cspan class=\\\"caret\\\"\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fbutton\\u003E\\u003Cul class=\\\"dropdown-menu\\\" *dropdownMenu\\u003E\\u003Cli *ngFor=\\\"let item of unifiedSearchResponse.sortFields | values:true\\\"\\u003E\\u003Cbutton class=\\\"btn btn-link dropdown-item results-order\\\" type=\\\"button\\\" [class.active]=\\\"!!searchRequest.sortOrder.length && searchRequest.sortOrder[0].field == item.key\\\" (click)=\\\"setSortField(item.key)\\\"\\u003E{{ item.value }}\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fli\\u003E\\u003C\\u002Ful\\u003E\\u003C\\u002Fli\\u003E\\u003Cli class=\\\"nav-item dropdown\\\" dropdown *ngIf=\\\"unifiedSearchResponse.sortFields\\\"\\u003E\\u003Cbutton class=\\\"btn btn-link nav-link dropdown-toggle\\\" type=\\\"button\\\" role=\\\"button\\\" dropdownToggle\\u003ESort Direction\\u003Cspan class=\\\"caret\\\"\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fbutton\\u003E\\u003Cul class=\\\"dropdown-menu\\\" *dropdownMenu\\u003E\\u003Cli\\u003E\\u003Cbutton class=\\\"btn btn-link nav-link dropdown-item results-direction\\\" type=\\\"button\\\" [class.active]=\\\"!!searchRequest.sortOrder.length && searchRequest.sortOrder[0].direction == 0\\\" (click)=\\\"setSortDirection(0)\\\"\\u003EAscending\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fli\\u003E\\u003Cli\\u003E\\u003Cbutton class=\\\"btn btn-link nav-link dropdown-item results-direction\\\" type=\\\"button\\\" [class.active]=\\\"!!searchRequest.sortOrder.length && searchRequest.sortOrder[0].direction == 1\\\" (click)=\\\"setSortDirection(1)\\\"\\u003EDescending\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fli\\u003E\\u003C\\u002Ful\\u003E\\u003C\\u002Fli\\u003E\\u003Cli class=\\\"nav-item dropdown\\\" dropdown\\u003E\\u003Cbutton class=\\\"btn btn-link nav-link dropdown-toggle\\\" type=\\\"button\\\" role=\\\"button\\\" dropdownToggle\\u003EResults Count\\u003Cspan class=\\\"caret\\\"\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fbutton\\u003E\\u003Cul class=\\\"dropdown-menu\\\" *dropdownMenu\\u003E\\u003Cli\\u003E\\u003Cbutton class=\\\"btn btn-link dropdown-item results-page-size\\\" type=\\\"button\\\" [class.active]=\\\"searchRequest.pageSize == 10\\\" (click)=\\\"setPageSize(10)\\\"\\u003EShow 10\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fli\\u003E\\u003Cli\\u003E\\u003Cbutton class=\\\"btn btn-link dropdown-item results-page-size\\\" type=\\\"button\\\" [class.active]=\\\"searchRequest.pageSize == 25\\\" (click)=\\\"setPageSize(25)\\\"\\u003EShow 25\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fli\\u003E\\u003Cli\\u003E\\u003Cbutton class=\\\"btn btn-link dropdown-item results-page-size\\\" type=\\\"button\\\" [class.active]=\\\"searchRequest.pageSize == 50\\\" (click)=\\\"setPageSize(50)\\\"\\u003EShow 50\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fli\\u003E\\u003Cli\\u003E\\u003Cbutton class=\\\"btn btn-link dropdown-item results-page-size\\\" type=\\\"button\\\" [class.active]=\\\"searchRequest.pageSize == 100\\\" (click)=\\\"setPageSize(100)\\\"\\u003EShow 100\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fli\\u003E\\u003C\\u002Ful\\u003E\\u003C\\u002Fli\\u003E\\u003C\\u002Ful\\u003E\\u003Cdiv *ngIf=\\\"responseHasResults()\\\"\\u003E\\u003Ctabset #staticTabs\\u003E\\u003Ctab *ngIf=\\\"unifiedSearchResponse.resultSets.psrs\\\" (selectTab)=\\\"activeTab('psrs')\\\"\\u003E\\u003Cng-template tabHeading\\u003E \\u003Cfa-icon icon=\\\"file-alt\\\"\\u003E\\u003C\\u002Ffa-icon\\u003E PSRs ({{unifiedSearchResponse?.resultSetsTotalMatching?.psrs}})\\u003C\\u002Fng-template\\u003E\\u003Cdiv class=\\\"mb-3\\\" *ngFor=\\\"let searchResult of unifiedSearchResponse?.resultSets?.psrs\\\"\\u003E\\u003Capp-psr-search-result [result]=\\\"searchResult\\\"\\u003E\\u003C\\u002Fapp-psr-search-result\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Ftab\\u003E\\u003Ctab *ngIf=\\\"unifiedSearchResponse.resultSets.incidents\\\" (selectTab)=\\\"activeTab('incidents')\\\"\\u003E\\u003Cng-template tabHeading\\u003E \\u003Cfa-icon icon=\\\"medkit\\\"\\u003E\\u003C\\u002Ffa-icon\\u003E Incidents ({{unifiedSearchResponse?.resultSetsTotalMatching?.incidents}})\\u003C\\u002Fng-template\\u003E\\u003Cdiv class=\\\"mb-3\\\" *ngFor=\\\"let searchResult of unifiedSearchResponse?.resultSets?.incidents\\\"\\u003E\\u003Capp-incident-search-result [result]=\\\"searchResult\\\" [searchTerms]=\\\"searchRequest.searchTerms\\\"\\u003E\\u003C\\u002Fapp-incident-search-result\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Ftab\\u003E\\u003Ctab *ngIf=\\\"unifiedSearchResponse.resultSets.articles\\\" (selectTab)=\\\"activeTab('articles')\\\"\\u003E\\u003Cng-template tabHeading\\u003E\\u003Cfa-icon icon=\\\"file-alt\\\"\\u003E\\u003C\\u002Ffa-icon\\u003E Articles ({{unifiedSearchResponse?.resultSetsTotalMatching?.articles}})\\u003C\\u002Fng-template\\u003E\\u003Cdiv class=\\\"mb-3\\\" *ngFor=\\\"let searchResult of unifiedSearchResponse?.resultSets?.articles\\\"\\u003E\\u003Capp-article-search-result [result]=\\\"searchResult\\\"\\u003E\\u003C\\u002Fapp-article-search-result\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Ftab\\u003E\\u003Ctab *ngIf=\\\"unifiedSearchResponse.resultSets.escalations\\\" (selectTab)=\\\"activeTab('escalations')\\\"\\u003E\\u003Cng-template tabHeading\\u003E \\u003Cfa-icon icon=\\\"medkit\\\"\\u003E\\u003C\\u002Ffa-icon\\u003E Eng Escalations ({{unifiedSearchResponse?.resultSetsTotalMatching?.escalations}})\\u003C\\u002Fng-template\\u003E\\u003Cdiv class=\\\"mb-3\\\" *ngFor=\\\"let searchResult of unifiedSearchResponse?.resultSets?.escalations\\\"\\u003E\\u003Capp-incident-search-result [result]=\\\"searchResult\\\" [searchTerms]=\\\"searchRequest.searchTerms\\\"\\u003E\\u003C\\u002Fapp-incident-search-result\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Ftab\\u003E\\u003C\\u002Ftabset\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cejs-pager *ngIf=\\\"responseHasResults()\\\" [totalRecordsCount]=\\\"totalRecords\\\" [pageSize]=\\\"searchRequest.pageSize\\\" [currentPage]=\\\"searchRequest.pageIndex\\\" (click)=\\\"change($event)\\\"\\u003E\\u003C\\u002Fejs-pager\\u003E\\u003Cdiv *ngIf=\\\"unifiedSearchResponse && unifiedSearchResponse.request && (unifiedSearchResponse.request.searchTerms || (unifiedSearchResponse.request.facets && unifiedSearchResponse.request.facets.length > 0)) && !unifiedSearchResponse.totalMatching\\\"\\u003E\\u003Cp\\u003E\\u003Cem\\u003ENo results were found based on specified criteria. Refine your search and resubmit.\\u003C\\u002Fem\\u003E\\u003C\\u002Fp\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-4 col-md-3 search-facets\\\" *ngIf=\\\"unifiedSearchResponse && unifiedSearchResponse.facets && unifiedSearchResponse.facets.length > 0\\\"\\u003E\\u003Caccordion class=\\\"animate\\\"\\u003E\\u003Caccordion-group *ngFor=\\\"let facet of unifiedSearchResponse.facets\\\" panelClass=\\\"search-accordion\\\" [isOpen]=\\\"isFacetKeySelected(facet.key)\\\"\\u003E\\u003Cdiv accordion-heading\\u003E{{ facet.label }}\\u003C\\u002Fdiv\\u003E\\u003Cp *ngIf=\\\"facet.items.length == 0\\\"\\u003ENo available facets based on current search criteria.\\u003C\\u002Fp\\u003E\\u003Cul class=\\\"list-unstyled row\\\" *ngIf=\\\"facet.items.length > 0\\\"\\u003E\\u003Cli [ngClass]=\\\"facet.maxItemLength <= 15 ? 'col-lg-6' : 'col-lg-12'\\\" *ngFor=\\\"let item of facet.items\\\"\\u003E\\u003Clabel class=\\\"text-nowrap mb-0\\\" [ngClass]=\\\"{ "text-muted": item.value == 0 }\\\"\\u003E\\u003Cinput type=\\\"checkbox\\\" value=\\\"{{ item.key }}\\\" (change)=\\\"toggleFacet(facet.key, item.key)\\\" [checked]=\\\"isFacetValueSelected(facet.key, item.key)\\\"\\u003E {{ item.key }}\\u003C\\u002Flabel\\u003E\\u003Cspan *ngIf=\\\"item && item.value > 0\\\"\\u003E ({{ item.value }})\\u003C\\u002Fspan\\u003E\\u003C\\u002Fli\\u003E\\u003C\\u002Ful\\u003E\\u003C\\u002Faccordion-group\\u003E\\u003C\\u002Faccordion\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fform\\u003E\\u003C\\u002Ftab\\u003E\\u003Ctab *ngFor=\\\"let tab of dynamicTabsList\\\" [removable]=\\\"true\\\" [active]=\\\"tab.active\\\" (removed)=\\\"onTabRemoved(tab)\\\"\\u003E\\u003Cng-template tabHeading\\u003E\\u003Cspan class=\\\"pr-1\\\" *ngIf=\\\"tab.type == 'incident'\\\"\\u003E\\u003Cfa-icon icon=\\\"medkit\\\"\\u003E\\u003C\\u002Ffa-icon\\u003E Incident - {{ tab.params.incidentId }}\\u003C\\u002Fspan\\u003E\\u003Cspan class=\\\"pr-1\\\" *ngIf=\\\"tab.type == 'article'\\\"\\u003E\\u003Cfa-icon icon=\\\"file-alt\\\"\\u003E\\u003C\\u002Ffa-icon\\u003E Article - {{ tab.params.id }}\\u003C\\u002Fspan\\u003E\\u003Cspan class=\\\"pr-1\\\" *ngIf=\\\"tab.type == 'psr'\\\"\\u003E\\u003Cfa-icon icon=\\\"file-alt\\\"\\u003E\\u003C\\u002Ffa-icon\\u003E PSR - {{ tab.params.id }}\\u003C\\u002Fspan\\u003E\\u003C\\u002Fng-template\\u003E\\u003Cdiv class=\\\"card-body\\\"\\u003E\\u003Capp-incident-viewer *ngIf=\\\"tab.type == 'incident'\\\" [incidentId]=\\\"tab.params.incidentId\\\" [searchTerms]=\\\"searchRequest.searchTerms\\\"\\u003E\\u003C\\u002Fapp-incident-viewer\\u003E\\u003Capp-articles-viewer *ngIf=\\\"tab.type == 'article'\\\" [articleId]=\\\"tab.params.id\\\" [articleVersion]=\\\"tab.params.version\\\"\\u003E\\u003C\\u002Fapp-articles-viewer\\u003E\\u003Capp-psr-viewer *ngIf=\\\"tab.type == 'psr'\\\" [id]=\\\"tab.params.id\\\" [searchTerms]=\\\"searchRequest.searchTerms\\\"\\u003E\\u003C\\u002Fapp-psr-viewer\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Ftab\\u003E\\u003C\\u002Ftabset\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cdiv class=\\\"row\\\"\\u003E\\u003Cdiv class=\\\"col-sm-2\\\" *ngIf=\\\"groupLabel\\\"\\u003E{{groupLabel}}\\u003C\\u002Fdiv\\u003E\\u003Cdiv [ngClass]=\\\"{ "col-sm-10": groupLabel }\\\"\\u003E\\u003Cdiv class=\\\"row\\\"\\u003E\\u003Cdiv class=\\\"col-sm-6 col-md-4\\\" *ngIf=\\\"includeSelectAll\\\"\\u003E\\u003Clabel\\u003E\\u003Cinput type=\\\"checkbox\\\"\\u002F\\u003E All\\u003C\\u002Flabel\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cng-content\\u003E\\u003C\\u002Fng-content\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cdiv (click)=\\\"toggleCheck()\\\"\\u003E\\u003Cinput type=\\\"checkbox\\\" [checked]=\\\"isChecked()\\\"\\u003E\\u003Cng-content\\u003E\\u003C\\u002Fng-content\\u003E\\u003C\\u002Fdiv\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cdiv class=\\\"card\\\"\\u003E\\u003Cdiv class=\\\"card-header\\\"\\u003E\\u003Ch4 class=\\\"m-0\\\"\\u003E{{ title }}\\u003C\\u002Fh4\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"card-body\\\"\\u003E{{ message }}\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"card-footer d-flex justify-content-end\\\"\\u003E\\u003Cbutton class=\\\"btn btn-secondary btn-sm\\\" type=\\\"button\\\" (click)=\\\"response(false)\\\"\\u003E{{ cancelText }}\\u003C\\u002Fbutton\\u003E\\u003Cbutton class=\\\"btn btn-primary mr-3 btn-sm\\\" type=\\\"button\\\" (click)=\\\"response(true)\\\"\\u003E{{ okText }}\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cdiv class=\\\"card\\\"\\u003E\\u003Cdiv class=\\\"card-header d-flex justify-content-between\\\"\\u003E\\u003Ch4\\u003ENew Metallic Case\\u003C\\u002Fh4\\u003E\\u003Cbutton class=\\\"close\\\" type=\\\"button\\\" (click)=\\\"onCancel()\\\" aria-label=\\\"Close\\\"\\u003E\\u003Cspan aria-hidden=\\\"true\\\"\\u003E×\\u003C\\u002Fspan\\u003E\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"card-body\\\"\\u003E\\u003Cform #metallicTicket=\\\"ngForm\\\"\\u003E\\u003Cdiv\\u003E\\u003Clabel\\u003ETenant ID\\u003C\\u002Flabel\\u003E\\u003Clabel class=\\\"float-right\\\" *ngIf=\\\"metallicTicketModel.company\\\"\\u003ECompany: \\u003Cspan class=\\\"textField\\\"\\u003E{{metallicTicketModel.company}}\\u003C\\u002Fspan\\u003E\\u003C\\u002Flabel\\u003E\\u003Cinput class=\\\"form-control\\\" type=\\\"text\\\" name=\\\"tenantID\\\" [(ngModel)]=\\\"metallicTicketModel.tenantID\\\" (change)=\\\"validateTenantId($event)\\\" [ngClass]=\\\"{'is-invalid': (!isTenantIDValid && !metallicTicketModel?.tenantID) || (!isValidTenantID)}\\\"\\u003E\\u003Cdiv class=\\\"invalid-feedback\\\" *ngIf=\\\"!isTenantIDValid\\\"\\u003ETenant ID must be filled in.\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"invalid-feedback\\\" *ngIf=\\\"!isValidTenantID\\\"\\u003EEnter a valid Tenant ID.\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"mt-3\\\"\\u003E\\u003Clabel\\u003EContact\\u003C\\u002Flabel\\u003E\\u003Cdiv class=\\\"input-group bootstrap-dropdown\\\"\\u003E\\u003Cinput class=\\\"form-control\\\" type=\\\"text\\\" name=\\\"contact\\\" [(ngModel)]=\\\"metallicTicketModel.contact\\\" [typeahead]=\\\"contactTypeAhead\\\" typeaheadOptionField=\\\"fullName\\\" [typeaheadScrollable]=\\\"true\\\" [typeaheadMinLength]=\\\"3\\\" [typeaheadWaitMs]=\\\"500\\\" (typeaheadOnSelect)=\\\"onSelect($event)\\\" [ngClass]=\\\"{'is-invalid': (!isContactValid && !metallicTicketModel?.contact) || (!isValidContact)}\\\" [disabled]=\\\"showContact || !isContactDisabled\\\" autocomplete=\\\"off\\\"\\u003E\\u003Cdiv class=\\\"input-group-append\\\"\\u003E\\u003Cbutton class=\\\"btn btn-outline-secondary plus-btn\\\" type=\\\"button\\\" title=\\\"Add Contact\\\" (click)=\\\"addContact();\\\"\\u003E\\u003Cfa-icon *ngIf=\\\"!showContact\\\" icon=\\\"plus-circle\\\"\\u003E\\u003C\\u002Ffa-icon\\u003E\\u003Cfa-icon *ngIf=\\\"showContact\\\" icon=\\\"minus-circle\\\"\\u003E\\u003C\\u002Ffa-icon\\u003E\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"invalid-feedback\\\" *ngIf=\\\"!isContactValid\\\"\\u003EContact must be selected.\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"invalid-feedback\\\" *ngIf=\\\"!isValidContact\\\"\\u003ESelect a valid Contact.\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"contact-wrapper\\\" *ngIf=\\\"showContact\\\"\\u003E\\u003Cdiv class=\\\"contact-heading\\\"\\u003E\\u003Ch4\\u003ENew Contact\\u003C\\u002Fh4\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"contact-details\\\"\\u003E\\u003Cdiv\\u003E\\u003Clabel\\u003ELast Name\\u003C\\u002Flabel\\u003E\\u003Cinput class=\\\"form-control\\\" type=\\\"text\\\" name=\\\"lastName\\\" [(ngModel)]=\\\"metallicTicketModel.lastName\\\" [ngClass]=\\\"{'is-invalid': !isLastNameValid && !metallicTicketModel?.lastName }\\\"\\u003E\\u003Cdiv class=\\\"invalid-feedback\\\" *ngIf=\\\"!isLastNameValid\\\"\\u003ELast Name must be filled in.\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"mt-3\\\"\\u003E\\u003Clabel\\u003EFirst Name\\u003C\\u002Flabel\\u003E\\u003Cinput class=\\\"form-control\\\" type=\\\"text\\\" name=\\\"firstName\\\" [(ngModel)]=\\\"metallicTicketModel.firstName\\\" [ngClass]=\\\"{'is-invalid': !isFirstNameValid && !metallicTicketModel?.firstName }\\\"\\u003E\\u003Cdiv class=\\\"invalid-feedback\\\" *ngIf=\\\"!isFirstNameValid\\\"\\u003EFirst Name must be filled in.\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"mt-3\\\"\\u003E\\u003Clabel\\u003EEmail\\u003C\\u002Flabel\\u003E\\u003Cinput class=\\\"form-control\\\" type=\\\"text\\\" name=\\\"email\\\" [(ngModel)]=\\\"metallicTicketModel.email\\\" [ngClass]=\\\"{'is-invalid': (!isEmailValid && !metallicTicketModel?.email) || (!isValidEmail) }\\\"\\u003E\\u003Cdiv class=\\\"invalid-feedback\\\" *ngIf=\\\"!isEmailValid\\\"\\u003EEmail ID must be filled in.\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"invalid-feedback\\\" *ngIf=\\\"!isValidEmail\\\"\\u003EEnter a valid Email.\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"mt-3\\\"\\u003E\\u003Clabel\\u003EPhone\\u003C\\u002Flabel\\u003E\\u003Cinput class=\\\"form-control\\\" type=\\\"text\\\" name=\\\"phone\\\" [(ngModel)]=\\\"metallicTicketModel.phone\\\" [ngClass]=\\\"{'is-invalid': !isPhoneValid && !metallicTicketModel?.phone }\\\"\\u003E\\u003Cdiv class=\\\"invalid-feedback\\\" *ngIf=\\\"!isPhoneValid\\\"\\u003EPhone must be filled in.\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"mt-3\\\"\\u003E\\u003Clabel\\u003EContact Method\\u003C\\u002Flabel\\u003E\\u003Cejs-dropdownlist class=\\\"ejs-dropdown\\\" [dataSource]=\\\"contactMethodData\\\" name=\\\"contactMethod\\\" [fields]=\\\"contactMethodFields\\\" [(ngModel)]=\\\"metallicTicketModel.contactMethod\\\" (change)=\\\"contactMethodChange($event)\\\" [ngClass]=\\\"{'is-invalid': !isContactMethodValid && !metallicTicketModel?.contactMethod }\\\"\\u003E\\u003C\\u002Fejs-dropdownlist\\u003E\\u003Cdiv class=\\\"invalid-feedback\\\" *ngIf=\\\"!isContactMethodValid\\\"\\u003EContact Method must be selected.\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"mt-3\\\"\\u003E\\u003Clabel\\u003EContact Details\\u003C\\u002Flabel\\u003E\\u003Cinput class=\\\"form-control\\\" type=\\\"text\\\" name=\\\"contactDetails\\\" [(ngModel)]=\\\"metallicTicketModel.contactDetails\\\" [ngClass]=\\\"{'is-invalid': !isContactDetailsValid && !metallicTicketModel?.contactDetails }\\\"\\u003E\\u003Cdiv class=\\\"invalid-feedback\\\" *ngIf=\\\"!isContactDetailsValid\\\"\\u003EContact Details must be filled in.\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"mt-3\\\"\\u003E\\u003Clabel\\u003ESubscription Type\\u003C\\u002Flabel\\u003E\\u003Cejs-dropdownlist class=\\\"ejs-dropdown\\\" #subDropdown [dataSource]=\\\"subscriptionData\\\" [fields]=\\\"subscriptionFields\\\" name=\\\"subscriptionType\\\" [(ngModel)]=\\\"metallicTicketModel.subscriptionType\\\" (change)=\\\"subscriptionChange()\\\" [ngClass]=\\\"{'is-invalid': !isSubscriptionTypeValid && !metallicTicketModel?.subscriptionType }\\\"\\u003E\\u003C\\u002Fejs-dropdownlist\\u003E\\u003Cdiv class=\\\"invalid-feedback\\\" *ngIf=\\\"!isSubscriptionTypeValid\\\"\\u003ESubscription Type must be selected.\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"mt-3\\\"\\u003E\\u003Clabel\\u003EProduct Type\\u003C\\u002Flabel\\u003E\\u003Cejs-dropdownlist class=\\\"ejs-dropdown\\\" [dataSource]=\\\"productData\\\" [fields]=\\\"productFields\\\" name=\\\"productType\\\" [(ngModel)]=\\\"metallicTicketModel.productType\\\" [ngClass]=\\\"{'is-invalid': !isProductTypeValid && !metallicTicketModel?.productType }\\\"\\u003E\\u003C\\u002Fejs-dropdownlist\\u003E\\u003Cdiv class=\\\"invalid-feedback\\\" *ngIf=\\\"!isProductTypeValid\\\"\\u003EProduct Type must be selected.\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"mt-3\\\"\\u003E\\u003Clabel\\u003ESeverity\\u003C\\u002Flabel\\u003E\\u003Cejs-dropdownlist class=\\\"ejs-dropdown\\\" [dataSource]=\\\"severityData\\\" name=\\\"severity\\\" [fields]=\\\"severityFields\\\" [value]=\\\"defaultValue\\\" [(ngModel)]=\\\"metallicTicketModel.severity\\\" [ngClass]=\\\"{'is-invalid': !isSeverityValid && !metallicTicketModel?.severity }\\\"\\u003E\\u003C\\u002Fejs-dropdownlist\\u003E\\u003Cdiv class=\\\"invalid-feedback\\\" *ngIf=\\\"!isSeverityValid\\\"\\u003ESeverity must be selected.\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"mt-3\\\"\\u003E\\u003Clabel\\u003EBusiness Impact\\u003C\\u002Flabel\\u003E\\u003Ctextarea class=\\\"form-control\\\" type=\\\"text\\\" name=\\\"businessImpact\\\" [(ngModel)]=\\\"metallicTicketModel.businessImpact\\\" [placeholder]=\\\"metallicTicketModel.severity==='279660002'?placeholderText:''\\\" [ngClass]=\\\"{'is-critical': (!isBusinessImpactValid || metallicTicketModel.severity==='279660002') && !metallicTicketModel?.businessImpact}\\\"\\u003E\\u003C\\u002Ftextarea\\u003E\\u003Cdiv class=\\\"invalid-feedback\\\" *ngIf=\\\"!isBusinessImpactValid\\\"\\u003EBusiness Impact must be filled in.\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"mt-3\\\"\\u003E\\u003Clabel\\u003EBrief Description\\u003C\\u002Flabel\\u003E\\u003Cinput class=\\\"form-control\\\" type=\\\"text\\\" name=\\\"briefDes\\\" [(ngModel)]=\\\"metallicTicketModel.briefDes\\\" [ngClass]=\\\"{'is-invalid': !isBriefDesValid && !metallicTicketModel?.briefDes }\\\"\\u003E\\u003Cdiv class=\\\"invalid-feedback\\\" *ngIf=\\\"!isBriefDesValid\\\"\\u003EBrief Description must be filled in.\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"mt-3\\\"\\u003E\\u003Clabel\\u003EDetailed Description\\u003C\\u002Flabel\\u003E\\u003Ctextarea class=\\\"form-control\\\" type=\\\"text\\\" name=\\\"detailedDes\\\" [(ngModel)]=\\\"metallicTicketModel.detailedDes\\\" [ngClass]=\\\"{'is-invalid': !isDetailedDesValid && !metallicTicketModel?.detailedDes }\\\"\\u003E\\u003C\\u002Ftextarea\\u003E\\u003Cdiv class=\\\"invalid-feedback\\\" *ngIf=\\\"!isDetailedDesValid\\\"\\u003EDetailed Description must be filled in.\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"mt-3\\\"\\u003E\\u003Clabel class=\\\"form-check-label\\\"\\u003E\\u003C\\u002Flabel\\u003E\\u003Cinput class=\\\"form-check-custom\\\" type=\\\"checkbox\\\" name=\\\"visibility\\\" [(ngModel)]=\\\"metallicTicketModel.visibility\\\"\\u003E Add me as an Additional Contact for Visibility\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fform\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"card-footer alert-warning\\\"\\u003E\\u003Cdiv class=\\\"row button-row\\\"\\u003E\\u003Cbutton class=\\\"btn btn-secondary btn-sm\\\" type=\\\"button\\\" (click)=\\\"onCancel()\\\"\\u003ECancel\\u003C\\u002Fbutton\\u003E\\u003Cbutton class=\\\"btn btn-metallic btn-sm ml-3\\\" type=\\\"button\\\" (click)=\\\"ticketCreated(metallicTicket.value)\\\"\\u003ECreate Case\\t\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cdiv class=\\\"button-container\\\"\\u003E\\u003Cdiv class=\\\"form-row\\\"\\u003E\\u003Cdiv class=\\\"col-sm-6\\\"\\u003E\\u003Cbutton class=\\\"btn btn-primary container-fluid\\\" type=\\\"button\\\" title=\\\"Create a Commvault Cloud SaaS Support Case\\\" (click)=\\\"createMetallic()\\\"\\u003ECreate a Commvault Cloud SaaS Support Case\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-sm-6\\\"\\u003E\\u003Cbutton class=\\\"btn btn-primary container-fluid\\\" type=\\\"button\\\" title=\\\"Create a Commvault Cloud Software Support Case\\\" (click)=\\\"createSoftwareSupportCase()\\\"\\u003ECreate a Commvault Cloud Software Support Case\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cdiv class=\\\"list-group\\\" [ngClass]=\\\"{ "list-group-flush": isFlush }\\\" *ngIf=\\\"articles\\\"\\u003E\\u003Cdiv class=\\\"list-group-item list-group-item-info\\\"\\u003E\\u003Cdiv class=\\\"row\\\"\\u003E\\u003Cdiv class=\\\"col-md-9 d-none d-md-block\\\"\\u003E\\u003Cdiv class=\\\"row\\\"\\u003E\\u003Cdiv class=\\\"col-lg-9 d-none d-lg-block\\\"\\u003E\\u003Cstrong\\u003ETitle\\u003C\\u002Fstrong\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-lg-3 d-none d-lg-block\\\"\\u003E\\u003Cstrong\\u003EAuthor\\u003C\\u002Fstrong\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-md-12 d-none d-md-block d-lg-none\\\"\\u003E\\u003Cstrong\\u003ETitle\\u003C\\u002Fstrong\\u003E \\u002F\\u003Cstrong\\u003EAuthor\\u003C\\u002Fstrong\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-md-3 d-none d-md-block d-lg-block\\\"\\u003E\\u003Cstrong\\u003EWhen\\u003C\\u002Fstrong\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-md-12 d-none d-block d-sm-block d-md-none\\\"\\u003E\\u003Cstrong\\u003ETitle\\u003C\\u002Fstrong\\u003E \\u002F\\u003Cstrong\\u003EAuthor\\u003C\\u002Fstrong\\u003E \\u002F\\u003Cstrong\\u003EWhen\\u003C\\u002Fstrong\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"list-group-item\\\" *ngFor=\\\"let article of articles\\\"\\u003E\\u003Cdiv class=\\\"row\\\"\\u003E\\u003Cdiv class=\\\"col-md-9\\\"\\u003E\\u003Cdiv class=\\\"row\\\"\\u003E\\u003Cdiv class=\\\"col-lg-9\\\"\\u003E{{article.articleTypeLabel()}}: \\u003Ca routerLink=\\\"{{ article.getLink() }}\\\"\\u003E{{article.title}}\\u003C\\u002Fa\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-lg-3\\\"\\u003E\\u003Ca [routerLink]=\\\"["\\u002Fsearch"]\\\" [queryParams]=\\\"{ fq: article.author.getSearchFacet() }\\\"\\u003E{{article.author.userName}}\\u003C\\u002Fa\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"col-md-3\\\"\\u003E{{article.modified | amTimeAgo}}\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"card-footer d-flex justify-content-between\\\"\\u003E\\u003Cdiv\\u003E\\u003Cspan class=\\\"badge badge-primary\\\"\\u003EUpdated {{lastUpdated | amTimeAgo}}\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv\\u003E\\u003Cspan class=\\\"badge badge-secondary\\\" *ngIf=\\\"articles.length\\\"\\u003E{{articles.length}} results\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cdiv class=\\\"card\\\"\\u003E\\u003Cdiv class=\\\"card-header d-flex justify-content-between\\\"\\u003E\\u003Ch4\\u003ECase created\\u003C\\u002Fh4\\u003E\\u003Cbutton class=\\\"close\\\" type=\\\"button\\\" (click)=\\\"onCancel()\\\" aria-label=\\\"Close\\\"\\u003E\\u003Cspan aria-hidden=\\\"true\\\"\\u003E×\\u003C\\u002Fspan\\u003E\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"card-body\\\"\\u003ECase # {{caseID}} is created.\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"card-footer d-flex justify-content-end\\\"\\u003E\\u003Cbutton class=\\\"btn btn-secondary btn-sm\\\" type=\\\"button\\\" (click)=\\\"onCancel()\\\"\\u003EClose\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cform novalidate=\\\"\\\" [formGroup]=\\\"escalateForm\\\" (ngSubmit)=\\\"onSubmit()\\\"\\u003E\\u003Cdiv class=\\\"input-group\\\"\\u003E\\u003Cinput class=\\\"form-control\\\" type=\\\"text\\\" placeholder=\\\"Enter incident number to escalate\\\" name=\\\"escalateIncident\\\" formControlName=\\\"escalateIncident\\\" value=\\\"\\\"\\u003E\\u003Cdiv class=\\\"input-group-append\\\"\\u003E\\u003Cbutton class=\\\"btn btn-outline-secondary\\\" type=\\\"button\\\" title=\\\"Clear\\\" (click)=\\\"clearIncident();\\\"\\u003E\\u003Cfa-icon icon=\\\"minus\\\"\\u003E\\u003C\\u002Ffa-icon\\u003E\\u003C\\u002Fbutton\\u003E\\u003Cbutton class=\\\"btn btn-primary\\\" type=\\\"submit\\\" title=\\\"Escalate to Support Management\\\" [disabled]=\\\"escalateForm.pristine || escalateForm.invalid\\\"\\u003E\\u003Cfa-icon icon=\\\"bell\\\"\\u003E\\u003C\\u002Ffa-icon\\u003E\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"alert alert-warning mt-2\\\" *ngIf=\\\"!isActiveState && submitted\\\"\\u003EIncident {{incidentId}} does not exist, or it cannot be escalated in its current state.\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"alert alert-warning mt-2\\\" *ngIf=\\\"isFieldEscalated && submitted\\\"\\u003EIncident {{incidentId}} is currently escalated.\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fform\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cform novalidate=\\\"\\\" [formGroup]=\\\"searchForm\\\" (ngSubmit)=\\\"onSubmit()\\\"\\u003E\\u003Cdiv class=\\\"input-group\\\"\\u003E\\u003Cinput class=\\\"form-control\\\" type=\\\"text\\\" placeholder=\\\"Enter incident number, account name, or any keywords\\\" name=\\\"searchTerms\\\" formControlName=\\\"searchTerms\\\" value=\\\"\\\"\\u003E\\u003Cdiv class=\\\"input-group-append\\\"\\u003E\\u003Cbutton class=\\\"btn btn-outline-secondary\\\" type=\\\"button\\\" title=\\\"Clear\\\" (click)=\\\"clearSearch();\\\"\\u003E\\u003Cfa-icon icon=\\\"minus\\\"\\u003E\\u003C\\u002Ffa-icon\\u003E\\u003C\\u002Fbutton\\u003E\\u003Cbutton class=\\\"btn btn-primary\\\" type=\\\"submit\\\" title=\\\"Search\\\" [disabled]=\\\"searchForm.pristine || searchForm.invalid\\\"\\u003E\\u003Cfa-icon icon=\\\"search\\\"\\u003E\\u003C\\u002Ffa-icon\\u003E\\u003C\\u002Fbutton\\u003E\\u003Cbutton class=\\\"btn btn-primary\\\" type=\\\"button\\\" title=\\\"Advanced Search\\\" [routerLink]=\\\"['\\u002Fsearch']\\\"\\u003E\\u003Cfa-icon icon=\\\"sliders-h\\\"\\u003E\\u003C\\u002Ffa-icon\\u003E\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fform\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cdiv class=\\\"switch\\\" [ngClass]=\\\"{ "checked": value }\\\" [attr.title]=\\\"label\\\" (click)=\\\"switch()\\\"\\u003E\\u003Cinput class=\\\"switch-input\\\" type=\\\"checkbox\\\" [value]=\\\"value\\\" [attr.checked]=\\\"value\\\" [attr.aria-label]=\\\"label\\\"\\u003E\\u003Cspan class=\\\"switch-label\\\" data-on=\\\"On\\\" data-off=\\\"Off\\\"\\u003E\\u003C\\u002Fspan\\u003E\\u003Cspan class=\\\"switch-handle\\\"\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cdiv *ngIf=\\\"roles && allPeriods\\\"\\u003E\\u003Cform class=\\\"card-body\\\" [formGroup]=\\\"contributorForm\\\" novalidate=\\\"\\\"\\u003E\\u003Cdiv class=\\\"form-group\\\"\\u003E\\u003Clabel for=\\\"roleFilter\\\"\\u003EAuthor Team Filter\\u003C\\u002Flabel\\u003E\\u003Cselect class=\\\"form-control\\\" name=\\\"roleFilter\\\" formControlName=\\\"roleFilter\\\" (change)=\\\"filterChange()\\\"\\u003E\\u003Coption [ngValue]=\\\"undefined\\\" [selected]=\\\"true\\\"\\u003E-- Any Team --\\u003C\\u002Foption\\u003E\\u003Coption *ngFor=\\\"let role of roles\\\" value=\\\"{{ role.id }}\\\"\\u003E{{ role.name }}\\u003C\\u002Foption\\u003E\\u003C\\u002Fselect\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"form-group\\\"\\u003E\\u003Clabel for=\\\"periodFilter\\\"\\u003EPeriod Filter\\u003C\\u002Flabel\\u003E\\u003Cselect class=\\\"form-control\\\" name=\\\"periodFilter\\\" formControlName=\\\"periodFilter\\\" (change)=\\\"filterChange()\\\"\\u003E\\u003Coption value=\\\"\\\"\\u003E-- All Periods --\\u003C\\u002Foption\\u003E\\u003Coptgroup label=\\\"Quarter\\\"\\u003E\\u003Coption *ngFor=\\\"let quarter of allPeriods.quarters\\\" [ngValue]=\\\"quarter\\\"\\u003E{{quarter.periodName}}\\u003C\\u002Foption\\u003E\\u003C\\u002Foptgroup\\u003E\\u003Coptgroup label=\\\"Year\\\"\\u003E\\u003Coption *ngFor=\\\"let year of allPeriods.years\\\" [ngValue]=\\\"year\\\"\\u003E{{year.periodName}}\\u003C\\u002Foption\\u003E\\u003C\\u002Foptgroup\\u003E\\u003Coptgroup label=\\\"Month\\\"\\u003E\\u003Coption *ngFor=\\\"let month of allPeriods.months\\\" [ngValue]=\\\"month\\\"\\u003E{{month.periodName}}\\u003C\\u002Foption\\u003E\\u003C\\u002Foptgroup\\u003E\\u003Coptgroup label=\\\"Week\\\"\\u003E\\u003Coption *ngFor=\\\"let week of allPeriods.weeks\\\" [ngValue]=\\\"week\\\"\\u003E{{week.periodName}}\\u003C\\u002Foption\\u003E\\u003C\\u002Foptgroup\\u003E\\u003C\\u002Fselect\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fform\\u003E\\u003Cdiv class=\\\"list-group list-group-flush\\\" *ngIf=\\\"contributions\\\"\\u003E\\u003Cdiv class=\\\"list-group-item list-group-item-info\\\"\\u003E\\u003Cstrong\\u003EAuthor\\u003Cspan class=\\\"float-right\\\"\\u003ECount\\u003C\\u002Fspan\\u003E\\u003C\\u002Fstrong\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"list-group-item\\\" *ngIf=\\\"!contributions.length\\\"\\u003E\\u003Cem\\u003ENo authors matched the requested criteria.\\u003C\\u002Fem\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"list-group-item\\\" *ngFor=\\\"let contribution of contributions\\\"\\u003E\\u003Ca [routerLink]=\\\"["\\u002Fsearch"]\\\" [queryParams]=\\\"{ fq: contribution.author.getSearchFacet() }\\\"\\u003E{{contribution.author.userName}}\\u003C\\u002Fa\\u003E\\u003Cspan class=\\\"badge badge-secondary float-right\\\"\\u003E{{contribution.articlesCount}}\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"card-footer d-flex justify-content-between\\\" *ngIf=\\\"contributions\\\"\\u003E\\u003Cdiv\\u003E\\u003Cspan class=\\\"badge badge-primary\\\"\\u003EUpdated {{lastUpdated | amTimeAgo}}\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv\\u003E\\u003Cspan class=\\\"badge badge-secondary\\\" *ngIf=\\\"contributions.length\\\"\\u003E{{contributions.length}} results\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cinput type=\\\"checkbox\\\" [checked]=\\\"isChecked\\\" [indeterminate]=\\\"indeterminate\\\" (change)=\\\"parentChanged()\\\"\\u003E\";;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;pug_html = pug_html + \"\\u003Cdiv class=\\\"btn-group btn-group-sm mr-2\\\" role=\\\"group\\\"\\u003E\\u003Cbutton class=\\\"btn btn-primary\\\" (click)=\\\"vote(true)\\\" [ngClass]=\\\"{'bg-success':userVote > 0}\\\" [disabled]=\\\"disabled\\\"\\u003E\\u003Cfa-icon icon=\\\"thumbs-up\\\"\\u003E\\u003C\\u002Ffa-icon\\u003E\\u003C\\u002Fbutton\\u003E\\u003Cspan class=\\\"btn btn-primary article-quality-score\\\"\\u003E{{count}}\\u003C\\u002Fspan\\u003E\\u003Cbutton class=\\\"btn btn-primary\\\" (click)=\\\"vote(false)\\\" [ngClass]=\\\"{'bg-danger':userVote < 0}\\\" [disabled]=\\\"disabled\\\"\\u003E\\u003Cfa-icon icon=\\\"thumbs-down\\\"\\u003E\\u003C\\u002Ffa-icon\\u003E\\u003C\\u002Fbutton\\u003E\\u003C\\u002Fdiv\\u003E\";;return pug_html;};\nmodule.exports = template;","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./src/$$_lazy_route_resource lazy recursive\";","import { NgModule } from \"@angular/core\";\r\nimport { RouterModule, Routes } from \"@angular/router\";\r\n\r\nimport { HomeComponent } from \"./core/components/home/home.component\";\r\nimport { UserProfileComponent } from \"./core/components/user-profile/user-profile.component\";\r\nimport { AuthCallbackComponent } from \"./core/components/auth-callback/auth-callback.component\";\r\nimport { NotFoundComponent } from \"./core/components/not-found/not-found.component\";\r\n\r\nimport { AuthPermissionsGuard } from \"./core/services/permissions/auth-permissions.guard\";\r\nimport { EscalationComponent } from \"./core/components/escalation/escalation.component\";\r\n\r\nconst routes: Routes = [\r\n\t{\r\n\t\tpath: '', canActivate: [AuthPermissionsGuard], children: [\r\n\t\t\t{ path: \"\", component: HomeComponent, pathMatch: \"full\" },\r\n\t\t\t{ path: \"profile\", component: UserProfileComponent },\r\n\t\t\t{ path: \"escalations\", component: EscalationComponent, pathMatch: \"full\"}\r\n\t\t],\r\n\t\trunGuardsAndResolvers: 'always'\r\n\t},\r\n\t{ path: 'auth-callback', component: AuthCallbackComponent },\r\n\t// runGuardsAndResolvers attribute added below to accommodate the idea of navigating to the same page to essentially refresh\r\n\t// https://medium.com/engineering-on-the-incline/reloading-current-route-on-click-angular-5-1a1bfc740ab2\r\n\t{ path: \"**\", component: NotFoundComponent, runGuardsAndResolvers: 'always' },\r\n]\r\n\r\n@NgModule({\r\n\timports: [RouterModule.forRoot(routes, {onSameUrlNavigation: 'reload'})],\r\n\texports: [RouterModule]\r\n})\r\nexport class AppRoutingModule { }\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\app.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \"@media (max-width: 767px) {\\n /* On small screens, the nav menu spans the full width of the screen. Leave a space for it. */\\n .body-content {\\n padding-top: 50px; } }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvQzpcXFVzZXJzXFxtam9zaGlcXHNvdXJjZVxccmVwb3NcXEFsZXhhbmRyaWFcXEFsZXhhbmRyaWFcXEFsZXhhbmRyaWEuV2Vic2l0ZVxcQ2xpZW50QXBwL3NyY1xcYXBwXFxhcHAuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSw2RkFBQTtFQUNBO0lBQ0UsaUJBQWlCLEVBQUEsRUFDbEIiLCJmaWxlIjoic3JjL2FwcC9hcHAuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcclxuICAvKiBPbiBzbWFsbCBzY3JlZW5zLCB0aGUgbmF2IG1lbnUgc3BhbnMgdGhlIGZ1bGwgd2lkdGggb2YgdGhlIHNjcmVlbi4gTGVhdmUgYSBzcGFjZSBmb3IgaXQuICovXHJcbiAgLmJvZHktY29udGVudCB7XHJcbiAgICBwYWRkaW5nLXRvcDogNTBweDtcclxuICB9XHJcbn1cclxuIl19 */\"","import { Component } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { SpinnerService } from './core/services/spinner/spinner.service';\r\n\r\n@Component({\r\n\tselector: 'app-root',\r\n\ttemplateUrl: './app.component.pug',\r\n\tstyleUrls: ['./app.component.scss']\r\n})\r\nexport class AppComponent {\r\n\r\n\tconstructor(public spinnerService: SpinnerService, private _router: Router) {\r\n\t}\r\n\r\n\tngOnInit(): void {\r\n\t\tlet hash = window.location.hash;\r\n\r\n\t\t// handle hashbang redirects here... if the hashbang starts with !/, then let's go through the paces to redirect\r\n\t\tif (hash.indexOf(\"#!/\") == 0) {\r\n\t\t\t// redirect for articles\r\n\t\t\tif (hash.indexOf(\"#!/article/details/\") > -1) {\r\n\t\t\t\tlet urlSplit = hash.split(\"/\");\r\n\t\t\t\tlet version = urlSplit[urlSplit.length - 1];\r\n\t\t\t\tlet article = urlSplit[urlSplit.length - 2];\r\n\r\n\t\t\t\tthis._router.navigateByUrl(`article/details/${article}/${version}`);\r\n\t\t\t} else if (hash.indexOf(\"#!/incident/details/\") > -1) {\r\n\t\t\t\t// handles redirect for incidents and escalations\r\n\t\t\t\t// in incidents and escalations one of the features is for the passed in search term to be highlighted on the incident activities\r\n\t\t\t\t// our query string for the search terms changed from 'searchTerms' to 'q'. this updates the URL to the correct query string before redirecting\r\n\t\t\t\thash = hash.replace(/(\\;searchTerms=)/, '?q=');\r\n\t\t\t\thash = hash.replace(/(\\?|&)(searchTerms=)/, '$1q=');\r\n\r\n\t\t\t\t// handles incidents as well as directly redirects all other URLs that we previously used to the new URL format\r\n\t\t\t\tthis._router.navigateByUrl(hash.replace(\"#!/\", \"\"));\r\n\t\t\t} else {\r\n\t\t\t\t// does a direct replacement for hashbang to just strictly /. This allows for many bookmarked links to still work appropriately\r\n\t\t\t\tthis._router.navigateByUrl(hash.replace(\"#!/\", \"\"));\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n}\r\n","// Angular\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { NgModule } from '@angular/core';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { RouterModule } from '@angular/router';\r\n\r\n// *** App\r\n\r\n// Routing\r\nimport { AppRoutingModule } from \"./app-routing.module\";\r\n\r\n// Modules\r\nimport { RuntimeConfigurationModule } from './modules/runtime-configuration/runtime-configuration.module';\r\nimport { CoreModule } from './core/core.module';\r\n\r\n// Components\r\nimport { AppComponent } from './app.component';\r\n\r\n@NgModule({\r\n\tdeclarations: [\r\n\t\tAppComponent\r\n\t],\r\n\timports: [\r\n\t\tBrowserModule.withServerTransition({ appId: 'ng-cli-universal' }),\r\n\t\tHttpClientModule,\r\n\t\tRouterModule,\r\n\r\n\t\t// App Imports\r\n\t\tRuntimeConfigurationModule,\r\n\t\tCoreModule.forRoot(),\r\n\t\tAppRoutingModule\r\n\t],\r\n\tbootstrap: [AppComponent]\r\n})\r\nexport class AppModule { }\r\n","module.exports = \"\\r\\n\\t
\\r\\n\\t\\t

Alert

\\r\\n\\t\\t\\r\\n\\t
\\r\\n\\t
\\r\\n
\\r\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvcmUvY29tcG9uZW50cy9hbGVydC9hbGVydC5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component, OnInit, OnDestroy, ViewChild, TemplateRef } from '@angular/core';\r\n\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { BsModalService, BsModalRef } from 'ngx-bootstrap';\r\n\r\nimport { AlertService } from '../../services/alert/alert.service';\r\n\r\n@Component({\r\n\tselector: 'app-alert',\r\n\ttemplateUrl: './alert.component.html',\r\n\tstyleUrls: ['./alert.component.scss']\r\n})\r\nexport class AlertComponent implements OnInit, OnDestroy {\r\n\r\n\tprivate _subscriptions = new Subscription();\r\n\r\n\tprivate _modalConfig = {\r\n\t\tanimated: true,\r\n\t\tkeyboard: true\r\n\t};\r\n\r\n\tpublic modal: BsModalRef;\r\n\r\n\tpublic message: string;\r\n\r\n\t@ViewChild('template')\r\n\ttemplateRef: TemplateRef;\r\n\r\n\tconstructor(private _modalService: BsModalService, private _alertService: AlertService) { }\r\n\r\n\tngOnInit() {\r\n\t\tthis._subscriptions.add(\r\n\t\t\tthis._alertService.messages()\r\n\t\t\t\t.subscribe(message => {\r\n\t\t\t\t\tthis.message = message;\r\n\r\n\t\t\t\t\tthis.modal = this._modalService.show(this.templateRef, this._modalConfig);\r\n\t\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis._subscriptions.unsubscribe();\r\n\t}\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { AuthService } from '../../services/auth/auth.service';\r\nimport { SpinnerService } from '../../services/spinner/spinner.service';\r\n\r\n@Component({\r\n\ttemplate: ''\r\n})\r\nexport class AuthCallbackComponent implements OnInit {\r\n\r\n\tconstructor(private _router: Router, private _authService: AuthService, private _spinnerService: SpinnerService) {\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tthis._spinnerService.show(\"Authenticating\");\r\n\r\n\t\tthis._authService.loggedIn()\r\n\t\t\t.subscribe(redirectUrl => {\r\n\t\t\t\tredirectUrl = redirectUrl || '/';\r\n\t\t\t\tthis._router.navigateByUrl(redirectUrl);\r\n\r\n\t\t\t\tthis._spinnerService.hide();\r\n\t\t\t});\r\n\t}\r\n\r\n}\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\core\\\\components\\\\engineering-home\\\\engineering-home.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","import { Component } from '@angular/core';\r\nimport { PermissionService } from '../../services/permissions/permission.service';\r\nimport { Permission } from '../../models/permissions/permission.model';\r\n\r\n@Component({\r\n\tselector: 'app-engineering-home',\r\n\ttemplateUrl: './engineering-home.component.pug',\r\n})\r\nexport class EngineeringHomeComponent {\r\n\r\n\tconstructor(public permissionsService: PermissionService) {\r\n\t}\r\n\r\n}\r\n","module.exports = \"\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvcmUvY29tcG9uZW50cy9lc2NhbGF0aW9uL2VzY2FsYXRpb24uY29tcG9uZW50LnNjc3MifQ== */\"","import { Component, OnInit } from '@angular/core';\r\nimport { ConfigurationService } from '../../../modules/runtime-configuration/services/configuration.service';\r\n\r\n@Component({\r\n selector: 'app-escalation',\r\n templateUrl: './escalation.component.html',\r\n styleUrls: ['./escalation.component.scss']\r\n})\r\nexport class EscalationComponent implements OnInit {\r\n\r\n\tconstructor(private _configSvc: ConfigurationService) { }\r\n\r\n ngOnInit() {\r\n\t window.location.href = this._configSvc.configuration.escalationsRedirectionUrl;\r\n }\r\n\r\n}\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\core\\\\components\\\\home\\\\home.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { forkJoin, Observable, Subscription } from 'rxjs';\r\n\r\nimport { PermissionService } from '../../services/permissions/permission.service';\r\nimport { UserProfileService } from \"../../services/user-profiles/user-profile.service\";\r\nimport { AuthService } from '../../services/auth/auth.service';\r\n\r\nimport { UserProfile } from \"../../models/user-profiles/user-profile.model\";\r\nimport { UserProfileUpdate } from '../../models/user-profiles/user-profile-update.model';\r\nimport { Role } from '../../models/roles/role.model';\r\nimport { RolesService } from '../../services/roles/roles.service';\r\n\r\n@Component({\r\n\tselector: 'app-home',\r\n\ttemplateUrl: './home.component.pug',\r\n})\r\nexport class HomeComponent implements OnInit {\r\n\r\n\tpublic profile: UserProfile;\r\n\r\n\t// we need this to ensure that roleSubscriptions are not lost on Home Page update\r\n\tpublic roleSubscriptionIds: Array = [];\r\n\r\n\tprivate _subscriptions = new Subscription();\r\n\r\n\tprivate profileUpdate: UserProfileUpdate;\r\n\r\n\tconstructor(private _profileService: UserProfileService, private _authService: AuthService, private _rolesService: RolesService, private _router: Router) {\r\n\t}\r\n\r\n\tngOnInit(): void {\r\n\t\tthis._subscriptions.add(\r\n\t\t\tthis._authService.isAuthenticated()\r\n\t\t\t\t.subscribe((result) => {\r\n\t\t\t\t\tif (result) {\r\n\t\t\t\t\t\tforkJoin(this._profileService.getMyProfile(), this._rolesService.getTeams()).subscribe(response => {\r\n\t\t\t\t\t\t\tthis.profile = response[0];\r\n\r\n\t\t\t\t\t\t\tlet roleSubscriptions = response[1];\r\n\r\n\t\t\t\t\t\t\tif (this.profile.userRoleSubscriptions) {\r\n\t\t\t\t\t\t\t\tthis.profile.userRoleSubscriptions.forEach(mySubscription => {\r\n\t\t\t\t\t\t\t\t\tlet index = roleSubscriptions.findIndex(roleSubscription => roleSubscription.id === mySubscription.roleId);\r\n\t\t\t\t\t\t\t\t\tif (index >= 0) {\r\n\t\t\t\t\t\t\t\t\t\tthis.roleSubscriptionIds.push(roleSubscriptions[index].id);\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tselectHome(home: number) {\r\n\t\t// we need ALL the details to be filled in to the UserProfileUpdate\r\n\t\tlet update: UserProfileUpdate = {\r\n\t\t\tid: this.profile.id,\r\n\t\t\tsearchDetailsAction: this.profile.searchDetailsAction,\r\n\t\t\tenableArticleUpVoteNotifications: this.profile.enableArticleUpVoteNotifications,\r\n\t\t\tenableArticleReviewNotifications: this.profile.enableArticleReviewNotifications,\r\n\t\t\tdefaultToAnonymousComments: this.profile.defaultToAnonymousComments,\r\n\t\t\tdefaultEditorMode: this.profile.defaultEditorMode,\r\n\t\t\thomePage: home,\r\n\t\t\tsubscriptions: this.roleSubscriptionIds\r\n\t\t};\r\n\r\n\t\tthis._profileService.updateMyProfile(update)\r\n\t\t\t.subscribe(profile => {\r\n\t\t\t\t// successful update returns full (and updated) profile\r\n\t\t\t\tthis.profile = profile;\r\n\t\t\t\tthis._router.navigate(['/']);\r\n\t\t\t});\r\n\t}\r\n\r\n}\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\core\\\\components\\\\nav-menu\\\\nav-menu.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \".dropdown-menu-item-description {\\n display: block;\\n font-size: 0.75em; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29yZS9jb21wb25lbnRzL25hdi1tZW51L0M6XFxVc2Vyc1xcbWpvc2hpXFxzb3VyY2VcXHJlcG9zXFxBbGV4YW5kcmlhXFxBbGV4YW5kcmlhXFxBbGV4YW5kcmlhLldlYnNpdGVcXENsaWVudEFwcC9zcmNcXGFwcFxcY29yZVxcY29tcG9uZW50c1xcbmF2LW1lbnVcXG5hdi1tZW51LmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0MsY0FBYztFQUNkLGlCQUFpQixFQUFBIiwiZmlsZSI6InNyYy9hcHAvY29yZS9jb21wb25lbnRzL25hdi1tZW51L25hdi1tZW51LmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmRyb3Bkb3duLW1lbnUtaXRlbS1kZXNjcmlwdGlvbiB7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0Zm9udC1zaXplOiAwLjc1ZW07XHJcbn1cclxuIl19 */\"","import { Component, OnInit, OnDestroy, } from '@angular/core';\r\n\r\nimport { UserProfileService } from \"../../services/user-profiles/user-profile.service\";\r\nimport { AuthService } from '../../services/auth/auth.service';\r\n\r\nimport { UserProfile } from \"../../models/user-profiles/user-profile.model\";\r\nimport { PermissionService } from '../../services/permissions/permission.service';\r\nimport { Observable, Subscription } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { ArticleService } from '../../services/articles/article.service';\r\nimport { MessageService } from '../../services/messages/message.service'\r\nimport { forEach } from '@angular/router/src/utils/collection';\r\n\r\n@Component({\r\n\tselector: 'app-nav-menu',\r\n\ttemplateUrl: './nav-menu.component.pug',\r\n\tstyleUrls: ['./nav-menu.component.scss']\r\n})\r\nexport class NavMenuComponent implements OnInit, OnDestroy {\r\n\r\n\tpublic isCollapsed = true;\r\n\r\n\tpublic profile: UserProfile;\r\n\r\n\tpublic viewReports: boolean = false;\r\n\r\n\tpublic viewAdminReports: boolean = false;\r\n\r\n\tpublic manageArticles: boolean = false;\r\n\r\n\tpublic manageClassification: boolean = false;\r\n\r\n\tpublic adminTools: boolean = false;\r\n\r\n\tpublic showTeamPendingApproval: boolean = false;\r\n\r\n\tpublic announcementMessages: string[] = new Array();\r\n\r\n\tprivate _subscriptions = new Subscription();\r\n\r\n\tconstructor(private _profileService: UserProfileService, private _authService: AuthService, private _permissionService: PermissionService, private _articleService: ArticleService, private _messageService: MessageService) {\r\n\t}\r\n\r\n\tngOnInit(): void {\r\n\t\tthis._subscriptions.add(\r\n\t\t\tthis._authService.isAuthenticated()\r\n\t\t\t\t.subscribe((result) => {\r\n\t\t\t\t\tif (result) {\r\n\t\t\t\t\t\tthis._profileService\r\n\t\t\t\t\t\t\t.getMyProfile()\r\n\t\t\t\t\t\t\t.subscribe(\r\n\t\t\t\t\t\t\t\tprofile => {\r\n\t\t\t\t\t\t\t\t\tthis.profile = profile;\r\n\t\t\t\t\t\t\t\t\tthis.checkPermissions();\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\tthis._messageService.getMessages().subscribe(response => {\r\n\t\t\t\t\t\t\tfor (var i = 0; i < response.length; i++) {\r\n\t\t\t\t\t\t\t\tthis.announcementMessages.push(response[i]);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tpublic logOut(): void {\r\n\t\tthis._authService.logout();\r\n\t}\r\n\r\n\tprivate checkPermissions(): void {\r\n\t\tthis._subscriptions.add(\r\n\t\t\tthis._permissionService.hasPermission([\"compose-internal-articles\", \"compose-public-articles\", \"compose-private-articles\"])\r\n\t\t\t\t.subscribe(response => {\r\n\t\t\t\t\tthis.manageArticles = response;\r\n\t\t\t\t})\r\n\t\t);\r\n\r\n\t\tthis._subscriptions.add(\r\n\t\t\tthis._permissionService.hasPermission([\"view-reports\"])\r\n\t\t\t\t.subscribe(response => {\r\n\t\t\t\t\tthis.viewReports = response;\r\n\t\t\t\t})\r\n\t\t);\r\n\r\n\t\tthis._subscriptions.add(\r\n\t\t\tthis._permissionService.hasPermission([\"view-solution-admin-reports\"])\r\n\t\t\t\t.subscribe(response => {\r\n\t\t\t\t\tthis.viewAdminReports = response;\r\n\t\t\t\t})\r\n\t\t);\r\n\r\n\t\tthis._subscriptions.add(\r\n\t\t\tthis._permissionService.hasPermission([\"manage-classification\"])\r\n\t\t\t\t.subscribe(response => {\r\n\t\t\t\t\tthis.manageClassification = response;\r\n\t\t\t\t})\r\n\t\t);\r\n\r\n\t\tthis._subscriptions.add(\r\n\t\t\tthis._permissionService.hasPermission([\"manage-application-admin-tools\"])\r\n\t\t\t\t.subscribe(response => {\r\n\t\t\t\t\tthis.adminTools = response;\r\n\t\t\t\t})\r\n\t\t);\r\n\r\n\t\tthis._subscriptions.add(\r\n\t\t\tthis._articleService.getViews()\r\n\t\t\t\t.subscribe(response => {\r\n\t\t\t\t\tthis.showTeamPendingApproval = !!response.filter(x => x.key == \"teampendingapproval\").length;\r\n\t\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tngOnDestroy(): void {\r\n\t\tthis._subscriptions.unsubscribe();\r\n\t}\r\n\r\n}\r\n","module.exports = \"

Oops!

\\r\\n

We can't seem to find the page you're looking for.

\\r\\n

Here are some helpful links instead:

\\r\\n
    \\r\\n\\t
  • Home
  • \\r\\n\\t
  • Search
  • \\r\\n
\\r\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvcmUvY29tcG9uZW50cy9ub3QtZm91bmQvbm90LWZvdW5kLmNvbXBvbmVudC5zY3NzIn0= */\"","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n\tselector: 'app-not-found',\r\n\ttemplateUrl: './not-found.component.html',\r\n\tstyleUrls: ['./not-found.component.scss']\r\n})\r\nexport class NotFoundComponent {\r\n}\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\core\\\\components\\\\sales-home\\\\sales-home.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvcmUvY29tcG9uZW50cy9zYWxlcy1ob21lL3NhbGVzLWhvbWUuY29tcG9uZW50LnNjc3MifQ== */\"","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n\tselector: 'app-sales-home',\r\n\ttemplateUrl: './sales-home.component.pug',\r\n\tstyleUrls: ['./sales-home.component.scss']\r\n})\r\nexport class SalesHomeComponent {\r\n\r\n\tconstructor() { }\r\n\r\n}\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\core\\\\components\\\\user-profile\\\\user-profile.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvcmUvY29tcG9uZW50cy91c2VyLXByb2ZpbGUvdXNlci1wcm9maWxlLmNvbXBvbmVudC5zY3NzIn0= */\"","import { Component, OnInit, PACKAGE_ROOT_URL } from '@angular/core';\r\nimport { FormArray, FormControl, FormGroup, FormBuilder, Validators } from '@angular/forms';\r\n\r\nimport { UserProfileService } from '../../services/user-profiles/user-profile.service';\r\nimport { RolesService } from '../../services/roles/roles.service';\r\nimport { PermissionService } from '../../services/permissions/permission.service';\r\n\r\nimport { UserProfile } from '../../models/user-profiles/user-profile.model';\r\nimport { Role } from '../../models/roles/role.model';\r\nimport { Permission } from '../../models/permissions/permission.model';\r\n\r\nimport { UserProfileUpdate } from '../../models/user-profiles/user-profile-update.model';\r\nimport { forkJoin } from 'rxjs';\r\n\r\n@Component({\r\n\tselector: 'app-user-profile',\r\n\ttemplateUrl: './user-profile.component.pug',\r\n\tstyleUrls: ['./user-profile.component.scss']\r\n})\r\nexport class UserProfileComponent implements OnInit {\r\n\r\n\tpublic profileForm: FormGroup;\r\n\r\n\tpublic profile: UserProfile;\r\n\r\n\tpublic roles: Array;\r\n\r\n\tpublic roleSubscriptions: Array = [];\r\n\r\n\tpublic managedRoles: Array = [];\r\n\r\n\tpublic permissions: Array;\r\n\r\n\tpublic profileUpdated: boolean = false;\r\n\r\n\tconstructor(private _fb: FormBuilder, private _profileService: UserProfileService, private _rolesService: RolesService, private _permsService: PermissionService) {\r\n\t\tthis.createForm();\r\n\t}\r\n\r\n\tprivate createForm(): void {\r\n\t\tthis.profileForm = this._fb.group({\r\n\t\t\tsearchDetailsRendering: '',\r\n\t\t\tenableArticleUpVoteNotifications: false,\r\n\t\t\tenableArticleReviewNotifications: false,\r\n\t\t\tdefaultAnonymousVotingComments: false,\r\n\t\t\tdefaultEditorMode: '',\r\n\t\t\thomePage: '',\r\n\t\t\troleSubscriptions: new FormArray([])\r\n\t\t});\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tforkJoin(this._profileService.getMyProfile(), this._rolesService.getTeams()).subscribe(response => {\r\n\t\t\tconsole.debug('UserProfileComponent | getMyRoles() | Processing response');\r\n\r\n\t\t\tlet profileResponse = response[0];\r\n\t\t\tthis.profile = profileResponse;\r\n\r\n\t\t\tthis.profileForm.patchValue({\r\n\t\t\t\tsearchDetailsRendering: profileResponse.searchDetailsAction,\r\n\t\t\t\tenableArticleUpVoteNotifications: profileResponse.enableArticleUpVoteNotifications,\r\n\t\t\t\tenableArticleReviewNotifications: profileResponse.enableArticleReviewNotifications,\r\n\t\t\t\tdefaultAnonymousVotingComments: profileResponse.defaultToAnonymousComments,\r\n\t\t\t\tdefaultEditorMode: profileResponse.defaultEditorMode,\r\n\t\t\t\thomePage: profileResponse.homePage\r\n\t\t\t});\r\n\r\n\t\t\tthis.roleSubscriptions = response[1].sort((left, right): number => { return (left.name > right.name) ? 1 : ((right.name > left.name) ? -1 : 0); });\r\n\r\n\t\t\tthis.roleSubscriptions.map((a, i) => {\r\n\t\t\t\t(this.profileForm.controls.roleSubscriptions as FormArray).push(new FormControl(false));\r\n\t\t\t});\r\n\r\n\t\t\t// mark selected controls based on user profile\r\n\t\t\tif (this.profile.userRoleSubscriptions) {\r\n\t\t\t\tthis.profile.userRoleSubscriptions.forEach(mySubscription => {\r\n\t\t\t\t\tlet index = this.roleSubscriptions.findIndex(roleSubscription => roleSubscription.id === mySubscription.roleId);\r\n\t\t\t\t\tif (index >= 0) {\r\n\t\t\t\t\t\t(this.profileForm.controls.roleSubscriptions as FormArray).controls[index].patchValue(true);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\r\n\t\t\t\t// mark controls that have membershipmanaged to disabled\r\n\t\t\t\tvar managedRoles = this.profile.userRoleSubscriptions.filter(r => r.isMembershipManaged === true);\r\n\t\t\t\tmanagedRoles.forEach(managedSubscription => {\r\n\t\t\t\t\tlet index = this.roleSubscriptions.findIndex(roleSubscription => roleSubscription.id === managedSubscription.roleId);\r\n\t\t\t\t\tif (index >= 0) {\r\n\t\t\t\t\t\t(this.profileForm.controls.roleSubscriptions as FormArray).controls[index].disable();\r\n\t\t\t\t\t\tthis.managedRoles.push(this.roleSubscriptions[index]);\r\n\t\t\t\t\t\t//console.log((this.profileForm.controls.userRoles as FormArray).controls[index].value);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t})\r\n\r\n\t\tthis._rolesService.getMyRoles()\r\n\t\t\t.subscribe(result => {\r\n\t\t\t\tconsole.debug('UserProfileComponent | getMyProfile() | Processing response');\r\n\r\n\t\t\t\tthis.roles = result.sort((left, right): number => { return (left.name > right.name) ? 1 : ((right.name > left.name) ? -1 : 0); });\r\n\r\n\t\t\t\tthis.roles.forEach(role => {\r\n\t\t\t\t\trole.permissions = role.permissions.sort((left, right): number => { return (left.name > right.name) ? 1 : ((right.name > left.name) ? -1 : 0); });\r\n\t\t\t\t});\r\n\t\t\t});\r\n\r\n\t\tthis._permsService.getMyPermissions()\r\n\t\t\t.subscribe(result => {\r\n\t\t\t\tconsole.debug('UserProfileComponent | getMyPermissions() | Processing response');\r\n\r\n\t\t\t\tthis.permissions = result.sort((left, right): number => { return (left.name > right.name) ? 1 : ((right.name > left.name) ? -1 : 0); });\r\n\t\t\t});\r\n\t}\r\n\r\n\tpublic onSubmit() {\r\n\t\tthis.profileUpdated = false;\r\n\r\n\t\tconst data = this.profileForm.value;\r\n\r\n\t\tlet rolesSubscriptionVm = new Array();\r\n\t\tfor (var i = 0; i < (this.profileForm.controls.roleSubscriptions as FormArray).controls.length; i++) {\r\n\t\t\tif ((this.profileForm.controls.roleSubscriptions as FormArray).controls[i].value) {\r\n\t\t\t\trolesSubscriptionVm.push(this.roleSubscriptions[i].id);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tlet vm: UserProfileUpdate = {\r\n\t\t\tid: this.profile.id,\r\n\t\t\tsearchDetailsAction: data.searchDetailsRendering,\r\n\t\t\tenableArticleUpVoteNotifications: data.enableArticleUpVoteNotifications,\r\n\t\t\tenableArticleReviewNotifications: data.enableArticleReviewNotifications,\r\n\t\t\tdefaultToAnonymousComments: data.defaultAnonymousVotingComments,\r\n\t\t\tdefaultEditorMode: data.defaultEditorMode,\r\n\t\t\thomePage: data.homePage,\r\n\t\t\tsubscriptions: rolesSubscriptionVm\r\n\t\t};\r\n\r\n\t\tthis.profileForm.disable();\r\n\r\n\t\tthis._profileService.updateMyProfile(vm)\r\n\t\t\t.subscribe(profile => {\r\n\t\t\t\t// successful update returns full (and updated) profile\r\n\t\t\t\tthis.profile = profile;\r\n\r\n\t\t\t\tthis.profileForm.enable();\r\n\r\n\t\t\t\tthis.profileForm.patchValue({\r\n\t\t\t\t\tsearchDetailsRendering: profile.searchDetailsAction,\r\n\t\t\t\t\tenableArticleUpVoteNotifications: profile.enableArticleUpVoteNotifications,\r\n\t\t\t\t\tenableArticleReviewNotifications: profile.enableArticleReviewNotifications,\r\n\t\t\t\t\tdefaultAnonymousVotingComments: profile.defaultToAnonymousComments,\r\n\t\t\t\t\tdefaultEditorMode: profile.defaultEditorMode,\r\n\t\t\t\t\thomePage: profile.homePage\r\n\t\t\t\t});\r\n\r\n\t\t\t\tthis.profileForm.reset(this.profileForm.value);\r\n\r\n\t\t\t\t// mark controls that have membershipmanaged to disabled\r\n\t\t\t\tthis.managedRoles.forEach(managedRole => {\r\n\t\t\t\t\tlet index = this.roleSubscriptions.findIndex(roleSubscription => roleSubscription.id === managedRole.id);\r\n\t\t\t\t\tif (index >= 0) {\r\n\t\t\t\t\t\t(this.profileForm.controls.roleSubscriptions as FormArray).controls[index].disable();\r\n\t\t\t\t\t\tlet roleSubscriptionIndex = this.profile.userRoleSubscriptions.findIndex(mr => mr.roleId === this.roleSubscriptions[index].id);\r\n\t\t\t\t\t\tthis.profile.userRoleSubscriptions[roleSubscriptionIndex].isMembershipManaged = true;\r\n\t\t\t\t\t\t//console.log((this.profileForm.controls.userRoles as FormArray).controls[index].value);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\r\n\t\t\t\tthis.profileUpdated = true;\r\n\t\t\t});\r\n\t}\r\n\r\n}\r\n","// Angular\r\nimport { NgModule, Optional, SkipSelf, ErrorHandler } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { RouterModule } from '@angular/router';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { ModuleWithProviders } from '@angular/compiler/src/core';\r\n\r\n// 3rd party imports\r\nimport { Ng4LoadingSpinnerModule } from 'ng4-loading-spinner';\r\n\r\nimport { CollapseModule, BsDropdownModule, TabsModule, ModalModule } from 'ngx-bootstrap';\r\n\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\nimport { library } from \"@fortawesome/fontawesome-svg-core\";\r\nimport { faShare, faThumbsDown, faThumbsUp, faSync, faBooks, faQuestion, faEdit, faCog, faCogs, faBell, faPhone, faUser, faComment, faGlobe, faEnvelope, faBriefcase, faExchange, faCode, faSmile, faFrown, faRoad, faCompressAlt, faExpandAlt, faEye, faTrashAlt, faSlidersH } from \"@fortawesome/pro-solid-svg-icons\";\r\n\r\nimport { MomentModule } from 'ngx-moment';\r\n\r\n// *** App\r\n\r\n// Modules\r\nimport { SharedModule } from '../shared/shared.module';\r\nimport { ContentViewerModule } from '../modules/content-viewer/content-viewer.module';\r\nimport { ContentManagerModule } from '../modules/content-manager/content-manager.module';\r\nimport { SearchModule } from '../modules/search/search.module';\r\nimport { ReportsModule } from '../modules/reports/reports.module';\r\nimport { ClassificationModule } from '../modules/classification/classification.module';\r\nimport { AdminModule } from '../modules/admin/admin.module';\r\n\r\n// Components\r\nimport { NotFoundComponent } from './components/not-found/not-found.component';\r\nimport { AlertComponent } from \"./components/alert/alert.component\";\r\nimport { AuthCallbackComponent } from './components/auth-callback/auth-callback.component';\r\nimport { NavMenuComponent } from './components/nav-menu/nav-menu.component';\r\nimport { HomeComponent } from './components/home/home.component';\r\nimport { EngineeringHomeComponent } from './components/engineering-home/engineering-home.component';\r\nimport { SalesHomeComponent } from './components/sales-home/sales-home.component';\r\nimport { UserProfileComponent } from './components/user-profile/user-profile.component';\r\n\r\n// Services\r\nimport { AuthPermissionsGuard } from './services/permissions/auth-permissions.guard';\r\nimport { LoggingService } from './services/logging/logging.service';\r\nimport { PermissionService } from './services/permissions/permission.service';\r\nimport { UserProfileService } from './services/user-profiles/user-profile.service';\r\nimport { ErrorHandlerService } from './services/logging/error.handler.service';\r\nimport { PeriodService } from './services/periods/period.service';\r\nimport { ArticleService } from './services/articles/article.service';\r\nimport { SearchService } from './services/searches/search.service';\r\nimport { AlertService } from './services/alert/alert.service';\r\nimport { CommentService } from './services/comments/comment.service';\r\nimport { RolesService } from './services/roles/roles.service';\r\nimport { ApplicationService } from './services/applications/application.service';\r\nimport { ApplicationVersionsService } from './services/application-versions/application-versions.service';\r\nimport { CategoryService } from './services/categories/category.service';\r\nimport { MessageService } from './services/messages/message.service';\r\n\r\n// Interceptors\r\nimport { SpinnerInterceptor } from './interceptors/spinner.interceptor';\r\nimport { HeadersInterceptor } from './interceptors/headers.interceptor';\r\nimport { ErrorInterceptor } from './interceptors/error.interceptor';\r\nimport { CanDeactivateGuard } from './services/can-deactivate/can-deactivate.guard';\nimport { EscalationComponent } from './components/escalation/escalation.component';\r\n\r\nlibrary.add(faShare, faThumbsDown, faThumbsUp, faSync, faBooks, faQuestion, faEdit, faCog, faCogs, faBell, faPhone, faUser, faComment, faGlobe, faEnvelope, faBriefcase, faExchange, faCode, faSmile, faFrown, faRoad, faCompressAlt, faExpandAlt, faEye, faTrashAlt, faSlidersH);\r\n\r\n@NgModule({\r\n\timports: [\r\n\t\tCommonModule,\r\n\t\tRouterModule,\r\n\t\tReactiveFormsModule,\r\n\t\tBrowserAnimationsModule,\r\n\r\n\t\t// ** 3rd Party\r\n\t\tNg4LoadingSpinnerModule.forRoot(),\r\n\r\n\t\tCollapseModule.forRoot(),\r\n\t\tBsDropdownModule.forRoot(),\r\n\t\tTabsModule.forRoot(),\r\n\t\tModalModule.forRoot(),\r\n\t\tFontAwesomeModule,\r\n\t\tMomentModule,\r\n\r\n\t\tTabsModule.forRoot(),\r\n\r\n\t\t// ** App\r\n\r\n\t\t// Modules\r\n\t\tSharedModule,\r\n\t\tContentViewerModule,\r\n\t\tContentManagerModule,\r\n\t\tSearchModule,\r\n\t\tClassificationModule,\r\n\t\tReportsModule,\r\n\t\tAdminModule\r\n\t],\r\n\texports: [\r\n\t\t// ** 3rd Party\r\n\t\tNg4LoadingSpinnerModule,\r\n\r\n\t\t// ** App\r\n\t\tHomeComponent,\r\n\t\tNavMenuComponent,\r\n\t\tNotFoundComponent,\r\n\t\tAlertComponent\r\n\t],\r\n\tdeclarations: [\r\n\t\tNotFoundComponent,\r\n\t\tAlertComponent,\r\n\t\tNavMenuComponent,\r\n\t\tHomeComponent,\r\n\t\tEngineeringHomeComponent,\r\n\t\tSalesHomeComponent,\r\n\t\tUserProfileComponent,\r\n\t\tAuthCallbackComponent,\r\n\t\tEscalationComponent,\r\n\t]\r\n})\r\nexport class CoreModule {\r\n\r\n\tconstructor(@Optional() @SkipSelf() parentModule: CoreModule) {\r\n\t\tif (parentModule) {\r\n\t\t\tthrow new Error('CoreModule is already loaded. Import it into the AppModule only');\r\n\t\t}\r\n\t}\r\n\r\n\tstatic forRoot(): ModuleWithProviders {\r\n\t\treturn {\r\n\t\t\tngModule: CoreModule,\r\n\t\t\tproviders: [\r\n\t\t\t\t{\r\n\t\t\t\t\tprovide: HTTP_INTERCEPTORS,\r\n\t\t\t\t\tuseClass: SpinnerInterceptor,\r\n\t\t\t\t\tmulti: true\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tprovide: HTTP_INTERCEPTORS,\r\n\t\t\t\t\tuseClass: ErrorInterceptor,\r\n\t\t\t\t\tmulti: true\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tprovide: HTTP_INTERCEPTORS,\r\n\t\t\t\t\tuseClass: HeadersInterceptor,\r\n\t\t\t\t\tmulti: true\r\n\t\t\t\t},\r\n\t\t\t\t// App Singleton Services\r\n\t\t\t\tLoggingService,\r\n\t\t\t\tAlertService,\r\n\t\t\t\tAuthPermissionsGuard,\r\n\t\t\t\tCanDeactivateGuard,\r\n\t\t\t\tPermissionService,\r\n\t\t\t\tUserProfileService,\r\n\t\t\t\tApplicationService,\r\n\t\t\t\tApplicationVersionsService,\r\n\t\t\t\tArticleService,\r\n\t\t\t\tSearchService,\r\n\t\t\t\tPeriodService,\r\n\t\t\t\tCommentService,\r\n\t\t\t\tRolesService,\r\n\t\t\t\t{\r\n\t\t\t\t\tprovide: ErrorHandler,\r\n\t\t\t\t\tuseClass: ErrorHandlerService\r\n\t\t\t\t},\r\n\t\t\t\tCategoryService,\r\n\t\t\t\tMessageService\r\n\t\t\t]\r\n\t\t};\r\n\t}\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpInterceptor, HttpRequest, HttpHandler, HttpEvent } from '@angular/common/http';\r\n\r\nimport { Observable, of, throwError } from 'rxjs';\r\nimport { retryWhen, concatMap, delay } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class ErrorInterceptor implements HttpInterceptor {\r\n\r\n\tconstructor() {\r\n\t}\r\n\r\n\tintercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n\t\treturn next.handle(request)\r\n\t\t\t.pipe(\r\n\t\t\t\tretryWhen(errors => errors\r\n\t\t\t\t\t.pipe(\r\n\t\t\t\t\t\tconcatMap((error, count) => {\r\n\t\t\t\t\t\t\t// `count` starts at 0\r\n\t\t\t\t\t\t\t// `status` values were chosen based on what `HandleTransientHttpError()` does in **Polly**\r\n\t\t\t\t\t\t\tif (count < 1 && (error.status >= 500 || error.status === 408)) {\r\n\t\t\t\t\t\t\t\treturn of(error.status);\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\treturn throwError(error);\r\n\t\t\t\t\t\t}),\r\n\t\t\t\t\t\tdelay(500)\r\n\t\t\t\t\t)\r\n\t\t\t\t)\r\n\t\t\t);\r\n\t}\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpInterceptor, HttpRequest, HttpHandler, HttpEvent } from '@angular/common/http';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { AuthService } from '../services/auth/auth.service';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class HeadersInterceptor implements HttpInterceptor {\r\n\r\n\tconstructor(private _authService: AuthService, private _router: Router) {\r\n\t}\r\n\r\n\tintercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n\t\t// for Web API model binding\r\n\t\trequest = request.clone({\r\n\t\t\theaders: request.headers.set('Content-Type', 'application/json')\r\n\t\t});\r\n\r\n\t\t// for authentication\r\n\t\tlet token = this._authService.getAuthorizationHeaderValue();\r\n\r\n\t\tif (token) {\r\n\t\t\trequest = request.clone({\r\n\t\t\t\theaders: request.headers.set('Authorization', token)\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\tthis._authService.login(this._router.url);\r\n\t\t\treturn next.handle(request);\r\n\t\t}\r\n\r\n\t\treturn next.handle(request);\r\n\t}\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpInterceptor, HttpRequest, HttpHandler, HttpEvent } from '@angular/common/http';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/internal/operators/map';\r\nimport { finalize } from 'rxjs/operators';\r\n\r\nimport { SpinnerService } from '../services/spinner/spinner.service';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class SpinnerInterceptor implements HttpInterceptor {\r\n\r\n\tconstructor(private _spinnerService: SpinnerService) {\r\n\t}\r\n\r\n\tintercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n\t\tif (!(request.headers.keys().indexOf('X-Hide-Progress') >= 0 && request.headers.get('X-Hide-Progress') == 'true')) {\r\n\t\t\tthis._spinnerService.show(\"Please wait...\");\r\n\t\t}\r\n\r\n\t\treturn next.handle(request)\r\n\t\t\t.pipe(\r\n\t\t\t\tmap(event => {\r\n\t\t\t\t\treturn event;\r\n\t\t\t\t}),\r\n\t\t\t\tfinalize(() => {\r\n\t\t\t\t\tif (!(request.headers.keys().indexOf('X-Hide-Progress') >= 0 && request.headers.get('X-Hide-Progress') == 'true')) {\r\n\t\t\t\t\t\tthis._spinnerService.hide();\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t)\r\n\t}\r\n\r\n}\r\n","import { Version } from \"./version\";\r\n\r\nexport class ParentVersion\r\n\textends Version {\r\n\r\n\tpublic minorVersions = new Array();\r\n\r\n}\r\n","import { ArticleFixedVersion } from \"../articles/article-fixed-version.model\";\r\nimport { ApplicationVersionViewModel } from \"./application-version-view-model.model\";\r\n\r\nexport class Version\r\n\textends ArticleFixedVersion {\r\n\r\n\tpublic id: string;\r\n\r\n\tpublic versionLabel: string;\r\n\r\n\tpublic static mapFromApplicationVersionViewModelArray(response: Array): Array {\r\n\t\tlet versionArr = new Array();\r\n\r\n\t\tif (response && response.map) {\r\n\t\t\tversionArr = response.map(x => {\r\n\t\t\t\tlet newVersion = new Version();\r\n\t\t\t\tnewVersion.id = `${x.applicationId}-${x.major}-${x.minor}-${x.build}-${x.revision}-${x.servicePack}`;\r\n\t\t\t\tnewVersion.versionApplicationId = x.applicationId;\r\n\t\t\t\tnewVersion.versionMajor = x.major;\r\n\t\t\t\tnewVersion.versionMinor = x.minor;\r\n\t\t\t\tnewVersion.versionRevision = x.revision;\r\n\t\t\t\tnewVersion.versionServicePack = x.servicePack;\r\n\t\t\t\tnewVersion.versionBuild = x.build;\r\n\t\t\t\tnewVersion.versionIsReleased = x.isReleased;\r\n\r\n\t\t\t\treturn newVersion;\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\treturn versionArr;\r\n\t} \r\n\r\n}\r\n","export class ArticleAuthor {\r\n\r\n\tpublic id: string;\r\n\r\n\tpublic userName: string;\r\n\r\n\tpublic getLink() {\r\n\t\treturn `/search;facets=owningUser%3A${this.userName}`;\r\n\t}\r\n\r\n\tpublic getSearchFacet() {\r\n\t\treturn `owningUser:${this.userName}`;\r\n\t}\r\n\r\n}\r\n","import { Article } from \"./article.model\";\r\nimport { Category } from \"../categories/category.model\";\r\n\r\nexport class BestPracticesArticle\r\n\textends Article {\r\n\r\n\tpublic type: string = \"bestpractices\";\r\n\r\n\tpublic content: string = null;\r\n\r\n\tpublic categoryId: number = null;\r\n\r\n\tpublic category: Category = null;\r\n\r\n}\r\n","import { ArticleAuthor } from \"./article-author.model\";\r\n\r\nexport class ArticleContributor {\r\n\r\n\tpublic articleId: number;\r\n\r\n\tpublic version: number;\r\n\r\n\tpublic userId: string;\r\n\r\n\tpublic timestamp: Date;\r\n\r\n\t// WebAPI sends Enum label while WebApi sends Enum int value\r\n\tpublic contributorType: string;\r\n\r\n\tpublic user: ArticleAuthor;\r\n\r\n}\r\n","import { ArticleType } from \"../../../shared/enums/article-type.enum\";\r\n\r\nexport class ArticleDefinition {\r\n\r\n\tid: string;\r\n\r\n\tname: string;\r\n\r\n\tdescription: string;\r\n\r\n\tarticleType: ArticleType;\r\n\r\n\taudiences: Array;\r\n\r\n\tarticleModelType: string;\r\n\r\n}\r\n","import { Article } from \"./article.model\";\r\nimport { Category } from \"../categories/category.model\";\r\n\r\nexport class FrequentlyAskedQuestionArticle\r\n\textends Article {\r\n\r\n\tpublic type: string = \"frequentlyaskedquestion\";\r\n\r\n\tpublic content: string = null;\r\n\r\n\tpublic categoryId: number = null;\r\n\r\n\tpublic category: Category = null;\r\n\r\n}\r\n","// this file is improperly being used as a base class on version.ts and needs to be cleaned up in the future\r\n\r\nexport class ArticleFixedVersion {\r\n\r\n\tpublic articleId: number;\r\n\r\n\tpublic version: string;\r\n\r\n\tpublic versionApplicationId: string;\r\n\r\n\tpublic versionMajor: number;\r\n\r\n\tpublic versionMinor: number;\r\n\t\t\r\n\tpublic versionBuild: number;\r\n\r\n\tpublic versionRevision: number;\r\n\r\n\tpublic versionServicePack: string;\r\n\r\n\tpublic versionIsReleased: boolean;\r\n\r\n}\r\n","import { ArticleTargetRole } from \"./article-target-role.model\";\r\nimport { ArticleAuthor } from \"./article-author.model\";\r\n\r\nexport class ArticleMetaData {\r\n\r\n\tpublic targetedRoles: Array;\r\n\r\n\tpublic technicalReviewer: ArticleAuthor; // should this change to be a more generic model? possibly update User?\r\n\r\n}\r\n","import { Article } from \"./article.model\";\r\n\r\nexport class SolutionArticle\r\n\textends Article {\r\n\r\n\tpublic type: string = \"solution\";\r\n\r\n\tpublic content: string = null;\r\n\r\n\tpublic proposedCommonIssueTitle: string = null;\r\n\r\n}\r\n","import { Role } from \"../roles/role.model\";\r\n\r\nexport class ArticleTargetRole {\r\n\r\n\tpublic articleId: number;\r\n\r\n\tpublic version: number;\r\n\r\n\tpublic roleId: string;\r\n\r\n\tpublic role: Role;\r\n\r\n}\r\n","export class ArticleTargetedVersion {\r\n\r\n\tpublic articleId: number;\r\n\r\n\tpublic version: number;\r\n\r\n\tpublic versionApplicationId: string;\r\n\r\n\tpublic versionMajor: number;\r\n\r\n\tpublic versionMinor: number;\r\n\r\n\tpublic versionBuild: number;\r\n\r\n\tpublic versionRevision: number;\r\n\r\n\tpublic versionServicePack: string;\r\n\r\n\tpublic static versionLabel(articleTargetedVersion: ArticleTargetedVersion): string {\r\n\t\tvar queue = [];\r\n\r\n\t\tqueue.push(articleTargetedVersion.versionMajor);\r\n\t\tqueue.push(articleTargetedVersion.versionMinor);\r\n\t\tqueue.push(articleTargetedVersion.versionBuild);\r\n\t\tqueue.push(articleTargetedVersion.versionRevision);\r\n\r\n\t\twhile (queue[queue.length - 1] == 0) {\r\n\t\t\tqueue.pop();\r\n\t\t}\r\n\r\n\t\tvar label = queue.join(\".\");\r\n\r\n\t\tif (articleTargetedVersion.versionServicePack !== '' && articleTargetedVersion.versionServicePack !== '*') {\r\n\t\t\tlabel = `${label} ${articleTargetedVersion.versionServicePack}`;\r\n\t\t}\r\n\r\n\t\treturn label;\r\n\t}\r\n}\r\n","import { Article } from \"./article.model\";\r\nimport { ArticleTargetRole } from \"./article-target-role.model\";\r\n\r\nexport class TechnicalNoteArticle\r\n\textends Article {\r\n\r\n\tpublic type: string = \"technicalnote\";\r\n\r\n\tpublic symptoms: string = null;\r\n\r\n\tpublic resolution: string = null;\r\n\r\n\tpublic moreInformation: string = null;\r\n\r\n\tpublic additionalResources: string = null;\r\n\r\n\tpublic targetedRoles: Array = null;\r\n\r\n}\r\n","import { Article } from \"./article.model\";\r\nimport { Category } from \"../categories/category.model\";\r\n\r\nexport class TechnicalReferenceArticle\r\n\textends Article {\r\n\r\n\tpublic type: string = \"technicalreference\";\r\n\r\n\tpublic content: string = null;\r\n\r\n\tpublic categoryId: number = null;\r\n\r\n\tpublic category: Category = null;\r\n\r\n}\r\n","import { Article } from \"./article.model\";\r\nimport { Category } from \"../categories/category.model\";\r\n\r\nexport class TroubleshootingArticle\r\n\textends Article {\r\n\r\n\tpublic type: string = \"troubleshooting\";\r\n\r\n\tpublic cause: string = null;\r\n\r\n\tpublic resolution: string = null;\r\n\r\n\tpublic description: string = null;\r\n\r\n\tpublic symptoms: string = null;\r\n\r\n\tpublic categoryId: number = null;\r\n\r\n\tpublic category: Category = null;\r\n\r\n}\r\n","import { ArticleContributor } from \"./article-contributor.model\";\r\nimport { ArticleDeflectedIncident } from \"./article-deflected-incident.model\";\r\nimport { ArticleTargetedVersion } from \"./article-targeted-version.model\";\r\nimport { ArticleLogPhrase } from \"./article-log-phrase.model\";\r\nimport { ArticleStateChange } from \"./article-state-change.model\";\r\nimport { ArticleAuthor } from \"./article-author.model\";\r\n\r\nexport class Article {\r\n\r\n\tpublic articleId: number;\r\n\r\n\tpublic author: ArticleAuthor;\r\n\r\n\tpublic version: number;\r\n\r\n\tpublic title: string;\r\n\r\n\tpublic classificationCode: string;\r\n\r\n\tpublic classificationText: string;\r\n\r\n\tpublic incidentReference: string = null;\r\n\r\n\tpublic created: Date;\r\n\r\n\tpublic authorId: string;\r\n\r\n\tpublic modified: Date;\r\n\r\n\tpublic editorId: string;\r\n\r\n\tpublic editor: ArticleAuthor;\r\n\r\n\tpublic technicalReviewerId: string = null;\r\n\r\n\tpublic technicalReviewer: ArticleAuthor;\r\n\r\n\tpublic deletionId: string;\r\n\r\n\tpublic deletedOn: Date;\r\n\r\n\tpublic deletedById: string;\r\n\r\n\tpublic unpublished: Date;\r\n\r\n\tpublic unpublisherId: string;\r\n\r\n\tpublic isMinorRevision: boolean;\r\n\r\n\tpublic externalReferenceId: string;\r\n\r\n\tpublic workflowState: string;\r\n\r\n\tpublic proposedCommonIssueTitle: string;\r\n\r\n\tpublic articleTypeLabel: string;\r\n\r\n\tpublic isMajorVersion: string;\r\n\r\n\tpublic articleContributors: Array = null;\r\n\r\n\tpublic articleDeflectedIncidents: Array;\r\n\r\n\tpublic articleTargetedVersions: Array = null;\r\n\r\n\tpublic articleLogPhrases: Array;\r\n\r\n\tpublic articleStateChanges: Array;\r\n\r\n\tpublic sourceArticleId: number;\r\n\r\n\tpublic sourceArticleVersion: number;\r\n\r\n\tpublic audience: string;\r\n\r\n\tpublic expiration: Date;\r\n\r\n\tpublic isManualPublish: boolean;\r\n\r\n\tpublic articleType: string;\r\n\r\n\tpublic discriminator: string;\r\n\r\n\tpublic affectedApplications: string;\r\n\r\n}\r\n","import { ArticleAuthor } from \"./article-author.model\";\r\nimport { ArticleType } from \"../../../shared/enums/article-type.enum\";\r\n\r\nexport class LatestArticles {\r\n\t\t\r\n\tpublic author: ArticleAuthor;\r\n\r\n\tpublic articleId: number;\r\n\r\n\tpublic version: number;\r\n\r\n\tpublic title: string;\r\n\r\n\tpublic articleType: number;\r\n\r\n\tpublic modified: Date;\r\n\r\n\tpublic userName: string;\r\n\r\n\tpublic articleTypeLabel(): string {\r\n\t\treturn ArticleType[this.articleType] ? ArticleType[this.articleType] : \"\";\r\n\t}\r\n\r\n\tpublic getLink() {\r\n\t\treturn `/article/details/${this.articleId}/${this.version}`;\r\n\t}\r\n\r\n}\r\n","import { ArticleAuthor } from \"./article-author.model\";\r\n\r\nexport class UserContribution {\r\n\r\n\tpublic author: ArticleAuthor;\r\n\r\n\tpublic articlesCount: number;\r\n\r\n}\r\n","import { CommentThread } from \"./comment-thread.model\";\r\n\r\nexport class Comment {\r\n\r\n\tpublic id: number;\r\n\r\n\tpublic userId: string;\r\n\r\n\tpublic content: string;\r\n\r\n\tpublic thread: CommentThread;\r\n\r\n\tpublic created: Date;\r\n\r\n\tpublic lastUpdated: Date;\r\n\r\n\tpublic parent: Comment;\r\n\r\n\tpublic replies: Array;\r\n\r\n\tpublic userName: string;\r\n\r\n\tpublic userEmail: string;\r\n\r\n\tpublic isAnonymous: boolean;\r\n\r\n}\r\n","import { Incident } from \"./incident.model\";\r\n\r\nexport class IncidentActivity {\r\n\r\n\tpublic id: string;\r\n\r\n\tpublic incidentId: string;\r\n\r\n\tpublic type: string;\r\n\r\n\tpublic subject: string;\r\n\r\n\tpublic description: string;\r\n\r\n\tpublic duration: number;\r\n\r\n\tpublic createdOn: Date;\r\n\r\n\tpublic createdBy: string;\r\n\r\n\tpublic createdByUsername: string;\r\n\r\n\tpublic modifiedOn: Date;\r\n\r\n\tpublic modifiedBy: string;\r\n\r\n\tpublic modifiedByUsername: string;\r\n\r\n\tpublic incident: Incident;\r\n\r\n\tpublic isDisplayOpen: boolean;\r\n\r\n\tpublic stateCode: number;\r\n\t\r\n\tpublic isWorkaroundIncluded: boolean;\r\n\r\n\tpublic workaroundDetails: string;\r\n\r\n\tpublic workaroundNextSteps: string;\r\n\t\r\n\tpublic agreedSeverityAfterWorkaround: string;\r\n}\r\n","export class Contact {\r\n\r\n public id: string;\r\n\r\n public firstName: string;\r\n \r\n public lastName: string;\r\n\r\n public emailAddress: string;\r\n\r\n public phone: string;\r\n\r\n public fullName: string;\r\n\r\n public customerId: string;\r\n}\r\n\r\nexport class ContactRes {\r\n\r\n public id: string;\r\n \r\n}","export class FieldEscalationSubmission {\r\n\r\n\tpublic escalationDescription: string;\r\n\r\n\tpublic emailAddress: string;\r\n\r\n\tpublic userFullName: string;\r\n\r\n\tpublic emailCC: string[];\r\n\r\n}\r\n","export class InternalNote{\r\n\r\n public description: string;\r\n\r\n public taskTypeId: string;\r\n\r\n public incidentId: string;\r\n\r\n public emailAddress: string;\r\n\r\n\tpublic userFullName: string;\r\n \r\n}","export class CaseSubscription {\r\n\r\n\tpublic id: string;\r\n\r\n}","import { Team } from \"../teams/team.model\";\r\nimport { IncidentActivity } from \"./incident-activity.model\";\r\nimport { IncidentResolutionActivity } from \"./incident-resolution-activity.model\";\r\nimport { IncidentDevelopmentEscalationActivity } from \"./incident-development-escalation-activity.model\";\r\nimport { ApplicationVersion } from \"../applications/application-version.model\";\r\nimport { Account } from \"../accounts/account.model\";\r\nimport { CommCell } from \"../comm-cells/comm-cell.model\";\r\n\r\nexport class Incident {\r\n\r\n\tpublic owningTeamId: string;\r\n\r\n\tpublic owningTeam: Team;\r\n\r\n\tpublic initialResponseTimestamp: Date;\r\n\r\n\tpublic timeToRespondTimestamp: Date;\r\n\r\n\tpublic supportType: string;\r\n\r\n\tpublic classificationId: string;\r\n\r\n\tpublic classificationText: string;\r\n\r\n\tpublic patchReference: string;\r\n\r\n\tpublic owningUserName: string;\r\n\r\n\tpublic patchName: string;\r\n\r\n\tpublic modifiedOn: Date;\r\n\r\n\tpublic deflectionResult: string;\r\n\r\n\tpublic deflectionComments: string;\r\n\r\n\tpublic isEscalated: boolean;\r\n\r\n\tpublic resolution: IncidentResolutionActivity;\r\n\r\n\tpublic developmentEscalation: IncidentDevelopmentEscalationActivity;\r\n\r\n\tpublic voteTally: number;\r\n\r\n\tpublic activities: Array;\r\n\r\n\tpublic createdOn: Date;\r\n\r\n\tpublic isFieldEscalationAllowed: boolean;\r\n\r\n\tpublic owningUserId: string;\r\n\r\n\tpublic desiredOutcome: string;\r\n\r\n\tpublic id: string;\r\n\r\n\tpublic source: string;\r\n\r\n\tpublic ticketNumber: string;\r\n\r\n\tpublic title: string;\r\n\r\n\tpublic description: string;\r\n\r\n\tpublic commCellId: string;\r\n\r\n\tpublic commCell: CommCell;\r\n\r\n\tpublic originatorId: string;\r\n\r\n\tpublic incidentSummary: string;\r\n\r\n\tpublic originator: Account;\r\n\r\n\tpublic contactDetails: string;\r\n\r\n\tpublic version: ApplicationVersion;\r\n\r\n\tpublic severity: string;\r\n\r\n\tpublic errorCode: string;\r\n\r\n\tpublic pendingFailure: string;\r\n\r\n\tpublic status: string;\r\n\r\n\tpublic state: string;\r\n\r\n\tpublic businessImpact: string;\r\n\r\n\tpublic contactName: string;\r\n\r\n\tpublic lastActivity: IncidentActivity;\r\n\r\n\tpublic accountName: string;\r\n\r\n\tpublic supportTeamName: string;\r\n\r\n\tpublic supportPartnerName: string;\r\n\r\n\tpublic applicationMajorVersion: string;\r\n\r\n\tpublic applicationServicePack: string;\r\n\r\n\tpublic commCellAlias: string;\r\n\r\n\tpublic tenantID: string;\r\n\r\n\tpublic contactId: string;\r\n\r\n\tpublic subscriptionType: string;\r\n\r\n\tpublic productType: string;\r\n\r\n\tpublic caseOriginCode: string;\r\n\r\n\tpublic secondaryContactId: string;\r\n\r\n\tpublic preferredContactMethodId: string;\r\n\r\n\tpublic preferredLanguage: string;\r\n\r\n\tpublic accountId: string;\r\n\r\n\tpublic supportTeamId: string;\r\n\r\n\tpublic caseSubmittedBy: string;\r\n\r\n\tpublic taxonomyPath: string;\r\n\r\n}\r\n","import { Permission } from \"../permissions/permission.model\";\r\n\r\nexport class Role {\r\n\r\n public id: string;\r\n\r\n public name: string;\r\n\r\n public isMembershipManaged: boolean;\r\n\r\n public permissions: Array;\r\n\r\n}\r\n","export class KeyValue {\r\n\r\n\tpublic key: string;\r\n\r\n\tpublic value: string;\r\n\r\n}\r\n","export class SearchRequestFacet {\r\n\r\n\tpublic field: string;\r\n\r\n\tpublic value: any;\r\n\r\n\tpublic clusivity: number;\r\n\r\n}\r\n","import { SearchRequestFacet } from \"./search-request-facet.model\";\r\nimport { SearchSortCriteria } from \"./search-sort-criteria.model\";\r\nimport { KeyValue } from \"./key-value.model\";\r\n\r\nexport class SearchRequest {\r\n\r\n\tpublic searchTerms: string = null;\r\n\r\n\tpublic explicitSearchTerms: Array = new Array();\r\n\r\n\tpublic escapeSearchTerms: boolean = true;\r\n\r\n\tpublic facets: Array = new Array();\r\n\r\n\tpublic pageIndex: number = 1;\r\n\r\n\tpublic maxPaginationSize: number = 10;\r\n\r\n\tpublic pageSize: number = 0;\r\n\r\n\tpublic sortOrder: Array = new Array();\r\n\r\n\tpublic normalizeScores: boolean = false;\r\n\r\n\tpublic includeFilteredFacets: boolean = false;\r\n\r\n}\r\n","export class User {\r\n\r\n\tpublic id: string;\r\n\r\n\tpublic name: string;\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\n\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { ResetUserPublishDate } from '../../models/admin/reset-user-publish-date.model';\r\n\r\nconst httpOptions = {\r\n\theaders: new HttpHeaders({\r\n\t\t'Content-Type': 'application/json',\r\n\t})\r\n};\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class AdminService {\r\n\r\n\tprivate _urlBase: string = \"api/admin\";\r\n\r\n\tconstructor(private _http: HttpClient) {\r\n\t}\r\n\r\n\tpublic resetUsersPublishDate(request: ResetUserPublishDate): Observable {\r\n\t\treturn this._http\r\n\t\t\t.patch(`${this._urlBase}/resetpublisheddate`, request, httpOptions);\r\n\t}\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\nimport { Observable, Subject } from 'rxjs';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class AlertService {\r\n\r\n\t// should this be basic Subject\r\n\tprivate _messageStream = new Subject();\r\n\r\n\tconstructor() {\r\n\t}\r\n\r\n\tpublic show(message: string) {\r\n\t\tthis._messageStream.next(message);\r\n\t}\r\n\r\n\tpublic messages(): Observable {\r\n\t\treturn this._messageStream.asObservable();\r\n\t}\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { ApplicationVersionViewModel } from '../../models/applications/application-version-view-model.model';\r\n\r\nimport { ConfigurationService } from '../../../modules/runtime-configuration/services/configuration.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ApplicationVersionsService {\r\n\r\n private _urlOdataBase: string = \"odata/applicationversions\";\r\n\r\n constructor(private _httpClient: HttpClient, private _configSvc: ConfigurationService) { }\r\n\r\n public getCommvaultApplicationVersions(isEnabled: boolean, isReleased: boolean, majorOnly: boolean): Observable> {\r\n return this.getApplicationVersions(this._configSvc.configuration.commvaultApplicationId, isEnabled, isReleased, majorOnly);\r\n }\r\n\r\n public getApplicationVersions(applicationId: string, isEnabled: boolean, isReleased: boolean, majorOnly: boolean): Observable> {\r\n let filter = `$filter=isEnabled eq ${isEnabled} and applicationId eq ${applicationId}`;\r\n\r\n if (isReleased !== null) {\r\n filter = `${filter} and isReleased eq ${isReleased}`;\r\n }\r\n\r\n if (majorOnly) {\r\n filter += ` and servicePack eq '*'`;\r\n } else {\r\n filter += ` and servicePack ne '*'`;\r\n }\r\n\r\n let order = `$orderBy=major desc, releaseDate desc`;\r\n\r\n return this._httpClient.get>(this._urlOdataBase + `/get?${filter}&${order}`);\r\n }\r\n\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { Application } from '../../models/applications/application.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ApplicationService {\r\n\r\n\tprivate _urlOdataBase: string = \"odata/applications\";\r\n\r\n\tconstructor(private _httpClient: HttpClient) { }\r\n\r\n\tpublic getEnabledApplications(): Observable> {\r\n\t\treturn this._httpClient.get>(this._urlOdataBase + `?$filter=isEnabled eq true & $orderBy=name asc`);\r\n\t}\r\n\r\n\tpublic getApplicationById(id: string): Observable {\r\n\t\treturn this._httpClient.get(this._urlOdataBase + `?$filter=id eq ${id}`);\r\n\t}\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { WorkflowState } from '../../models/workflow/workflow-state.model';\r\nimport { Article } from '../../models/articles/article.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ArticleWorkflowService {\r\n\r\n private _urlBase: string = \"odata/article\";\r\n\r\n constructor(private _httpClient: HttpClient) { }\r\n\r\n public getValidTransitions(articleId: number, version: number): Observable> {\r\n\t return this._httpClient.get>(`${this._urlBase}(${articleId},${version})/workflow`);\r\n }\r\n\r\n public setWorkflowTransition(articleId: number, version: number, action: string, feedback: string): Observable
{\r\n\t return this._httpClient.post
(`${this._urlBase}(${articleId},${version})/workflow`, { action: action, feedback: feedback });\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\n\r\nimport { Observable, of } from \"rxjs\";\r\nimport { map, catchError } from 'rxjs/operators';\r\n\r\nimport { UserContribution } from '../../models/articles/user-contribution.model';\r\nimport { ArticleAuthor } from '../../models/articles/article-author.model';\r\nimport { LatestArticles } from '../../models/articles/latest-articles.model';\r\nimport { ArticleDefinition } from '../../models/articles/article-definition.model';\r\nimport { PeriodOption } from '../../models/periods/period-option.model';\r\nimport { Article } from '../../models/articles/article.model';\r\nimport { Views } from '../../models/views/views.model';\r\nimport { TechnicalNoteArticle } from '../../models/articles/article-technical-note.model';\r\nimport { SolutionArticle } from '../../models/articles/article-solution.model';\r\nimport { TroubleshootingArticle } from '../../models/articles/article-troubleshooting.model';\r\nimport { FrequentlyAskedQuestionArticle } from '../../models/articles/article-faq.model';\r\nimport { BestPracticesArticle } from '../../models/articles/article-best-practices.model';\r\nimport { TechnicalReferenceArticle } from '../../models/articles/article-technical-reference.model';\r\nimport { ArticleMetaData } from '../../models/articles/article-metadata.model';\r\nimport { ArticleQualityVote } from '../../models/articles/article-quality-vote.model';\r\nimport { ArticleHistory } from '../../models/articles/article-history.model';\r\nimport { ArticleQualityVoteResult } from '../../models/articles/article-quality-vote-result.model';\r\n\r\nconst httpOptions = {\r\n\theaders: new HttpHeaders({\r\n\t\t'Content-Type': 'application/json',\r\n\t})\r\n};\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class ArticleService {\r\n\r\n\tprivate _urlBase: string = \"api/articles\";\r\n\r\n\tprivate _urlOdataBase: string = \"odata/article\";\r\n\r\n\tconstructor(private _httpClient: HttpClient) { }\r\n\r\n\tpublic getTopContributors(periodFilter: PeriodOption, roleId: string): Observable> {\r\n\t\tlet params = new Array();\r\n\r\n\t\tif (periodFilter && periodFilter.periodStart) {\r\n\t\t\tparams.push(`startPeriod=${periodFilter.periodStart}`);\r\n\t\t}\r\n\r\n\t\tif (periodFilter && periodFilter.periodEnd) {\r\n\t\t\tparams.push(`endPeriod=${periodFilter.periodEnd}`);\r\n\t\t}\r\n\r\n\t\tif (roleId) {\r\n\t\t\tparams.push(`roleId=${roleId}`);\r\n\t\t}\r\n\r\n\t\tlet queryString = params.join(\"&\");\r\n\r\n\t\treturn this._httpClient.get>(this._urlBase + `/views/topContributors?${queryString}`).pipe(\r\n\t\t\tmap(contributionData => {\r\n\t\t\t\treturn contributionData.map(x => {\r\n\t\t\t\t\tlet uc = new UserContribution();\r\n\t\t\t\t\tuc.author = new ArticleAuthor();\r\n\r\n\t\t\t\t\tuc.author.userName = x.authorName;\r\n\t\t\t\t\tuc.articlesCount = x.contributionCount;\r\n\r\n\t\t\t\t\treturn uc;\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tpublic getLatestArticles(): Observable> {\r\n\t\treturn this._httpClient.get>(this._urlBase + `/views/latest`).pipe(\r\n\t\t\tmap(contributionData => {\r\n\t\t\t\treturn contributionData.map(x => {\r\n\t\t\t\t\tlet uc = new LatestArticles();\r\n\t\t\t\t\tObject.assign(uc, x);\r\n\r\n\t\t\t\t\tlet author = new ArticleAuthor();\r\n\t\t\t\t\tObject.assign(author, x.author);\r\n\r\n\t\t\t\t\tuc.author = author;\r\n\r\n\t\t\t\t\treturn uc;\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tpublic getArticleTypes(): Observable> {\r\n\t\treturn this._httpClient.get>(this._urlBase + `/types`).pipe(\r\n\t\t\tmap(definitionData => {\r\n\t\t\t\treturn definitionData.map(x => {\r\n\t\t\t\t\tlet ad = new ArticleDefinition();\r\n\t\t\t\t\tObject.assign(ad, x);\r\n\t\t\t\t\treturn ad;\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tpublic getArticleType(type: string): Observable {\r\n\t\treturn this._httpClient.get(this._urlBase + `/types/${type}`).pipe(\r\n\t\t\tmap(definition => {\r\n\t\t\t\tlet ad = new ArticleDefinition();\r\n\r\n\t\t\t\tObject.assign(ad, definition);\r\n\r\n\t\t\t\treturn ad;\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tpublic getArticles(id: number, version: number, expand: string): Observable
{\r\n\t\tlet keyFilter = `${id}`;\r\n\r\n\t\tif (version) {\r\n\t\t\tkeyFilter = `${keyFilter}, ${version}`;\r\n\t\t}\r\n\r\n\t\tlet params = new Array();\r\n\r\n\t\tif (expand) {\r\n\t\t\tparams.push(`$expand=${expand}`);\r\n\t\t}\r\n\r\n\t\tconst queryString = params.join(\"&\");\r\n\r\n\t\tconst url = `${this._urlOdataBase}(${keyFilter})?${queryString}`;\r\n\r\n\t\treturn this._httpClient.get
(url);\r\n\t}\r\n\r\n\tpublic getLatestArticleById(id: number, version?: number): Observable
{\r\n\t\tlet expand = 'articleDeflectedIncidents, articleTargetedVersions($orderby=versionMajor desc), articleLogPhrases, articleContributors($orderby=timestamp desc;$expand = user), author, editor, *';\r\n\r\n\t\tlet url = this._urlOdataBase;\r\n\r\n\t\tif (!version) {\r\n\t\t\turl += `/latest(id='${id}')`;\r\n\t\t} else {\r\n\t\t\turl += `(${id}, ${version})`\r\n\t\t}\r\n\r\n\t\turl += `?$expand=${expand}`;\r\n\r\n\t\treturn this._httpClient.get
(url);\r\n\t}\r\n\r\n\tpublic getViews(): Observable> {\r\n\t\treturn this._httpClient.get>(`${this._urlBase}/views`);\r\n\t}\r\n\r\n\tpublic getArticleMetadata(articleId: number, version: number = null): Observable {\r\n\t\tlet url = `${this._urlBase}/meta/${articleId}`;\r\n\r\n\t\tif (version) {\r\n\t\t\turl = `${url}/${version}`;\r\n\t\t}\r\n\r\n\t\treturn this._httpClient.get(url).pipe(\r\n\t\t\tcatchError(() => {\r\n\t\t\t\treturn of(null);\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tpublic getLatestArticleVersion(articleId: number): Observable {\r\n\t\tlet hideProgressOptions = {\r\n\t\t\theaders: httpOptions.headers.set('X-Hide-Progress', 'true')\r\n\t\t};\r\n\t\treturn this._httpClient.get(`${this._urlBase}/${articleId}/latestVersion`, hideProgressOptions);\r\n\t}\r\n\r\n\tpublic getPublishedArticleVersion(articleId: number): Observable {\r\n\t\treturn this._httpClient.get(`${this._urlBase}/${articleId}/publishedVersion`);\r\n\t}\r\n\r\n\tpublic getDefaultedArticle(type: string): Observable
{\r\n\t\treturn this._httpClient.get
(`${this._urlBase}/default/${type}`)\r\n\t\t\t.pipe(\r\n\t\t\t\tmap(\r\n\t\t\t\t\tresponse => {\r\n\t\t\t\t\t\tlet article = response;\r\n\r\n\t\t\t\t\t\t// ** A better solution would be server side but that would involve new ViewModels\r\n\r\n\t\t\t\t\t\t// Need to clean up some default data type values that better match client environment\r\n\t\t\t\t\t\tarticle.versionImplied = null;\r\n\t\t\t\t\t\tarticle.versionLabel = null;\r\n\r\n\t\t\t\t\t\tarticle.created = null;\r\n\t\t\t\t\t\tarticle.modified = null;\r\n\t\t\t\t\t\tarticle.isMajorVersion = false;\t\t// this is because of the default 0 for version\r\n\r\n\t\t\t\t\t\tif (article.hasOwnProperty('categoryId') && article.categoryId === 0) {\r\n\t\t\t\t\t\t\tarticle.categoryId = null;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\treturn response;\r\n\t\t\t\t\t}\r\n\t\t\t\t)\r\n\t\t\t);\r\n\t}\r\n\r\n\tpublic createArticle(type: string): Article {\r\n\t\t// Not really happy about this approach. Think I would want a more\r\n\t\t// abstract approach...maybe specify type as property of definition\r\n\r\n\t\t// think https://stackoverflow.com/a/21159196/240372 would help\r\n\r\n\t\tif (!type) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\r\n\t\tswitch (type.toLowerCase()) {\r\n\t\t\tcase \"technicalnote\": {\r\n\t\t\t\treturn new TechnicalNoteArticle();\r\n\t\t\t}\r\n\t\t\tcase \"solution\": {\r\n\t\t\t\treturn new SolutionArticle();\r\n\t\t\t}\r\n\t\t\tcase \"troubleshooting\": {\r\n\t\t\t\treturn new TroubleshootingArticle();\r\n\t\t\t}\r\n\t\t\tcase \"frequentlyaskedquestion\": {\r\n\t\t\t\treturn new FrequentlyAskedQuestionArticle();\r\n\t\t\t}\r\n\t\t\tcase \"bestpractices\": {\r\n\t\t\t\treturn new BestPracticesArticle();\r\n\t\t\t}\r\n\t\t\tcase \"technicalreference\": {\r\n\t\t\t\treturn new TechnicalReferenceArticle();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn null;\r\n\t}\r\n\r\n\tpublic getArticleQualityVote(articleId: number): Observable {\r\n\t\treturn this._httpClient.get(this._urlBase + `/${articleId}/votes`);\r\n\t}\r\n\r\n\tpublic voteAsync(articleId: number, version: number, request: ArticleQualityVote): Observable {\r\n\t\tlet hideProgressOptions = {\r\n\t\t\theaders: new HttpHeaders({\r\n\t\t\t\t'Content-Type': 'application/json',\r\n\t\t\t\t'X-Hide-Progress': 'true'\r\n\t\t\t})\r\n\t\t};\r\n\t\treturn this._httpClient\r\n\t\t\t.post(this._urlBase + `/${articleId}/${version}/votes`, request, hideProgressOptions);\r\n\t}\r\n\r\n\tpublic saveArticle(article: Article, isMajorVersion: boolean = false): Observable
{\r\n\t\treturn this._httpClient.post
(`${this._urlBase}?isMajorVersion=${isMajorVersion}`, article);\r\n\t}\r\n\r\n\tpublic approvePublish(articleId: number, version: number): Observable
{\r\n\t\treturn this._httpClient.post
(`${this._urlBase}/${articleId}/${version}/workflow/approve`, null);\r\n\t}\r\n\r\n\tpublic denyPublish(articleId: number, version: number, denialReason: string): Observable
{\r\n\t\treturn this._httpClient.post
(`${this._urlBase}/${articleId}/${version}/workflow/deny`, JSON.stringify(denialReason), httpOptions);\r\n\t}\r\n\r\n\tpublic approveReview(articleId: number, version: number): Observable
{\r\n\t\treturn this._httpClient.post
(`${this._urlBase}/${articleId}/${version}/workflow/reviewed`, null);\r\n\t}\r\n\r\n\tpublic denyReview(articleId: number, version: number, denialReason: string): Observable
{\r\n\t\treturn this._httpClient.post
(`${this._urlBase}/${articleId}/${version}/workflow/denyreview`, JSON.stringify(denialReason), httpOptions);\r\n\t}\r\n\r\n\tpublic approvePartner(articleId: number, version: number): Observable
{\r\n\t\treturn this._httpClient.post
(`${this._urlBase}/${articleId}/${version}/workflow/approvepartner`, null);\r\n\t}\r\n\r\n\tpublic denyPartner(articleId: number, version: number, denialReason: string): Observable
{\r\n\t\treturn this._httpClient.post
(`${this._urlBase}/${articleId}/${version}/workflow/denypartner`, JSON.stringify(denialReason), httpOptions);\r\n\t}\r\n\r\n\tpublic unpublish(articleId: number): Observable
{\r\n\t\treturn this._httpClient.post
(`${this._urlBase}/${articleId}/unpublish`, null);\r\n\t}\r\n\r\n\tpublic deleteArticles(articleIds: Array): Observable {\r\n\t\treturn this._httpClient.delete(`${this._urlBase}?ids=${articleIds.join(',')}`, httpOptions);\r\n\t}\r\n\r\n\tpublic deleteArticle(articleId: number, version: number, includePrevious: boolean = false): Observable {\r\n\t\tlet url = `${this._urlOdataBase}(${articleId},${version})`;\r\n\r\n\t\tif (includePrevious) {\r\n\t\t\turl += '?includePrevious=true';\r\n\t\t}\r\n\r\n\t\treturn this._httpClient.delete(url);\r\n\t}\r\n\r\n\tpublic nominateAsSolution(articleId: number, version: number): Observable
{\r\n\t\treturn this._httpClient.post
(`${this._urlBase}/${articleId}/${version}/workflow/nominate`, null);\r\n\t}\r\n\r\n\tpublic denyPromotion(articleId: number, version: number, denialReason: string): Observable
{\r\n\t\treturn this._httpClient.post
(`${this._urlBase}/${articleId}/${version}/workflow/denypromotion`, JSON.stringify(denialReason), httpOptions);\r\n\t}\r\n\r\n\tpublic getArticleHistory(articleId: number): Observable> {\r\n\t\treturn this._httpClient.get>(`${this._urlBase}/${articleId}/history`);\r\n\t}\r\n\r\n\tpublic setWorkflowTransition(articleId: number, version: number, action: string, feedback: string): Observable
{\r\n\t\treturn this._httpClient.post
(`${this._urlOdataBase}(${articleId},${version})/workflow`, { action: action, feedback: feedback });\r\n\t}\r\n\r\n\tpublic recordArticleInspection(articleId: number, userId: string): Observable {\r\n\t\tlet hideProgressOptions = {\r\n\t\t\theaders: new HttpHeaders({\r\n\t\t\t\t'Content-Type': 'application/json',\r\n\t\t\t\t'X-Hide-Progress': 'true'\r\n\t\t\t})\r\n\t\t};\r\n\t\treturn this._httpClient.post(`${this._urlBase}/${articleId}/inspection/user/${userId}`, null, hideProgressOptions);\r\n\t}\r\n\r\n\tpublic updateArticleClassification(articleId: number, version: number, classificationCode: number) {\r\n\t\tconst url = `${this._urlBase}/${articleId}/${version}`;\r\n\r\n\t\tconst patch = [\r\n\t\t\t{ op: 'replace', path: '/proposedCommonIssueTitle', value: null },\r\n\t\t\t{ op: 'replace', path: '/classificationText', value: null },\r\n\t\t\t{ op: 'replace', path: '/classificationCode', value: classificationCode }\r\n\t\t];\r\n\r\n\t\treturn this._httpClient.patch
(url, patch);\r\n\t}\r\n\r\n\tpublic getWorkflowTriggers(articleId: number, version: number): Observable> {\r\n\t\treturn this._httpClient.get>(`${this._urlBase}/${articleId}/${version}/workflowtriggers`);\r\n\t}\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\nimport { Observable, from, ReplaySubject } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { UserManager, UserManagerSettings, User } from 'oidc-client';\r\nimport { ConfigurationService } from '../../../modules/runtime-configuration/services/configuration.service';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class AuthService {\r\n\r\n\t// Original oidc code based on -- https://www.scottbrady91.com/Angular/SPA-Authentiction-using-OpenID-Connect-Angular-CLI-and-oidc-client\r\n\r\n\tprivate _manager = new UserManager(this.getClientSettings());\r\n\r\n\tpublic user: User = null;\r\n\r\n\tprivate _isAuthenticatedStream = new ReplaySubject(1);\r\n\r\n\tconstructor(private _configSvc: ConfigurationService) {\r\n\t\tthis.getUser().subscribe(user => {\r\n\t\t\tif (user && !user.expired) {\r\n\t\t\t\tthis.user = user;\r\n\t\t\t\tthis._isAuthenticatedStream.next(true);\r\n\t\t\t} else {\r\n\t\t\t\tthis._isAuthenticatedStream.next(false);\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tprivate getClientSettings(): UserManagerSettings {\r\n\t\tconst settings = this._configSvc.configuration;\r\n\r\n\t\treturn {\r\n\t\t\tauthority: settings.sso.baseUrl,\r\n\t\t\tclient_id: settings.sso.clientId,\r\n\t\t\tredirect_uri: `${settings.baseUrl}/auth-callback`,\r\n\t\t\tpost_logout_redirect_uri: settings.baseUrl,\r\n\t\t\tresponse_type: 'id_token token',\r\n\t\t\tscope: settings.sso.scope,\r\n\t\t\tfilterProtocolClaims: true,\r\n\t\t\tloadUserInfo: true\r\n\t\t};\r\n\t}\r\n\r\n\tpublic getUser(): Observable {\r\n\t\treturn from(this._manager.getUser());\r\n\t}\r\n\r\n\tpublic login(returnUrl: string = null): Observable {\r\n\t\tlet data: any = {\r\n\t\t\tdata: returnUrl,\r\n\t\t\tacr_values: 'idp:aad'\r\n\t\t};\r\n\r\n\t\treturn from(\r\n\t\t\tthis._manager.clearStaleState().then(() => {\r\n\t\t\t\tthis._manager.signinRedirect(data);\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tpublic loggedIn(): Observable {\r\n\t\treturn from(this._manager.signinRedirectCallback())\r\n\t\t\t.pipe(\r\n\t\t\t\tmap((user) => {\r\n\t\t\t\t\tthis.user = user;\r\n\r\n\t\t\t\t\tthis._isAuthenticatedStream.next(!!this.user && !this.user.expired);\r\n\t\t\t\t\treturn user.state;\r\n\t\t\t\t})\r\n\t\t\t);\r\n\t}\r\n\r\n\tpublic renewToken(): Observable {\r\n\t\treturn from(this._manager.signinSilent());\r\n\t}\r\n\r\n\tpublic logout(): Observable {\r\n\t\treturn from(this._manager.signoutRedirect());\r\n\t}\r\n\r\n\t// reverted this since tihs was \"working\"... albeit inefficiently. will fix later\r\n\tpublic isAuthenticated(): Observable {\r\n\t\treturn this._isAuthenticatedStream.asObservable();\r\n\t}\r\n\r\n\tpublic getAuthorizationHeaderValue(): string {\r\n\t\treturn (this.user && !this.user.expired ? `${this.user.token_type} ${this.user.access_token}` : null);\r\n\t}\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CanDeactivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\n\r\nexport interface CanComponentDeactivate {\r\n\tcanDeactivate: (route: ActivatedRouteSnapshot, state: RouterStateSnapshot, nextState: RouterStateSnapshot) => Observable | Promise | boolean;\r\n}\r\n\r\n@Injectable()\r\nexport class CanDeactivateGuard implements CanDeactivate {\r\n\r\n\tcanDeactivate(component: CanComponentDeactivate, route: ActivatedRouteSnapshot, state: RouterStateSnapshot, nextState: RouterStateSnapshot) {\r\n\t\treturn component.canDeactivate ? component.canDeactivate(route, state, nextState) : true;\r\n\t}\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { ODataResult } from '../../models/oData/odata-result.model';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class CategoryService {\r\n\r\n\tprivate _urlBase: string = \"odata/category\";\r\n\r\n\tconstructor(private _httpClient: HttpClient) { }\r\n\r\n\tpublic getCategories(): Observable> {\r\n\t\treturn this._httpClient.get>(`${this._urlBase}?$orderby=name asc`).pipe(\r\n\t\t\tmap(response => response.value)\r\n\t\t);\r\n\t}\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams, HttpHeaders } from '@angular/common/http';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { map, filter } from 'rxjs/operators';\r\nimport { Comment } from '../../models/comments/comment.model';\r\nimport { CommentViewModel } from '../../models/comments/comment-view.model';\r\n\r\nconst httpOptions = {\r\n\theaders: new HttpHeaders({\r\n\t\t'Content-Type': 'application/json',\r\n\t})\r\n};\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class CommentService {\r\n\r\n\tprivate _urlBase: string = \"api/comments\";\r\n\r\n\tprivate _subscription: string;\r\n\r\n\tconstructor(private _httpClient: HttpClient) { }\r\n\t\r\n\tpublic getComments(threadId: string): Observable> {\r\n\t\treturn this._httpClient.get>(this._urlBase + `/${threadId}`);\t\t\t\r\n\t}\r\n\r\n\tpublic addComment(newCommentModel: CommentViewModel): Observable {\r\n\t\tif (!newCommentModel.parentId) newCommentModel.parentId = null;\r\n\t\t\r\n\t\treturn this._httpClient\r\n\t\t\t.post(this._urlBase, newCommentModel, httpOptions);\r\n\t\t\t\r\n\t}\r\n\t\r\n\tpublic updateComment(newCommentModel: CommentViewModel): Observable {\r\n\t\tif (!newCommentModel.parentId) newCommentModel.parentId = null;\r\n\r\n\t\treturn this._httpClient\r\n\t\t\t.put(this._urlBase, newCommentModel, httpOptions);\r\n\r\n\t}\r\n\r\n}\r\n","import { IncidentDevelopmentEscalationActivity } from '../../models/incidents/incident-development-escalation-activity.model';\r\nimport { IncidentUpdateActivity } from '../../models/incidents/incident-update-activity.model';\r\nimport { IncidentResolutionActivity } from '../../models/incidents/incident-resolution-activity.model';\r\nimport { IncidentTaskActivity } from '../../models/incidents/incident-task-activity.model';\r\nimport { IncidentActivity } from '../../models/incidents/incident-activity.model';\r\n\r\nexport class IncidentActivitiesService {\r\n\r\n\tprivate _isOpen: boolean = false;\r\n\r\n\tconstructor() { }\r\n\r\n\tprivate highlightKeywords(value: string, keyword: string): string {\r\n\t\tif (!value || !keyword) {\r\n\t\t\treturn value;\r\n\t\t}\r\n\r\n\t\tlet escapedKeyword = this.escapeRegex(keyword);\r\n\r\n\t\tlet imageProtector = new Map();\r\n\r\n\t\t// this is to prevent issues where words like \"Activities\" or \"Download\" would break image links because it would put the highlighting string in the image source\r\n\t\t// replaces all images with guids\r\n\t\tlet imgMatches = value.match(new RegExp(\"\", 'gi'));\r\n\t\tif (imgMatches) {\r\n\t\t\timgMatches.forEach(match => {\r\n\t\t\t\tlet guid = this.newGuid();\r\n\t\t\t\timageProtector.set(guid, match);\r\n\r\n\t\t\t\tvalue = value.replace(match, guid);\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\tlet valueMatches = value.match(new RegExp(`(${escapedKeyword})`, 'gi'));\r\n\t\tif (valueMatches) {\r\n\t\t\tthis._isOpen = true;\r\n\t\t}\r\n\r\n\t\tvalue = value.replace(new RegExp(`(${escapedKeyword})`, 'gi'), `${keyword}`);\r\n\r\n\t\t// replace the temporary guids with the original img values now that we've done our highlights\r\n\t\timageProtector.forEach((protectorValue: string, key: string) => {\r\n\t\t\tvalue = value.replace(key, protectorValue);\r\n\t\t});\r\n\r\n\t\treturn value;\r\n\t}\r\n\r\n\t// took sample here and seems to be working nicely https://stackoverflow.com/a/26502275\r\n\tprivate newGuid() {\r\n\t\treturn 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\r\n\t\t\tlet r = Math.random() * 16 | 0,\r\n\t\t\t\tv = c == 'x' ? r : (r & 0x3 | 0x8);\r\n\t\t\treturn v.toString(16);\r\n\t\t});\r\n\t}\r\n\r\n\t// need equivalent of Regex.Escape - found sample here https://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\r\n\tprivate escapeRegex(stringToEscape: string) {\r\n\t\treturn stringToEscape.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/gi, '\\\\$&');\r\n\t}\r\n\r\n\tpublic formatActivity(activity: IncidentActivity, keyword: string): IncidentActivity {\r\n\t\tactivity.description = this.highlightKeywords(activity.description, keyword);\r\n\t\tactivity.subject = this.highlightKeywords(activity.subject, keyword);\r\n\r\n\t\tswitch (activity.type) {\r\n\t\t\tcase 'DevelopmentEscalationActivity':\r\n\t\t\t\t(activity as IncidentDevelopmentEscalationActivity).developmentTeam = this.highlightKeywords((activity as IncidentDevelopmentEscalationActivity).developmentTeam, keyword);\r\n\t\t\t\t(activity as IncidentDevelopmentEscalationActivity).otherTeam = this.highlightKeywords((activity as IncidentDevelopmentEscalationActivity).otherTeam, keyword);\r\n\t\t\t\t(activity as IncidentDevelopmentEscalationActivity).tierTwoTeam = this.highlightKeywords((activity as IncidentDevelopmentEscalationActivity).tierTwoTeam, keyword);\r\n\t\t\t\t(activity as IncidentDevelopmentEscalationActivity).businessImpact = this.highlightKeywords((activity as IncidentDevelopmentEscalationActivity).businessImpact, keyword);\r\n\t\t\t\t(activity as IncidentDevelopmentEscalationActivity).criticalAfterHoursReason = this.highlightKeywords((activity as IncidentDevelopmentEscalationActivity).criticalAfterHoursReason, keyword);\r\n\t\t\t\t(activity as IncidentDevelopmentEscalationActivity).subject = this.highlightKeywords((activity as IncidentDevelopmentEscalationActivity).subject, keyword);\r\n\t\t\t\t(activity as IncidentDevelopmentEscalationActivity).escalationPurpose = this.highlightKeywords((activity as IncidentDevelopmentEscalationActivity).escalationPurpose, keyword);\r\n\t\t\t\t(activity as IncidentDevelopmentEscalationActivity).issueSummary = this.highlightKeywords((activity as IncidentDevelopmentEscalationActivity).issueSummary, keyword);\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'UpdateActivity':\r\n\t\t\t\t(activity as IncidentUpdateActivity).systemLogCuts = this.highlightKeywords((activity as IncidentUpdateActivity).systemLogCuts, keyword);\r\n\t\t\t\t(activity as IncidentUpdateActivity).systemLogAnalysis = this.highlightKeywords((activity as IncidentUpdateActivity).systemLogAnalysis, keyword);\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'ResolutionActivity':\r\n\t\t\t\t(activity as IncidentResolutionActivity).findings = this.highlightKeywords((activity as IncidentResolutionActivity).findings, keyword);\r\n\t\t\t\t(activity as IncidentResolutionActivity).underlyingCause = this.highlightKeywords((activity as IncidentResolutionActivity).underlyingCause, keyword);\r\n\t\t\t\t(activity as IncidentResolutionActivity).secondaryCause = this.highlightKeywords((activity as IncidentResolutionActivity).secondaryCause, keyword);\r\n\t\t\t\t(activity as IncidentResolutionActivity).tertiaryCause = this.highlightKeywords((activity as IncidentResolutionActivity).tertiaryCause, keyword);\r\n\t\t\t\t(activity as IncidentResolutionActivity).patchIdScriptServicePackOrMR = this.highlightKeywords((activity as IncidentResolutionActivity).patchIdScriptServicePackOrMR, keyword);\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'TaskActivity':\r\n\t\t\t\t(activity as IncidentTaskActivity).systemLogCuts = this.highlightKeywords((activity as IncidentTaskActivity).systemLogCuts, keyword);\r\n\t\t\t\t(activity as IncidentTaskActivity).systemLogAnalysis = this.highlightKeywords((activity as IncidentTaskActivity).systemLogAnalysis, keyword);\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\r\n\t\tactivity.isDisplayOpen = this._isOpen;\r\n\r\n\t\tthis._isOpen = false;\r\n\r\n\t\treturn activity;\r\n\t}\r\n\r\n\tpublic filterActivityType(activities: Array, activityTypes: string[]) {\r\n\t\tlet filteredActivities = new Array();\r\n\t\tactivities.forEach(activity => {\r\n\t\t\tactivityTypes.forEach(type => {\r\n\t\t\t\tif (activity.type == type) {\r\n\t\t\t\t\tfilteredActivities.push(activity);\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t});\r\n\r\n\t\treturn filteredActivities;\r\n\t}\r\n\r\n\tpublic filterEscalationEmailActivities(activities: Array, aliases: Array): Array {\r\n\t\tlet filteredActivities = new Array();\r\n\t\tactivities.forEach(activity => {\r\n\t\t\taliases.forEach(alias => {\r\n\t\t\t\tif (activity.type == 'UpdateActivity' &&\r\n\t\t\t\t\t(((activity as IncidentUpdateActivity).to && (activity as IncidentUpdateActivity).to.match(alias)) ||\r\n\t\t\t\t\t\t((activity as IncidentUpdateActivity).cc && (activity as IncidentUpdateActivity).cc.match(alias)))) {\r\n\t\t\t\t\tfilteredActivities.push(activity);\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t});\r\n\r\n\t\treturn filteredActivities;\r\n\t}\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { forEach } from '@angular/router/src/utils/collection';\r\n\r\nimport { forkJoin, Observable, Subscription } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { Article } from '../../models/articles/article.model';\r\nimport { ArticleTargetedVersion } from '../../models/articles/article-targeted-version.model';\r\nimport { Incident } from '../../models/incidents/incident.model';\r\nimport { IncidentActivity } from '../../models/incidents/incident-activity.model';\r\nimport { IncidentDevelopmentEscalationActivity } from '../../models/incidents/incident-development-escalation-activity.model';\r\nimport { IncidentQualityVote } from '../../models/incidents/incident-quality-vote.model';\r\nimport { IncidentResolutionActivity } from '../../models/incidents/incident-resolution-activity.model';\r\nimport { FieldEscalationSubmission } from '../../models/incidents/incident-field-escalation-submission.model';\r\nimport { TechnicalNoteArticle } from '../../models/articles/article-technical-note.model';\r\n\r\nimport { ApplicationVersionsService } from '../application-versions/application-versions.service';\r\nimport { IncidentActivitiesService } from '../incident-activities/incident-activities.service';\r\n\r\nimport { AuthService } from '../auth/auth.service';\r\nimport { ConfigurationService } from '../../../modules/runtime-configuration/services/configuration.service';\r\nimport { Contact, ContactRes } from '../../models/incidents/incident-contact.model';\r\nimport { CaseSubscription } from '../../models/incidents/incident-subscription.model';\r\nimport { InternalNote } from '../../models/incidents/incident-internal-note.model';\r\nimport { IncidentApiResponse, IncidentApiResponseCategories, IncidentApiResponseCommcell } from '../../../shared/models/api-response.model';\r\n\r\nconst httpOptions = {\r\n\theaders: new HttpHeaders({\r\n\t\t'Content-Type': 'application/json',\r\n\t})\r\n};\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class IncidentService {\r\n\r\n\tprivate _urlBase: string = \"api/incidents\";\r\n\r\n\tprivate _activitiesService: IncidentActivitiesService = new IncidentActivitiesService();\r\n\r\n\tconstructor(private _httpClient: HttpClient, private _configSvc: ConfigurationService, private _authService: AuthService, private _applicationVersionService: ApplicationVersionsService) { }\r\n\r\n\tpublic getIncident(id: string): Observable {\r\n\t\treturn this._httpClient.get(this._configSvc.configuration.incidentBaseUrl + `/Incidents/${id}`);\r\n\t}\r\n\r\n\tpublic getResolution(id: string): Observable {\r\n\t\treturn this._httpClient.get(this._configSvc.configuration.incidentBaseUrl + `/Incidents/${id}/resolution`);\r\n\t}\r\n\r\n\tpublic getActivities(incidentId: string, filter: string, pageSize?: number, searchTerms?: string): Observable> {\r\n\t\tlet queryParams: Array = new Array();\r\n\r\n\t\tqueryParams.push(`$filter=${[filter, 'statecode eq 1'].filter(n => n).join(' and ')}`);\r\n\t\tif (filter) {\r\n\r\n\t\t\t// if we are adding a filter on the API, it's possible we may miss the target expected pageSize when we apply a client-side filter\r\n\t\t\t// to achieve the proper pageSize, triple the pageSize to be requested externally\r\n\t\t\tif (pageSize) {\r\n\t\t\t\tpageSize = pageSize * 3;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tlet query = '';\r\n\t\tif (queryParams.length != 0) {\r\n\t\t\tquery = `${queryParams[0]}`;\r\n\r\n\t\t\tfor (var i = 1; i < queryParams.length; i++) {\r\n\t\t\t\tquery = `${query}&${queryParams[i]}`;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tlet incidentApiQuery = `${this._configSvc.configuration.incidentBaseUrl}/Incidents/${incidentId}/Activities?${query}&$orderby=modifiedon desc`;\r\n\t\tif (pageSize) {\r\n\t\t\tincidentApiQuery = `${incidentApiQuery}&$top=${pageSize}`;\r\n\t\t}\r\n\r\n\t\treturn this._httpClient.get(incidentApiQuery).pipe(\r\n\t\t\tmap(activities => {\r\n\t\t\t\tlet incidentActivities = new Array();\r\n\t\t\t\tactivities['value'].map(activity => {\r\n\t\t\t\t\tactivity.type = activity['@odata.type'].replace('#CV.Common.Entities.Incidents.', '');\r\n\t\t\t\t\tif (searchTerms) {\r\n\t\t\t\t\t\tactivity = this._activitiesService.formatActivity((activity as IncidentActivity), searchTerms);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tincidentActivities.push(activity);\r\n\t\t\t\t})\r\n\r\n\t\t\t\tif (filter) {\r\n\t\t\t\t\tlet filteredActivities = new Array();\r\n\r\n\t\t\t\t\tif (filter.match('\\'Email\\'')) {\r\n\t\t\t\t\t\tthis._activitiesService.filterEscalationEmailActivities(incidentActivities, this._configSvc.configuration.incidentEscalationFilterEmailAliases)\r\n\t\t\t\t\t\t\t.forEach(activity => {\r\n\t\t\t\t\t\t\t\tfilteredActivities.push(activity);\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (filter.match('\\'TaskActivity\\'')) {\r\n\t\t\t\t\t\tlet types = new Array();\r\n\t\t\t\t\t\ttypes.push('TaskActivity');\r\n\r\n\t\t\t\t\t\tthis._activitiesService.filterActivityType(incidentActivities, types)\r\n\t\t\t\t\t\t\t.forEach(activity => {\r\n\t\t\t\t\t\t\t\tfilteredActivities.push(activity);\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (filter.match('\\'DevelopmentEscalationActivity\\'')) {\r\n\t\t\t\t\t\tlet types = new Array();\r\n\t\t\t\t\t\ttypes.push('DevelopmentEscalationActivity');\r\n\r\n\t\t\t\t\t\tthis._activitiesService.filterActivityType(incidentActivities, types)\r\n\t\t\t\t\t\t\t.forEach(activity => {\r\n\t\t\t\t\t\t\t\tfilteredActivities.push(activity);\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// make sure the activities are in the right order\r\n\t\t\t\t\tfilteredActivities.sort((a, b) => (a.modifiedOn < b.modifiedOn) ? 1 : ((b.modifiedOn < a.modifiedOn) ? -1 : 0));\r\n\r\n\t\t\t\t\tif (pageSize) {\r\n\t\t\t\t\t\t// we need to reduce the result size to a maximum of the original pageSize value\r\n\t\t\t\t\t\treturn filteredActivities.slice(0, pageSize / 3);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\treturn filteredActivities;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn incidentActivities;\r\n\t\t\t}\r\n\t\t\t)\r\n\t\t);\r\n\r\n\t}\r\n\r\n\tpublic getIncidentQualityVote(incidentId: string): Observable {\r\n\t\treturn this._httpClient.get(this._urlBase + `/${incidentId}/votes`);\r\n\t}\r\n\r\n\tpublic getIncidentQualityVoteScore(incidentId: string): Observable {\r\n\t\treturn this._httpClient.get(this._urlBase + `/${incidentId}/votes/count`);\r\n\t}\r\n\r\n\tpublic voteAsync(incidentId: string, vote: number): Observable {\r\n\t\treturn this._httpClient\r\n\t\t\t.post(this._urlBase + `/${incidentId}/votes`, vote, httpOptions);\r\n\t}\r\n\r\n\tpublic isLastActivityFieldEscalation(incidentId: string): Observable {\r\n\t\treturn this.getActivities(incidentId, null, 1, null).pipe(\r\n\t\t\tmap(activities => {\r\n\t\t\t\tif (activities[0] && activities[0].type == 'FieldEscalationActivity') {\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tpublic escalateIncident(incidentId: string, emailCC: string[], escalationDescription: string): Observable {\r\n\t\tlet fieldEscalationSubmission = new FieldEscalationSubmission();\r\n\t\tfieldEscalationSubmission.emailAddress = this._authService.user.profile.email;\r\n\t\tfieldEscalationSubmission.userFullName = this._authService.user.profile.name;\r\n\t\tfieldEscalationSubmission.emailCC = emailCC;\r\n\t\tfieldEscalationSubmission.escalationDescription = escalationDescription;\r\n\r\n\t\treturn this._httpClient\r\n\t\t\t.post(this._configSvc.configuration.incidentBaseUrl + `/Incidents/${incidentId}/escalate`, JSON.stringify(fieldEscalationSubmission), httpOptions);\r\n\t}\r\n\r\n\tpublic reindexIncident(incidentId: string): Observable {\r\n\t\treturn this._httpClient.post(this._configSvc.configuration.incidentBaseUrl + `/Incidents/${incidentId}/Reindex`, null, httpOptions);\r\n\t}\r\n\r\n\tpublic async getCommcell(searchParam: string): Promise {\r\n\t\treturn await this._httpClient.get(this._configSvc.configuration.incidentBaseUrl + `/Commcell/${searchParam}`).toPromise();\r\n\t}\r\n\r\n\tpublic async getCategories(searchParam: string): Promise {\r\n\t\treturn await this._httpClient.get(this._configSvc.configuration.incidentBaseUrl + `/Category/${searchParam}/ChildCategories`).toPromise();\r\n\t}\r\n\r\n\tpublic getMatchingContacts(accountId: string, searchString: string): Observable {\r\n\t\tlet paramaters = {\r\n\t\t\t\"searchString\": searchString + \"\"\r\n\t\t};\r\n\t\treturn this._httpClient.get(this._configSvc.configuration.incidentBaseUrl + `/Account/${accountId}/GetContacts`, { params: paramaters });\r\n\t}\r\n\r\n\tpublic async getSecondaryContacts(email: string): Promise {\r\n\t\treturn await this._httpClient.get(this._configSvc.configuration.incidentBaseUrl + `/Contact/${email}`).toPromise();\r\n\t}\r\n\r\n\tpublic async createContact(contact: Contact): Promise {\r\n\t\treturn await this._httpClient.post(this._configSvc.configuration.incidentBaseUrl + `/Contact/Create`, contact, httpOptions).toPromise();\r\n\t}\r\n\r\n\tpublic async createTicket(incident: Incident): Promise {\r\n\t\treturn await this._httpClient.post(this._configSvc.configuration.incidentBaseUrl + `/Incidents/Create`, incident, httpOptions).toPromise();\r\n\t}\r\n\r\n\tpublic createInternalNote(incidentId: string, request: InternalNote): Observable {\r\n\t\treturn this._httpClient.post(this._configSvc.configuration.incidentBaseUrl + `/Incidents/${incidentId}/Note`, request, httpOptions);\r\n\t}\r\n\r\n\tpublic getCaseSubscriptions(incidentId: string): Observable {\r\n\t\treturn this._httpClient.get(this._configSvc.configuration.incidentBaseUrl + `/Incidents/${incidentId}/Subscriptions`);\r\n\t}\r\n\r\n\tpublic subscribeToCase(incidentId: string, caseSubscription: CaseSubscription): Observable {\r\n\t\treturn this._httpClient.post(this._configSvc.configuration.incidentBaseUrl + `/Incidents/${incidentId}/Subscribe`, caseSubscription, httpOptions);\r\n\t}\r\n\r\n\tpublic unsubscribeToCase(incidentId: string, caseSubscription: CaseSubscription): Observable {\r\n\t\treturn this._httpClient.post(this._configSvc.configuration.incidentBaseUrl + `/Incidents/${incidentId}/Unsubscribe`, caseSubscription, httpOptions);\r\n\t}\r\n\r\n\tpublic getAccountSubscriptions(incidentId: string): Observable {\r\n\t\treturn this._httpClient.get(this._configSvc.configuration.incidentBaseUrl + `/Account/${incidentId}/Subscriptions`);\r\n\t}\r\n\r\n\tpublic subscribeToAccount(accountId: string, caseSubscription: CaseSubscription): Observable {\r\n\t\treturn this._httpClient.post(this._configSvc.configuration.incidentBaseUrl + `/Account/${accountId}/Subscribe`, caseSubscription, httpOptions);\r\n\t}\r\n\r\n\tpublic unsubscribeToAccount(accountId: string, caseSubscription: CaseSubscription): Observable {\r\n\t\treturn this._httpClient.post(this._configSvc.configuration.incidentBaseUrl + `/Account/${accountId}/Unsubscribe`, caseSubscription, httpOptions);\r\n\t}\r\n\r\n\tpublic getCCUsers(searchString: string): Observable> {\r\n\t\treturn this._httpClient.get>(this._configSvc.configuration.incidentBaseUrl + `/Contact/${searchString}/SystemUsers`);\r\n\t}\r\n}\r\n","import { ErrorHandler, Injectable, Injector } from '@angular/core';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\n\r\nimport { LoggingService } from './logging.service';\r\nimport { AlertService } from '../alert/alert.service';\r\n\r\n@Injectable()\r\nexport class ErrorHandlerService implements ErrorHandler {\r\n\r\n\tconstructor(private _injector: Injector) { }\r\n\r\n\thandleError(error: Error | HttpErrorResponse) {\r\n\t\tlet alertService = this._injector.get(AlertService);\r\n\r\n\t\tif (error instanceof HttpErrorResponse) {\r\n\t\t\tif (!navigator.onLine) {\r\n\t\t\t\talertService.show('Network connectivity seems to be down. Please resolve and then try action again.');\r\n\t\t\t} else if (error.status == 401 || error.status == 404) {\r\n\t\t\t\t// swallow the error since this in not an error we want to output\r\n\t\t\t\treturn;\r\n\t\t\t} else {\r\n\t\t\t\t// all other errors, show an error message\r\n\t\t\t\t// logs to the alert service so a component listening on the subscription can show the error\r\n\t\t\t\talertService.show('An unexpected error seems to have occurred. Please try the action again or refresh your page. If the problem continues, you can contact the BATS-Alexandria team for assistance.');\r\n\t\t\t}\r\n\t\t}\r\n\t\telse {\r\n\t\t\tlet loggingService = this._injector.get(LoggingService);\r\n\t\t\tloggingService.logError(error, 'ErrorHandlerService');\r\n\t\t}\r\n\r\n\t\t// log on the server\r\n\t\tthrow error;\r\n\t}\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\nimport { AppInsights } from 'applicationinsights-js';\r\n\r\nimport { ConfigurationService } from '../../../modules/runtime-configuration/services/configuration.service';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class LoggingService{\r\n\r\n\tprivate props: any;\r\n\r\n\tprivate config: Microsoft.ApplicationInsights.IConfig;\r\n\r\n\tconstructor(private _configSvc: ConfigurationService) {\r\n\t\tconst settings = this._configSvc.configuration;\r\n\r\n\t\tthis.props = {\r\n\t\t\t'CvApp': settings.logging.appName,\r\n\t\t\t'CvEnvironment': settings.logging.environment,\r\n\t\t\t'CvMachineName': 'Browser',\r\n\t\t};\r\n\r\n\t\tthis.config = {\r\n\t\t\tinstrumentationKey: settings.logging.instrumentationKey\r\n\t\t}\r\n\r\n\t\tif (!AppInsights.config) {\r\n\t\t\tAppInsights.downloadAndSetup(this.config);\r\n\t\t};\r\n\r\n\t\t//The following code is recommended for initialization:\r\n\t\t//https://github.com/Microsoft/ApplicationInsights-JS/blob/master/API-reference.md#addtelemetryinitializer\r\n\t\t(window).appInsights = AppInsights;\r\n\r\n\t\t// Add telemetry initializer\r\n\t\tAppInsights.queue.push(function () {\r\n\t\t\tAppInsights.context.addTelemetryInitializer(function (envelope) {\r\n\t\t\t\tvar telemetryItem = envelope.data.baseData;\r\n\r\n\t\t\t\ttelemetryItem.properties = telemetryItem.properties || {};\r\n\t\t\t\ttelemetryItem.properties[\"CvApp\"] = settings.logging.appName;\r\n\t\t\t\ttelemetryItem.properties[\"CvEnvironment\"] = settings.logging.environment;\r\n\t\t\t\ttelemetryItem.properties[\"CvMachineName\"] = 'Browser';\t\t\t\t\t\t\t\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n\r\n\tlogPageView(name?: string, url?: string, properties?: any, measurements?: any, duration?: number) {\r\n\t\tif (properties !== undefined && properties !== null) {\r\n\t\t\tthis.props = properties;\r\n\t\t}\r\n\t\tAppInsights.trackPageView(name, url, this.props, measurements, duration);\r\n\t}\r\n\r\n\tlogEvent(name: string, properties?: any, measurements?: any) {\r\n\t\tif (properties !== undefined && properties !== null) {\r\n\t\t\tthis.props = properties;\r\n\t\t}\r\n\t\tAppInsights.trackEvent(name, this.props, measurements);\r\n\t}\r\n\r\n\tlogError(exception: Error, handledAt?: string) {\r\n\t\tAppInsights.trackException(exception, handledAt, this.props);\r\n\t}\r\n\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\n\r\nimport { Observable } from 'rxjs';\r\n\r\nconst httpOptions = {\r\n\theaders: new HttpHeaders({\r\n\t\t'Content-Type': 'application/json',\r\n\t})\r\n};\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class MessageService {\r\n\r\n\tprivate _urlBase: string = \"api/messages\";\r\n\r\n\tconstructor(private _httpClient: HttpClient) { }\r\n\r\n\tpublic getMessages(): Observable> {\r\n\t\treturn this._httpClient.get>(`${this._urlBase}/messages`);\r\n\t}\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { PeriodOption } from '../../models/periods/period-option.model';\r\nimport { AllPeriodsResult } from '../../models/periods/all-periods-result.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PeriodService {\r\n\r\n\tprivate _urlBase: string = \"api/period\";\r\n\r\n\tconstructor(private _httpClient: HttpClient) { }\r\n\r\n\tpublic getPeriods(): Observable {\r\n\t\treturn this._httpClient.get(this._urlBase + \"/all\").pipe(\r\n\t\t\tmap(data => {\r\n\t\t\t\treturn data;\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, Router } from '@angular/router';\r\nimport { Observable, of, Subject } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { PermissionService } from './permission.service';\r\nimport { AuthService } from '../auth/auth.service';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class AuthPermissionsGuard implements CanActivate {\r\n\r\n\tconstructor(private _permissionService: PermissionService, private _router: Router, private _authService: AuthService) {\r\n\t}\r\n\r\n\tpublic canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable {\r\n\t\tlet roles = route.data['roles'] as Array;\r\n\r\n\t\treturn new Observable(observer => {\r\n\t\t\tthis._authService.isAuthenticated().subscribe(authenticated => {\r\n\t\t\t\tif (authenticated) {\r\n\t\t\t\t\t// if no roles are passed in to this route, then we assume eveyone can access\r\n\t\t\t\t\tif (!roles || !roles.length) {\r\n\t\t\t\t\t\tobserver.next(true);\r\n\t\t\t\t\t\tobserver.complete();\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tthis._permissionService.getMyPermissions().subscribe(result => {\r\n\t\t\t\t\t\tlet filter = result.filter(res => {\r\n\t\t\t\t\t\t\treturn roles.indexOf(res.name.toLowerCase()) > -1;\r\n\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\tobserver.next(!!filter.length);\r\n\t\t\t\t\t\tobserver.complete();\r\n\t\t\t\t\t});\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis._authService.login(state.url);\r\n\t\t\t\t\tobserver.next(false);\r\n\t\t\t\t\tobserver.complete();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\nimport { Observable, of, ReplaySubject } from \"rxjs\";\r\n\r\nimport { Permission } from \"../../models/permissions/permission.model\";\r\nimport { map } from \"rxjs/operators\";\r\n\r\n@Injectable({\r\n\tprovidedIn: \"root\"\r\n})\r\nexport class PermissionService {\r\n\r\n\tprivate _urlBase: string = \"api/permissions\";\r\n\r\n\tprivate _doPermissionsFetch: boolean = true;\r\n\r\n\tprivate _doMyPermissionsFetch: boolean = true;\r\n\r\n\tprivate _permissionsStream = new ReplaySubject>(1);\r\n\r\n\tprivate _myPermissionsStream = new ReplaySubject>(1);\r\n\r\n\tconstructor(private _http: HttpClient) {\r\n\t}\r\n\r\n\tprivate fetchPermissions(): void {\r\n\t\tconst url = `${this._urlBase}`;\r\n\r\n\t\tconsole.debug(`PermissionService | fetchPermissions() | Fetching '${url}'...`);\r\n\t\tthis._http\r\n\t\t\t.get>(url)\r\n\t\t\t.subscribe(perms => {\r\n\t\t\t\tthis._permissionsStream.next(perms);\r\n\t\t\t});\r\n\t}\r\n\r\n\tprivate fetchMyPermissions(): void {\r\n\t\tconst url = `${this._urlBase}/my`;\r\n\r\n\t\tconsole.debug(`PermissionService | fetchMyPermissions() | Fetching '${url}'...`);\r\n\t\tthis._http\r\n\t\t\t.get>(url)\r\n\t\t\t.subscribe(perms => {\r\n\t\t\t\tthis._myPermissionsStream.next(perms);\r\n\t\t\t});\r\n\t}\r\n\r\n\tpublic getPermissions(): Observable> {\r\n\t\tconsole.debug('PermissionService | getPermissions()');\r\n\r\n\t\t// this is stupid...I cannot seem to find a way to *check* if the stream has a value\r\n\t\t// therefore I am stuck with using this flag\r\n\t\tif (this._doPermissionsFetch) {\r\n\t\t\tthis._doPermissionsFetch = false;\r\n\t\t\tthis.fetchPermissions();\r\n\t\t}\r\n\r\n\t\treturn this._permissionsStream.asObservable();\r\n\t}\r\n\r\n\tpublic getMyPermissions(): Observable> {\r\n\t\t//console.debug('PermissionService | getMyPermissions()');\r\n\r\n\t\tif (this._doMyPermissionsFetch) {\r\n\t\t\tthis.fetchMyPermissions();\r\n\t\t\tthis._doMyPermissionsFetch = false;\r\n\t\t}\r\n\r\n\t\treturn this._myPermissionsStream.asObservable();\r\n\t}\r\n\r\n\tpublic hasPermission(permissionName: Array): Observable {\r\n\t\treturn new Observable((observer) => {\r\n\t\t\tif (!permissionName) {\r\n\t\t\t\tobserver.next(false);\r\n\t\t\t\tobserver.complete();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tthis.getMyPermissions()\r\n\t\t\t\t.subscribe(perms => {\r\n\t\t\t\t\tlet permissions = perms.filter(x => {\r\n\t\t\t\t\t\treturn permissionName.indexOf(x.name.toLowerCase()) > -1;\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\tconsole.debug(`PermissionService | hasPermission() | permission : '${permissionName}' -- granted : '${!!permissions.length}'`);\r\n\r\n\t\t\t\t\tobserver.next(!!permissions.length);\r\n\t\t\t\t\tobserver.complete();\r\n\t\t\t\t});\r\n\t\t});\r\n\t}\r\n\r\n\tpublic canReadPrivateArticles(): Observable {\r\n\t\treturn new Observable((observer) => {\r\n\t\t\tthis.getMyPermissions().subscribe(permission => {\r\n\t\t\t\tlet perm = !!permission\r\n\t\t\t\t\t.filter(x => x.name == \"view-internal-articles\" || x.name == \"view-private-articles\" || x.name == \"compose-internal-articles\" || x.name == \"compose-private-articles\")\r\n\t\t\t\t\t.length;\r\n\t\t\t\tobserver.next(perm);\r\n\t\t\t\tobserver.complete();\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n\r\n\tpublic canApproveArticles(): Observable {\r\n\t\treturn new Observable((observer) => {\r\n\t\t\tthis.getMyPermissions().subscribe(permission => {\r\n\t\t\t\tlet perm = !!permission\r\n\t\t\t\t\t.filter(x => x.name == \"approve-public-articles\")\r\n\t\t\t\t\t.length;\r\n\t\t\t\tobserver.next(perm);\r\n\t\t\t\tobserver.complete();\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n\r\n\tpublic canReviewArticles(): Observable {\r\n\t\treturn new Observable((observer) => {\r\n\t\t\tthis.getMyPermissions().subscribe(permission => {\r\n\t\t\t\tlet perm = !!permission\r\n\t\t\t\t\t.filter(x => x.name == \"review-public-articles\")\r\n\t\t\t\t\t.length;\r\n\t\t\t\tobserver.next(perm);\r\n\t\t\t\tobserver.complete();\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n\r\n\tpublic canEditorialReviewArticles(): Observable {\r\n\t\treturn new Observable((observer) => {\r\n\t\t\tthis.getMyPermissions().subscribe(permission => {\r\n\t\t\t\tlet perm = !!permission\r\n\t\t\t\t\t.filter(x => x.name == \"editorial-review-public-articles\")\r\n\t\t\t\t\t.length;\r\n\t\t\t\tobserver.next(perm);\r\n\t\t\t\tobserver.complete();\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n\r\n\tpublic canManageClassification(): Observable {\r\n\t\treturn new Observable((observer) => {\r\n\t\t\tthis.getMyPermissions().subscribe(permission => {\r\n\t\t\t\tlet perm = !!permission\r\n\t\t\t\t\t.filter(x => x.name == \"manage-classification\")\r\n\t\t\t\t\t.length;\r\n\t\t\t\tobserver.next(perm);\r\n\t\t\t\tobserver.complete();\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { PartnerServiceRequest } from '../../models/psrs/psrs.model';\r\nimport { PartnerServiceRequestActivity } from '../../models/psrs/psrs-activity.model';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class PartnerService {\r\n\tprivate _urlBase: string = \"api/PartnerServiceRequest\";\r\n\r\n\tconstructor(private _httpClient: HttpClient) { }\r\n\r\n\tpublic getPartnerServiceRequest(id: string): Observable {\r\n\t\treturn this._httpClient.get(`${this._urlBase}/${id}`);\r\n\t}\r\n\r\n\tpublic getPartnerServiceRequestActivities(id: string): Observable> {\t\t\r\n\t\treturn this._httpClient.get>(`${this._urlBase}/${id}/Activities`);\r\n\t}\r\n}\r\n","import { Injectable, PACKAGE_ROOT_URL } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\nimport { Observable, ReplaySubject, of } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { Role } from '../../models/roles/role.model';\r\nimport { ODataResult } from '../../models/oData/odata-result.model';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class RolesService {\r\n\r\n\tprivate _urlBase: string = \"api/roles\";\r\n\r\n\tprivate _odataUrlBase: string = '/odata/role';\r\n\r\n\tprivate _doRolesFetch: boolean = true;\r\n\r\n\tprivate _rolesStream = new ReplaySubject>(1);\r\n\r\n\tprivate _myRolesStream = new ReplaySubject>(1);\r\n\r\n\tconstructor(private _http: HttpClient) {\r\n\t\tthis.fetchMyRoles();\r\n\t}\r\n\r\n\tprivate fetchRoles(): void {\r\n\t\tconst url = `${this._urlBase}`;\r\n\r\n\t\tconsole.debug(`RolesService | fetchRoles() | Fetching '${url}'...`);\r\n\t\tthis._http\r\n\t\t\t.get>(url)\r\n\t\t\t.subscribe(perms => {\r\n\t\t\t\tthis._rolesStream.next(perms);\r\n\t\t\t});\r\n\t}\r\n\r\n\tprivate fetchMyRoles(): void {\r\n\t\tconst url = `${this._urlBase}/my`;\r\n\r\n\t\tconsole.debug(`RolesService | fetchMyRoles() | Fetching '${url}'...`);\r\n\t\tthis._http\r\n\t\t\t.get>(url)\r\n\t\t\t.subscribe(perms => {\r\n\t\t\t\tthis._myRolesStream.next(perms);\r\n\t\t\t});\r\n\t}\r\n\r\n\tpublic getRoles(): Observable> {\r\n\t\tconsole.debug('RolesService | getRoles()');\r\n\r\n\t\t// this is stupid...I cannot seem to find a way to *check* if the stream has a value\r\n\t\t// therefore I am stuck with using this flag\r\n\t\tif (this._doRolesFetch) {\r\n\t\t\tthis._doRolesFetch = false;\r\n\t\t\tthis.fetchRoles();\r\n\t\t}\r\n\r\n\t\treturn this._rolesStream.asObservable();\r\n\t}\r\n\r\n\tpublic getTeams(): Observable> {\r\n\t\tconsole.debug('RolesService | getTeams()');\r\n\r\n\t\tconst url = `${this._odataUrlBase}?$select=id,name&$filter=isApplicationRole eq false`;\r\n\r\n\t\treturn this._http\r\n\t\t\t.get >>(url)\r\n\t\t\t.pipe(\r\n\t\t\t\tmap(result => result.value)\r\n\t\t\t);\r\n\t}\r\n\r\n\tpublic getMyRoles(): Observable> {\r\n\t\tconsole.debug('RolesService | getMyRoles()');\r\n\r\n\t\treturn this._myRolesStream.asObservable();\r\n\t}\r\n\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\n\r\nimport { Observable, of } from \"rxjs\";\r\nimport { catchError, map, tap, share, shareReplay } from \"rxjs/operators\";\r\n\r\nimport { SearchResult } from \"../../models/searches/search.result.model\";\r\nimport { UnifiedSearchResponse } from \"../../models/searches/unified-search-response.model\";\r\nimport { SearchRequest } from \"../../models/searches/search.request.model\";\r\nimport { KeyValue } from \"../../models/searches/key-value.model\";\r\n\r\n@Injectable({\r\n\tprovidedIn: \"root\"\r\n})\r\nexport class SearchService {\r\n\r\n\tprivate _urlBase: string = \"api/search\";\r\n\r\n\t// as long as we are using this in search.component this needs to be public\r\n\tpublic params: HttpParams;\r\n\r\n\tconstructor(private http: HttpClient) { }\r\n\r\n\tpublic getSearchResults(searchRequest: SearchRequest): Observable {\r\n\t\t// This explicit filter is to prevent any incidents or escalations with more than 2 downvotes from showing\r\n\t\tif (searchRequest.explicitSearchTerms) {\r\n\t\t\tconst explicitIncidentVotesIndex = (explicitSearchTerms) => explicitSearchTerms.key == 'incidents' && explicitSearchTerms.value == 'votes:[-2 TO *]';\r\n\t\t\tif (searchRequest.explicitSearchTerms.findIndex(explicitIncidentVotesIndex) < 0) {\r\n\t\t\t\tsearchRequest.explicitSearchTerms.push({ key: 'incidents', value: 'votes:[-2 TO *]' });\r\n\t\t\t}\r\n\r\n\t\t\tconst explicitEscalationVotesIndex = (explicitSearchTerms) => explicitSearchTerms.key == 'escalations' && explicitSearchTerms.value == 'votes:[-2 TO *]';\r\n\t\t\tif (searchRequest.explicitSearchTerms.findIndex(explicitEscalationVotesIndex) < 0) {\r\n\t\t\t\tsearchRequest.explicitSearchTerms.push({ key: 'escalations', value: 'votes:[-2 TO *]' });\r\n\t\t\t}\r\n\t\t}\r\n\t\telse {\r\n\t\t\tsearchRequest.explicitSearchTerms = new Array();\r\n\t\t\tsearchRequest.explicitSearchTerms.push({ key: 'incidents', value: 'votes:[-2 TO *]' });\r\n\t\t\tsearchRequest.explicitSearchTerms.push({ key: 'escalations', value: 'votes:[-2 TO *]' });\r\n\t\t}\r\n\r\n\t\tlet newRequest = searchRequest;\r\n\r\n\t\tthis.params = this.searchRequestToAliasedParams(searchRequest);\r\n\r\n\t\tconst url = searchRequest && typeof (searchRequest.searchTerms) != \"undefined\" ? `${this._urlBase}` : `${this._urlBase}`;\r\n\r\n\t\treturn this.http\r\n\t\t\t.get(url, { params: this.params })\r\n\t\t\t.pipe(\r\n\t\t\t\tmap(resp => {\r\n\t\t\t\t\t// i don't like hardcoding the collection name here, but result.resultSets[0] will not work here - need to revisit\r\n\r\n\t\t\t\t\t// can't seem to find a cleaner way to do this right now, (possibly revisit later)\r\n\t\t\t\t\t// but we need to transform the object '$values' into an array to be used in the ngFor statements\r\n\t\t\t\t\t// on the search results view\r\n\r\n\t\t\t\t\t// values for article results\r\n\t\t\t\t\tif (resp.resultSets.articles) {\r\n\t\t\t\t\t\tresp.resultSets.articles = resp.resultSets.articles['$values'];\r\n\t\t\t\t\t\tfor (var i = 0; i < resp.resultSets.articles.length; i++) {\r\n\t\t\t\t\t\t\tresp.resultSets.articles[i].articleTypeId = resp.resultSets.articles[i].articleType == \"TechnicalNote\" ? 1 : 3;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// values for incident results\r\n\t\t\t\t\tif (resp.resultSets.incidents) {\r\n\t\t\t\t\t\tresp.resultSets.incidents = resp.resultSets.incidents['$values'];\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// values for escalation results\r\n\t\t\t\t\tif (resp.resultSets.escalations) {\r\n\t\t\t\t\t\tresp.resultSets.escalations = resp.resultSets.escalations['$values'];\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// values for partner service requests results\r\n\t\t\t\t\tif (resp.resultSets.psrs) {\r\n\t\t\t\t\t\tresp.resultSets.psrs = resp.resultSets.psrs['$values'];\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tfor (var i = 0; i < resp.facets.length; i++) {\r\n\t\t\t\t\t\tresp.facets[i].items = resp.facets[i].items['$values'];\r\n\t\t\t\t\t\tresp.facets[i].maxItemLength = 0;\r\n\r\n\t\t\t\t\t\tfor (let item of resp.facets[i].items) {\r\n\t\t\t\t\t\t\tresp.facets[i].maxItemLength = Math.max(resp.facets[i].maxItemLength, item.key.length + item.value.toString().length + 3);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\treturn resp;\r\n\t\t\t\t})\r\n\t\t\t);\r\n\t}\r\n\r\n\tprivate isJsObject(o): boolean {\r\n\t\treturn o !== null && (typeof o === 'function' || typeof o === 'object');\r\n\t}\r\n\r\n\tprivate searchRequestToAliasedParams(searchRequest: SearchRequest): HttpParams {\r\n\t\tlet params = new HttpParams();\r\n\r\n\t\tlet add = function (key: string, value: any) {\r\n\t\t\tif (typeof (value) == \"undefined\") {\r\n\t\t\t\tvalue = \"\";\r\n\t\t\t}\r\n\r\n\t\t\tvalue = typeof value === 'function' ? value() : (value === null ? \"\" : value);\r\n\t\t\tparams = params.append(key, value);\r\n\t\t};\r\n\r\n\t\tif (!!searchRequest.searchTerms) {\r\n\t\t\tadd('q', searchRequest.searchTerms);\r\n\t\t}\r\n\r\n\t\tif (!!searchRequest.explicitSearchTerms) {\r\n\t\t\tfor (var i = 0; i < searchRequest.explicitSearchTerms.length; i++) {\r\n\t\t\t\tadd(`explicitSearchTerms[${i}].key`, searchRequest.explicitSearchTerms[i].key);\r\n\t\t\t\tadd(`explicitSearchTerms[${i}].value`, searchRequest.explicitSearchTerms[i].value);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (!!searchRequest.facets) {\r\n\t\t\tlet combinedFacetValue = '';\r\n\t\t\tfor (var i = 0; i < searchRequest.facets.length; i++) {\r\n\t\t\t\tif (searchRequest.facets[i] != undefined && searchRequest.facets[i] != null && searchRequest.facets[i].field != '') {\r\n\t\t\t\t\tcombinedFacetValue = combinedFacetValue == '' ? combinedFacetValue.concat(`${searchRequest.facets[i].field}:${searchRequest.facets[i].value}`) : combinedFacetValue.concat(`,`, `${searchRequest.facets[i].field}:${searchRequest.facets[i].value}`);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (!!combinedFacetValue) {\r\n\t\t\t\tadd('fq', combinedFacetValue);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (!!searchRequest.sortOrder) {\r\n\t\t\tlet combinedSortValue = '';\r\n\t\t\tfor (var i = 0; i < searchRequest.sortOrder.length; i++) {\r\n\t\t\t\tif (searchRequest.sortOrder[i] != undefined && searchRequest.sortOrder[i] != null && searchRequest.sortOrder[i].field != '') {\r\n\t\t\t\t\tcombinedSortValue = combinedSortValue == '' ? combinedSortValue.concat(`${searchRequest.sortOrder[i].field}:${searchRequest.sortOrder[i].direction}`) : combinedSortValue.concat(`,`, `${searchRequest.sortOrder[i].field}:${searchRequest.sortOrder[i].direction}`);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (combinedSortValue != '') {\r\n\t\t\t\tadd('s', combinedSortValue);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (!searchRequest.escapeSearchTerms) {\r\n\t\t\tsearchRequest.escapeSearchTerms = true;\r\n\t\t}\r\n\t\tadd('escapeSearchTerms', searchRequest.escapeSearchTerms);\r\n\r\n\t\tif (!!searchRequest.pageIndex) {\r\n\t\t\tadd('pi', searchRequest.pageIndex);\r\n\t\t}\r\n\r\n\t\tif (!!searchRequest.includeFilteredFacets) {\r\n\t\t\tadd('includeFilteredFacets', searchRequest.includeFilteredFacets);\r\n\t\t}\r\n\r\n\t\tif (!!searchRequest.maxPaginationSize) {\r\n\t\t\tadd('maxPaginationSize', searchRequest.maxPaginationSize);\r\n\t\t}\r\n\r\n\t\tif (!!searchRequest.normalizeScores) {\r\n\t\t\tadd('normalizeScores', searchRequest.normalizeScores);\r\n\t\t}\r\n\r\n\t\tif (!!searchRequest.pageSize) {\r\n\t\t\tadd('ps', searchRequest.pageSize);\r\n\t\t}\r\n\r\n\t\treturn params;\r\n\t}\r\n\r\n\t// at some point we should move these to a more generic location where they can be used\r\n\t// for purposes of alias routing we needed to use the specific implementation above\r\n\tprivate objectToSearchParams(object: any): HttpParams {\r\n\t\tlet params = new HttpParams();\r\n\r\n\t\tlet add = function (key: string, value: any) {\r\n\t\t\tif (typeof (value) == \"undefined\") {\r\n\t\t\t\tvalue = \"\";\r\n\t\t\t}\r\n\r\n\t\t\tvalue = typeof value === 'function' ? value() : (value === null ? \"\" : value);\r\n\t\t\tparams = params.append(key, value);\r\n\t\t};\r\n\r\n\t\tif (Array.isArray(object) || !this.isJsObject(object)) {\r\n\t\t\tObject.keys(object)\r\n\t\t\t\t.map((key) => add(key, object[key]));\r\n\t\t}\r\n\t\telse {\r\n\t\t\tObject.keys(object)\r\n\t\t\t\t.map((key) => this.toSearchParam(key, object[key], add));\r\n\t\t}\r\n\r\n\t\treturn params;\r\n\t}\r\n\r\n\tprivate toSearchParam(prefix: string, obj: any, add: Function): void {\r\n\t\tif (Array.isArray(obj)) {\r\n\t\t\tObject.keys(obj)\r\n\t\t\t\t.map((key) => this.toSearchParam(prefix + \"[\" + key + \"]\", obj[key], add));\r\n\t\t}\r\n\t\telse if (this.isJsObject(obj)) {\r\n\t\t\tObject.keys(obj)\r\n\t\t\t\t.map((key) => this.toSearchParam(prefix + \".\" + key, obj[key], add));\r\n\t\t}\r\n\t\telse {\r\n\t\t\t// add scalar\r\n\t\t\tadd(prefix, obj);\r\n\t\t}\r\n\t}\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\n\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { ShareViewModel } from '../../models/share/share.model';\r\n\r\nconst httpOptions = {\r\n\theaders: new HttpHeaders({\r\n\t\t'Content-Type': 'application/json',\r\n\t})\r\n};\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class ShareService {\r\n\r\n\tprivate _urlBase: string = \"api/share\";\r\n\t\r\n\tconstructor(private _httpClient: HttpClient) { }\r\n\r\n\tpublic share(request: ShareViewModel): Observable {\t\t\r\n\t\treturn this._httpClient\r\n\t\t\t.post(this._urlBase, request, httpOptions);\r\n\t}\r\n\t\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\nimport { Ng4LoadingSpinnerService } from 'ng4-loading-spinner';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class SpinnerService {\r\n\r\n\tprivate _activeCounter: number = 0;\r\n\r\n\tpublic loadingText: string = \"Please wait...\";\r\n\r\n\tconstructor(private _realSpinnerService: Ng4LoadingSpinnerService) {\r\n\t}\r\n\r\n\tpublic show(loadingText: string = null): void {\r\n\t\t// stops ExpressionChangedAfterItHasBeenCheckedError being thrown\r\n\t\tsetTimeout(() => {\r\n\t\t\tthis.loadingText = loadingText;\r\n\t\t});\r\n\r\n\t\tthis._activeCounter++;\r\n\t\tthis._realSpinnerService.show();\r\n\t}\r\n\r\n\tpublic hide(): void {\r\n\t\tthis._activeCounter--;\r\n\r\n\t\tif (this._activeCounter == 0) {\r\n\t\t\tthis._realSpinnerService.hide();\r\n\t\t}\r\n\t}\r\n\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { forkJoin, Observable, of } from 'rxjs';\r\nimport { catchError, map } from 'rxjs/operators';\r\n\r\nimport { Article } from '../../models/articles/article.model';\r\nimport { ArticleTargetedVersion } from '../../models/articles/article-targeted-version.model';\r\nimport { IncidentActivity } from '../../models/incidents/incident-activity.model';\r\nimport { IncidentDevelopmentEscalationActivity } from '../../models/incidents/incident-development-escalation-activity.model';\r\nimport { IncidentResolutionActivity } from '../../models/incidents/incident-resolution-activity.model';\r\nimport { TechnicalNoteArticle } from '../../models/articles/article-technical-note.model';\r\n\r\nimport { ApplicationVersionsService } from '../application-versions/application-versions.service';\r\nimport { ConfigurationService } from '../../../modules/runtime-configuration/services/configuration.service';\r\nimport { IncidentService } from '../incidents/incident.service';\r\nimport { TroubleshootingArticle } from '../../models/articles/article-troubleshooting.model';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class TransformService {\r\n\r\n\tprivate _urlBase: string = \"api/articles\";\r\n\r\n\tconstructor(private _httpClient: HttpClient, private _configSvc: ConfigurationService, private _incidentSvc: IncidentService, private _applicationVersionService: ApplicationVersionsService) {\r\n\t}\r\n\r\n\tprivate getTransformedArticleFromArticle(articleId: number, transformType: string): Observable
{\r\n\t\treturn this._httpClient.get
(`${this._urlBase}/${articleId}/transform/${transformType}`)\r\n\t\t\t.pipe(\r\n\t\t\t\tmap(\r\n\t\t\t\t\tresponse => {\r\n\t\t\t\t\t\tlet article = response;\r\n\r\n\t\t\t\t\t\t// ** A better solution would be server side but that would involve new ViewModels\r\n\r\n\t\t\t\t\t\tarticle.created = null;\r\n\t\t\t\t\t\tarticle.modified = null;\r\n\r\n\t\t\t\t\t\tif (article.hasOwnProperty('categoryId') && article.categoryId === 0) {\r\n\t\t\t\t\t\t\tarticle.categoryId = null;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\treturn response;\r\n\t\t\t\t\t}\r\n\t\t\t\t)\r\n\t\t\t);\r\n\t}\r\n\r\n\tprivate getTransformedArticleFromIncident(incidentId: string, transformType: string): Observable
{\r\n\t\treturn forkJoin(this._incidentSvc.getIncident(incidentId).pipe(incident => { return incident }),\r\n\t\t\tthis._incidentSvc.getResolution(incidentId)\r\n\t\t\t\t.pipe(\r\n\t\t\t\t\tcatchError(err => {\r\n\t\t\t\t\t\tconsole.error(`Could not determine Resolution for '${incidentId}'`, err)\r\n\t\t\t\t\t\tlet resolution: IncidentResolutionActivity;\r\n\t\t\t\t\t\treturn of(resolution)\r\n\t\t\t\t\t})\r\n\t\t\t\t),\r\n\t\t\tthis._incidentSvc.getActivities(incidentId, \"(Type eq 'DevelopmentEscalationActivity')\", 1, null)\r\n\t\t\t\t.pipe(\r\n\t\t\t\t\tcatchError(err => {\r\n\t\t\t\t\t\tconsole.error(`Could not get DevelopmentEscalationActivity for '${incidentId}'`, err)\r\n\t\t\t\t\t\tlet activities: IncidentActivity[]\r\n\t\t\t\t\t\treturn of(activities)\r\n\t\t\t\t\t})\r\n\t\t\t\t),\r\n\t\t\tthis._applicationVersionService.getApplicationVersions(this._configSvc.configuration.commvaultApplicationId, true, null, false).pipe(commvaultVersions => { return commvaultVersions }),\r\n\t\t\tthis._applicationVersionService.getApplicationVersions(this._configSvc.configuration.hedvigApplicationId, true, null, false).pipe(hedvigVersions => { return hedvigVersions }),\r\n\t\t\tthis._applicationVersionService.getApplicationVersions(this._configSvc.configuration.metallicApplicationId, true, null, false).pipe(metallicVersions => { return metallicVersions })\r\n\t\t).pipe(\r\n\t\t\tmap(response => {\r\n\t\t\t\tlet incident = response[0];\r\n\t\t\t\tlet resolution = response[1];\r\n\t\t\t\tlet devEscalation = response[2][0];\r\n\t\t\t\tlet commvaultVersions = response[3];\r\n\t\t\t\tlet hedvigVersions = response[4];\r\n\t\t\t\tlet metallicVersions = response[5];\r\n\r\n\t\t\t\tincident.resolution = resolution;\r\n\t\t\t\tincident.developmentEscalation = devEscalation as IncidentDevelopmentEscalationActivity;\r\n\r\n\t\t\t\tswitch (transformType.toLowerCase()) {\r\n\t\t\t\t\tcase \"technicalnote\":\r\n\t\t\t\t\t\t// if we don't set the transformedArticle to the specific type at the start the type will NOT be determined correctly\r\n\t\t\t\t\t\t// in create-edit-article.component resulting in missing required fields\r\n\t\t\t\t\t\tlet transformedArticle = new TechnicalNoteArticle();\r\n\t\t\t\t\t\ttransformedArticle.articleTargetedVersions\r\n\r\n\t\t\t\t\t\tlet targetedVersions = new Array();\r\n\r\n\t\t\t\t\t\tif (commvaultVersions.find(x => x.major == parseInt(incident.applicationMajorVersion) && x.servicePack == incident.applicationServicePack)) {\r\n\t\t\t\t\t\t\tlet targetedVersionViewModel = commvaultVersions.find(x => x.major == parseInt(incident.applicationMajorVersion) && x.servicePack == incident.applicationServicePack);\r\n\t\t\t\t\t\t\tlet targetedVersion = new ArticleTargetedVersion();\r\n\t\t\t\t\t\t\ttargetedVersion.versionApplicationId = targetedVersionViewModel.applicationId;\r\n\t\t\t\t\t\t\ttargetedVersion.versionMajor = targetedVersionViewModel.major;\r\n\t\t\t\t\t\t\ttargetedVersion.versionMinor = targetedVersionViewModel.minor;\r\n\t\t\t\t\t\t\ttargetedVersion.versionBuild = targetedVersionViewModel.build;\r\n\t\t\t\t\t\t\ttargetedVersion.versionRevision = targetedVersionViewModel.revision;\r\n\t\t\t\t\t\t\ttargetedVersion.versionServicePack = targetedVersionViewModel.servicePack;\r\n\t\t\t\t\t\t\ttargetedVersions.push(targetedVersion);\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tif (hedvigVersions.find(x => x.major == parseInt(incident.applicationMajorVersion) && x.servicePack == incident.applicationServicePack)) {\r\n\t\t\t\t\t\t\tlet targetedVersionViewModel = hedvigVersions.find(x => x.major == parseInt(incident.applicationMajorVersion) && x.servicePack == incident.applicationServicePack);\r\n\t\t\t\t\t\t\tlet targetedVersion = new ArticleTargetedVersion();\r\n\t\t\t\t\t\t\ttargetedVersion.versionApplicationId = targetedVersionViewModel.applicationId;\r\n\t\t\t\t\t\t\ttargetedVersion.versionMajor = targetedVersionViewModel.major;\r\n\t\t\t\t\t\t\ttargetedVersion.versionMinor = targetedVersionViewModel.minor;\r\n\t\t\t\t\t\t\ttargetedVersion.versionBuild = targetedVersionViewModel.build;\r\n\t\t\t\t\t\t\ttargetedVersion.versionRevision = targetedVersionViewModel.revision;\r\n\t\t\t\t\t\t\ttargetedVersion.versionServicePack = targetedVersionViewModel.servicePack;\r\n\t\t\t\t\t\t\ttargetedVersions.push(targetedVersion);\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t// can't imagine this will work as intended..technically Metallic has no version..\r\n\t\t\t\t\t\tif (metallicVersions.find(x => x.major == parseInt(incident.applicationMajorVersion) && x.servicePack == incident.applicationServicePack)) {\r\n\t\t\t\t\t\t\tlet targetedVersionViewModel = metallicVersions.find(x => x.major == parseInt(incident.applicationMajorVersion) && x.servicePack == incident.applicationServicePack);\r\n\t\t\t\t\t\t\tlet targetedVersion = new ArticleTargetedVersion();\r\n\t\t\t\t\t\t\ttargetedVersion.versionApplicationId = targetedVersionViewModel.applicationId;\r\n\t\t\t\t\t\t\ttargetedVersion.versionMajor = targetedVersionViewModel.major;\r\n\t\t\t\t\t\t\ttargetedVersion.versionMinor = targetedVersionViewModel.minor;\r\n\t\t\t\t\t\t\ttargetedVersion.versionBuild = targetedVersionViewModel.build;\r\n\t\t\t\t\t\t\ttargetedVersion.versionRevision = targetedVersionViewModel.revision;\r\n\t\t\t\t\t\t\ttargetedVersion.versionServicePack = targetedVersionViewModel.servicePack;\r\n\t\t\t\t\t\t\ttargetedVersions.push(targetedVersion);\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\ttransformedArticle.articleTargetedVersions = targetedVersions;\r\n\r\n\t\t\t\t\t\ttransformedArticle.title = incident.developmentEscalation ? incident.developmentEscalation.escalationPurpose : incident.title;\r\n\t\t\t\t\t\ttransformedArticle.symptoms = incident.developmentEscalation ? incident.developmentEscalation.issueSummary : incident.incidentSummary;\r\n\t\t\t\t\t\ttransformedArticle.resolution = incident.resolution ? incident.resolution.findings : '';\r\n\t\t\t\t\t\ttransformedArticle.incidentReference = incident.ticketNumber;\r\n\t\t\t\t\t\ttransformedArticle.articleTypeLabel = \"Technical Note\";\r\n\t\t\t\t\t\ttransformedArticle.classificationCode = incident.classificationId;\r\n\t\t\t\t\t\ttransformedArticle.classificationText = incident.classificationText;\r\n\t\t\t\t\t\ttransformedArticle.audience = 'Internal';\r\n\r\n\t\t\t\t\t\tlet expirationDate = new Date();\r\n\t\t\t\t\t\texpirationDate.setHours(0, 0, 0, 0);\r\n\t\t\t\t\t\texpirationDate.setDate(expirationDate.getDate() + 365);\r\n\t\t\t\t\t\ttransformedArticle.expiration = expirationDate;\r\n\r\n\t\t\t\t\t\treturn transformedArticle;\r\n\r\n\t\t\t\t\tcase \"troubleshooting\":\r\n\t\t\t\t\t\tlet troubleshootingArticle = new TroubleshootingArticle()\r\n\t\t\t\t\t\tlet technicalReviewerId = this._configSvc.configuration.defaultTechnicalReviewerId;\r\n\t\t\t\t\t\tlet troubleshootingTargetedVersions = new Array();\r\n\t\t\t\t\t\tlet applicationId = this._configSvc.configuration.versionApplicationId;\r\n\t\t\t\t\t\tlet major = this._configSvc.configuration.versionMajor;\r\n\r\n\t\t\t\t\t\tif (metallicVersions.find(x => x.applicationId == applicationId && x.major == parseInt(major))) {\r\n\t\t\t\t\t\t\tlet targetedVersionViewModel = metallicVersions.find(x => x.applicationId == applicationId && x.major == parseInt(major));\r\n\t\t\t\t\t\t\tlet targetedVersion = new ArticleTargetedVersion();\r\n\t\t\t\t\t\t\ttargetedVersion.versionApplicationId = targetedVersionViewModel.applicationId;\r\n\t\t\t\t\t\t\ttargetedVersion.versionMajor = targetedVersionViewModel.major;\r\n\t\t\t\t\t\t\ttargetedVersion.versionMinor = targetedVersionViewModel.minor;\r\n\t\t\t\t\t\t\ttargetedVersion.versionBuild = targetedVersionViewModel.build;\r\n\t\t\t\t\t\t\ttargetedVersion.versionRevision = targetedVersionViewModel.revision;\r\n\t\t\t\t\t\t\ttargetedVersion.versionServicePack = targetedVersionViewModel.servicePack;\r\n\t\t\t\t\t\t\ttroubleshootingTargetedVersions.push(targetedVersion);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\ttroubleshootingArticle.technicalReviewerId = technicalReviewerId;\r\n\t\t\t\t\t\ttroubleshootingArticle.articleTargetedVersions = troubleshootingTargetedVersions;\r\n\t\t\t\t\t\ttroubleshootingArticle.title = incident.resolution ? incident.resolution.caseSubject : \"\";\r\n\t\t\t\t\t\ttroubleshootingArticle.description = incident.resolution ? incident.resolution.summarizeCustomerExperience : \"\";\r\n\t\t\t\t\t\ttroubleshootingArticle.symptoms = incident.resolution ? incident.resolution.rootCauseOfIssue : \"\";\r\n\t\t\t\t\t\ttroubleshootingArticle.resolution = incident.resolution ? incident.resolution.howToResolve : \"\"\r\n\t\t\t\t\t\ttroubleshootingArticle.incidentReference = incident ? incident.ticketNumber : \"\";\r\n\t\t\t\t\t\ttroubleshootingArticle.articleTypeLabel = \"Troubleshooting\";\r\n\t\t\t\t\t\ttroubleshootingArticle.audience = \"Customers\";\r\n\r\n\t\t\t\t\t\tlet troubleshootingExpirationDate = new Date();\r\n\t\t\t\t\t\ttroubleshootingExpirationDate.setHours(0, 0, 0, 0);\r\n\t\t\t\t\t\ttroubleshootingExpirationDate.setDate(troubleshootingExpirationDate.getDate() + 365);\r\n\t\t\t\t\t\ttroubleshootingArticle.expiration = troubleshootingExpirationDate;\r\n\r\n\t\t\t\t\t\treturn troubleshootingArticle;\t\r\n\t\t\t\t\tdefault:\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\r\n\t\t\t})\r\n\t\t)\r\n\t}\r\n\r\n\tpublic getArticleTransform(sourceId: string, sourceType: string, destinationType: string): Observable
{\r\n\t\tswitch (sourceType.toLowerCase()) {\r\n\t\t\tcase 'incident':\r\n\t\t\t\treturn this.getTransformedArticleFromIncident(sourceId, destinationType);\r\n\t\t\tcase 'article':\r\n\t\t\t\treturn this.getTransformedArticleFromArticle(parseInt(sourceId), destinationType);\r\n\t\t}\r\n\t}\r\n\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\nimport { Observable, of } from \"rxjs\";\r\nimport { catchError, map, tap, share, shareReplay } from \"rxjs/operators\";\r\n\r\nimport { AlertService } from \"../alert/alert.service\";\r\n\r\nimport { UserProfile } from \"../../models/user-profiles/user-profile.model\";\r\nimport { UserProfileUpdate } from \"../../models/user-profiles/user-profile-update.model\";\r\n\r\n@Injectable({\r\n\tprovidedIn: \"root\"\r\n})\r\nexport class UserProfileService {\r\n\r\n\tprivate _urlBase: string = \"api/profiles\";\r\n\r\n\tprivate _myProfile: UserProfile;\r\n\r\n\tprivate _myObservable: Observable;\r\n\r\n\tconstructor(private _http: HttpClient, private _alertService: AlertService) { }\r\n\r\n\tprivate handleError(message: string, result?: T) {\r\n\t\treturn (error: any): Observable => {\r\n\t\t\tthis._alertService.show(message);\r\n\r\n\t\t\treturn of(result as T);\r\n\t\t}\r\n\t}\r\n\r\n\tpublic getMyProfile(): Observable {\r\n\t\tconsole.debug('ProfileService | getMyProfile()');\r\n\r\n\t\tif (this._myProfile) {\r\n\t\t\treturn of(this._myProfile);\r\n\t\t}\r\n\t\telse if (this._myObservable) {\r\n\t\t\treturn this._myObservable;\r\n\t\t}\r\n\t\telse {\r\n\t\t\tconst url = `${this._urlBase}/my`;\r\n\r\n\t\t\tthis._myObservable = this._http\r\n\t\t\t\t.get(url)\r\n\t\t\t\t.pipe(\r\n\t\t\t\t\ttap(profile => {\r\n\t\t\t\t\t\tthis._myProfile = profile\r\n\t\t\t\t\t}),\r\n\t\t\t\t\tshare(),\r\n\t\t\t\t\tcatchError(this.handleError('We are sorry. We are unable to find your Profile. Please refresh your browser or contact Support.', null))\r\n\t\t\t\t);\r\n\r\n\t\t\treturn this._myObservable;\r\n\t\t}\r\n\t}\r\n\r\n\tpublic updateMyProfile(profile: UserProfileUpdate): Observable {\r\n\t\tconsole.debug('ProfileService | updateProfile()');\r\n\r\n\t\tif (profile == null) {\r\n\t\t\t// throw error\r\n\t\t}\r\n\r\n\t\tconst url = `${this._urlBase}/my`;\r\n\r\n\t\treturn this._http\r\n\t\t\t.post(url, profile)\r\n\t\t\t.pipe(\r\n\t\t\t\ttap(profile => this._myProfile = profile),\r\n\t\t\t\tshare(),\r\n\t\t\t\tcatchError(this.handleError('updateProfile', null))\r\n\t\t\t);\r\n\t}\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { ODataResult } from '../../models/oData/odata-result.model';\r\nimport { User } from '../../models/users/user.model';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class UsersService {\r\n\r\n\tprivate _urlBase: string = \"/odata/User\";\r\n\r\n\tconstructor(private _http: HttpClient) {\r\n\t}\r\n\r\n\tpublic searchUsers(filter: string): Observable> {\r\n\t\tconst url = `${this._urlBase}?$select=id,userName&$orderby=userName&$filter=StartsWith(userName,'${filter}')`;\r\n\r\n\t\treturn this._http\r\n\t\t\t.get>>(url)\r\n\t\t\t.pipe(\r\n\t\t\t\tmap(result => {\r\n\t\t\t\t\treturn result.value.map(user => {\r\n\t\t\t\t\t\tlet ui = new User();\r\n\t\t\t\t\t\tObject.assign(ui, user);\r\n\r\n\t\t\t\t\t\treturn ui;\r\n\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t);\r\n\t}\r\n\r\n\tpublic getUserById(filter: string): Observable {\r\n\t\t// TODO: Fix this to be using eq instead of filter based on id, can't seem to get this to work\r\n\t\tconst url = `${this._urlBase}?$select=id,userName&$filter=StartsWith(id,'${filter}')`;\r\n\r\n\t\treturn this._http\r\n\t\t\t.get>(url)\r\n\t\t\t.pipe(\r\n\t\t\t\tmap(result => {\r\n\t\t\t\t\treturn result.value;\r\n\t\t\t\t})\r\n\t\t\t);\r\n\t}\r\n\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { RouterModule, Routes } from \"@angular/router\";\r\n\r\nimport { RolesPermissionsComponent } from \"./components/roles-permissions/roles-permissions.component\";\r\nimport { AdminToolComponent } from \"./components/admin-tools/admin-tool/admin-tool.component\";\r\nimport { AuthPermissionsGuard } from \"../../core/services/permissions/auth-permissions.guard\";\r\n\r\nconst routes: Routes = [\r\n\t{\r\n\t\tpath: 'admin', canActivate: [AuthPermissionsGuard], data: { roles: ['manage-application-admin-tools'] }, children: [\r\n\t\t\t{ path: '', component: RolesPermissionsComponent },\r\n\t\t\t{ path: 'roles-permissions', component: RolesPermissionsComponent },\r\n\t\t\t{ path: 'admin-tools', component: AdminToolComponent }\r\n\t\t]\r\n\t}\r\n]\r\n\r\n@NgModule({\r\n\timports: [RouterModule.forRoot(routes)],\r\n\texports: [RouterModule]\r\n})\r\nexport class AdminRoutingModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { TabsModule } from 'ngx-bootstrap';\r\n\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\n\r\nimport { MultiSelectModule } from '@syncfusion/ej2-angular-dropdowns';\r\nimport { DatePickerModule } from '@syncfusion/ej2-angular-calendars';\r\nimport { GridModule } from '@syncfusion/ej2-angular-grids';\r\n\r\nimport { AdminRoutingModule } from './admin-routing.module';\r\n\r\nimport { NavComponent } from './components/nav/nav.component';\r\n\r\nimport { RolesPermissionsComponent } from './components/roles-permissions/roles-permissions.component';\r\nimport { AdminToolComponent } from './components/admin-tools/admin-tool/admin-tool.component';\r\nimport { ResetUserPublishDateComponent } from './components/admin-tools/reset-user-publish-date/reset-user-publish-date.component';\r\nimport { DeleteUnusedCommonIssuesComponent } from './components/admin-tools/delete-unused-common-issues/delete-unused-common-issues.component';\r\nimport { DeleteUnusedSolutionsComponent } from './components/admin-tools/delete-unused-solutions/delete-unused-solutions.component';\r\n\r\n@NgModule({\r\n\timports: [\r\n\t\tCommonModule,\r\n\t\tReactiveFormsModule,\r\n\t\tTabsModule,\r\n\t\tFontAwesomeModule,\r\n\t\tMultiSelectModule,\r\n\t\tDatePickerModule,\r\n\t\tGridModule,\r\n\t\tAdminRoutingModule\r\n\t],\r\n\tdeclarations: [\r\n\t\tNavComponent,\r\n\t\tRolesPermissionsComponent,\r\n\t\tAdminToolComponent,\r\n\t\tResetUserPublishDateComponent,\r\n\t\tDeleteUnusedCommonIssuesComponent,\r\n\t\tDeleteUnusedSolutionsComponent\r\n\t],\r\n\texports: [\r\n\t\tAdminRoutingModule\r\n\t]\r\n})\r\nexport class AdminModule { }\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\modules\\\\admin\\\\components\\\\admin-tools\\\\admin-tool\\\\admin-tool.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvYWRtaW4vY29tcG9uZW50cy9hZG1pbi10b29scy9hZG1pbi10b29sL2FkbWluLXRvb2wuY29tcG9uZW50LnNjc3MifQ== */\"","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n\tselector: 'app-admin-tool',\r\n\ttemplateUrl: './admin-tool.component.pug',\r\n\tstyleUrls: ['./admin-tool.component.scss']\r\n})\r\nexport class AdminToolComponent implements OnInit {\r\n\r\n\tconstructor() {\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t}\r\n\r\n}\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\modules\\\\admin\\\\components\\\\admin-tools\\\\delete-unused-common-issues\\\\delete-unused-common-issues.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvYWRtaW4vY29tcG9uZW50cy9hZG1pbi10b29scy9kZWxldGUtdW51c2VkLWNvbW1vbi1pc3N1ZXMvZGVsZXRlLXVudXNlZC1jb21tb24taXNzdWVzLmNvbXBvbmVudC5zY3NzIn0= */\"","import { Component, OnInit, ViewEncapsulation, ViewChild } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\n\r\nimport { FilterSettingsModel, PageSettingsModel, SortSettingsModel, ExcelExportService, ToolbarService, SelectionService, ToolbarItems, EditService, GridComponent, ExcelExportProperties } from '@syncfusion/ej2-angular-grids';\r\nimport { DataManager, UrlAdaptor } from '@syncfusion/ej2-data';\r\n\r\nimport { AuthService } from '../../../../../core/services/auth/auth.service';\r\nimport { ClickEventArgs } from '@syncfusion/ej2-angular-navigations';\r\nimport { ReportDefinition } from '../../../../reports/models/report-definition.model';\r\n\r\n@Component({\r\n\tselector: 'app-delete-unused-common-issues',\r\n\ttemplateUrl: './delete-unused-common-issues.component.pug',\r\n\tstyleUrls: ['./delete-unused-common-issues.component.scss'],\r\n\tproviders: [SelectionService, ToolbarService, EditService]\r\n})\r\n\r\nexport class DeleteUnusedCommonIssuesComponent implements OnInit {\r\n\r\n\tprivate _pageSizes: number[] = [10, 15];\r\n\r\n\tpublic unusedCommonIssue: DataManager;\r\n\r\n\tpublic definition: ReportDefinition;\r\n\r\n\tpublic filterOptions: FilterSettingsModel;\r\n\r\n\tpublic pageOptions: PageSettingsModel;\r\n\r\n\tpublic sortOptions: SortSettingsModel;\r\n\r\n\tpublic queryForm: FormGroup;\r\n\r\n\tpublic errorMessage: boolean = false;\r\n\r\n\tpublic selectOptions: Object;\r\n\r\n\tpublic editSettings: Object;\r\n\r\n\tpublic toolbarOptions: ToolbarItems[];\r\n\r\n\t@ViewChild('grid')\r\n\tpublic grid: GridComponent;\r\n\r\n\tconstructor(private _fb: FormBuilder, private _authService: AuthService) {\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tthis.createForm();\r\n\t\tthis.initializeGrid();\r\n\t}\r\n\r\n\tprivate createForm(): void {\r\n\t\tthis.queryForm = this._fb.group({\r\n\t\t\tstartDate: ['', Validators.required],\r\n\t\t\tendDate: ['', Validators.required],\r\n\t\t\tminClassificationDays: ['', Validators.required],\r\n\t\t\tincludeInternal: ['']\r\n\t\t});\r\n\t}\r\n\r\n\tprivate initializeGrid(): void {\r\n\t\tthis.pageOptions = { pageCount: 10, pageSize: this._pageSizes[0], pageSizes: this._pageSizes };\r\n\r\n\t\tthis.filterOptions = {\r\n\t\t\ttype: 'Menu'\r\n\t\t};\r\n\r\n\t\tthis.toolbarOptions = ['Delete', 'ExcelExport'];\r\n\r\n\t\tthis.sortOptions = { columns: [{ field: 'createdOn', direction: 'Descending' }] };\r\n\t}\r\n\r\n\tprivate getDataManager(startDate: Date, endDate: Date, numberDays: number, includeInternal: boolean): DataManager {\r\n\t\tlet query = `startDate=${startDate.toISOString()}&endDate=${endDate.toISOString()}&minimumAge=${numberDays}&includeInternal=${includeInternal}`;\r\n\r\n\t\treturn new DataManager({\r\n\t\t\tbatchUrl: `api/classification/batchunusedcommonIssue`,\r\n\t\t\turl: `api/classification/getunusedcommonissue?${query}`,\r\n\t\t\tremoveUrl: `api/classification/batchunusedcommonIssue`,\r\n\t\t\tadaptor: new UrlAdaptor,\r\n\t\t\tcrossDomain: true,\r\n\t\t\theaders: [{ 'Authorization': this._authService.getAuthorizationHeaderValue() }],\r\n\t\t});\r\n\t}\r\n\r\n\tpublic onSubmit(): void {\r\n\t\tthis.errorMessage = false;\r\n\r\n\t\tlet values = this.queryForm.value;\r\n\t\tthis.queryForm.disable();\r\n\r\n\t\tthis.unusedCommonIssue = this.getDataManager(values.startDate, values.endDate, values.minClassificationDays, !!values.includeInternal);\r\n\t}\r\n\r\n\tpublic actionFailure(e): void {\r\n\t\tthis.queryForm.enable();\r\n\t\tthis.errorMessage = true;\r\n\t}\r\n\r\n\tpublic actionComplete(e): void {\r\n\t\tthis.queryForm.enable();\r\n\r\n\t\tthis.editSettings = { allowDeleting: true };\r\n\t}\r\n\r\n\tpublic onToolbarClick(args: ClickEventArgs): void {\r\n\t\tif (args.item.id.endsWith('_excelexport')) {\r\n\t\t\tlet exportProperties: ExcelExportProperties = {\r\n\t\t\t\tfileName: 'DeleteUnusedCommonIssues.xlsx'\r\n\t\t\t};\r\n\r\n\t\t\tthis.grid.excelExport(exportProperties);\r\n\t\t}\r\n\t}\r\n\r\n}\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\modules\\\\admin\\\\components\\\\admin-tools\\\\delete-unused-solutions\\\\delete-unused-solutions.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvYWRtaW4vY29tcG9uZW50cy9hZG1pbi10b29scy9kZWxldGUtdW51c2VkLXNvbHV0aW9ucy9kZWxldGUtdW51c2VkLXNvbHV0aW9ucy5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component, OnInit, ViewChild, ViewEncapsulation } from '@angular/core';\r\nimport { FormGroup, Validators, FormBuilder } from '@angular/forms';\r\n\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { FilterSettingsModel, PageSettingsModel, SortSettingsModel, SelectionService, GridComponent, ToolbarItems, ExcelExportProperties, ToolbarService, ExcelExportService } from '@syncfusion/ej2-angular-grids';\r\nimport { DataManager, WebApiAdaptor } from '@syncfusion/ej2-data';\r\n\r\nimport { AuthService } from '../../../../../core/services/auth/auth.service';\r\nimport { ArticleService } from '../../../../../core/services/articles/article.service';\r\nimport { ClickEventArgs } from '@syncfusion/ej2-angular-navigations';\r\n\r\n@Component({\r\n\tselector: 'app-delete-unused-solutions',\r\n\ttemplateUrl: './delete-unused-solutions.component.pug',\r\n\tstyleUrls: ['./delete-unused-solutions.component.scss'],\r\n\tproviders: [SelectionService, ToolbarService, ExcelExportService]\r\n})\r\nexport class DeleteUnusedSolutionsComponent implements OnInit {\r\n\r\n\tprivate _pageSizes: number[] = [15, 30];\r\n\r\n\tprivate _subscriptions = new Subscription();\r\n\r\n\tpublic unusedSolution: DataManager;\r\n\r\n\tpublic filterOptions: FilterSettingsModel;\r\n\r\n\tpublic pageOptions: PageSettingsModel;\r\n\r\n\tpublic sortOptions: SortSettingsModel;\r\n\r\n\tpublic dusFormGroup: FormGroup;\r\n\r\n\tpublic startDate: Date;\r\n\r\n\tpublic endDate: Date;\r\n\r\n\tpublic maximumEffectiveness: number;\r\n\r\n\tpublic minimumAge: number;\r\n\r\n\tpublic minimumViewed: number;\r\n\r\n\tpublic errorMessage: boolean = false;\r\n\r\n\tpublic selectOptions: Object;\r\n\r\n\tpublic isDisabled: boolean = true;\r\n\r\n\t@ViewChild('grid')\r\n\tpublic grid: GridComponent;\r\n\r\n\tpublic toolbarOptions: ToolbarItems[];\r\n\r\n\tconstructor(private _fb: FormBuilder, private _authService: AuthService, private _articleService: ArticleService) {\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tthis.createForm();\r\n\r\n\t\tthis.pageOptions = { pageCount: 10, pageSize: this._pageSizes[0], pageSizes: this._pageSizes };\r\n\r\n\t\tthis.filterOptions = {\r\n\t\t\ttype: 'Menu'\r\n\t\t};\r\n\r\n\t\tthis.toolbarOptions = ['ExcelExport'];\r\n\t}\r\n\r\n\tngOnDestroy(): void {\r\n\t\tthis._subscriptions.unsubscribe();\r\n\t}\r\n\r\n\tprivate createForm(): void {\r\n\t\tthis.dusFormGroup = this._fb.group({\r\n\t\t\tstartDate: ['', Validators.required],\r\n\t\t\tendDate: ['', Validators.required],\r\n\t\t\tmaximumEffectiveness: ['', Validators.required],\r\n\t\t\tminimumAge: ['', Validators.required],\r\n\t\t\tminimumViewed: ['', Validators.required],\r\n\t\t});\r\n\r\n\t\tthis.dusFormGroup.addControl('startDate', this._fb.control(''));\r\n\t\tthis.dusFormGroup.addControl('endDate', this._fb.control(''));\r\n\t\tthis.dusFormGroup.addControl('maximumEffectiveness', this._fb.control(''));\r\n\t\tthis.dusFormGroup.addControl('minimumAge', this._fb.control(''));\r\n\t\tthis.dusFormGroup.addControl('minimumViewed', this._fb.control(''));\r\n\r\n\t\tthis._subscriptions.add(\r\n\t\t\tthis.dusFormGroup.get(\"startDate\").valueChanges\r\n\t\t\t\t.subscribe(value => {\r\n\t\t\t\t\tthis.startDate = value;\r\n\t\t\t\t})\r\n\t\t);\r\n\r\n\t\tthis._subscriptions.add(\r\n\t\t\tthis.dusFormGroup.get(\"endDate\").valueChanges\r\n\t\t\t\t.subscribe(value => {\r\n\t\t\t\t\tthis.endDate = value;\r\n\t\t\t\t})\r\n\t\t);\r\n\r\n\t\tthis._subscriptions.add(\r\n\t\t\tthis.dusFormGroup.get(\"maximumEffectiveness\").valueChanges\r\n\t\t\t\t.subscribe(value => {\r\n\t\t\t\t\tthis.maximumEffectiveness = value;\r\n\t\t\t\t})\r\n\t\t);\r\n\r\n\t\tthis._subscriptions.add(\r\n\t\t\tthis.dusFormGroup.get(\"minimumAge\").valueChanges\r\n\t\t\t\t.subscribe(value => {\r\n\t\t\t\t\tthis.minimumAge = value;\r\n\t\t\t\t})\r\n\t\t);\r\n\r\n\t\tthis._subscriptions.add(\r\n\t\t\tthis.dusFormGroup.get(\"minimumViewed\").valueChanges\r\n\t\t\t\t.subscribe(value => {\r\n\t\t\t\t\tthis.minimumViewed = value;\r\n\t\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tprivate getDataManager() {\r\n\t\tlet query = `startDate=${this.startDate.toISOString()}&endDate=${this.endDate.toISOString()}&maximumEffectiveness=${this.maximumEffectiveness}&minimumAge=${this.minimumAge}&minimumViewed=${this.minimumViewed}`;\r\n\t\treturn new DataManager({\r\n\t\t\turl: `api/admin/deflectionAnalysis?${query}`,\r\n\t\t\tadaptor: new WebApiAdaptor,\r\n\t\t\toffline: true,\r\n\t\t\tcrossDomain: true,\r\n\t\t\theaders: [{ 'Authorization': this._authService.getAuthorizationHeaderValue() }],\r\n\t\t});\r\n\t}\r\n\r\n\tpublic onSubmit(): void {\r\n\t\tthis.errorMessage = false;\r\n\t\tthis.unusedSolution = this.getDataManager();\r\n\t\tthis.selectOptions = { persistSelection: true };\r\n\t\tthis.dusFormGroup.disable();\r\n\t}\r\n\r\n\tpublic delete(): void {\r\n\t\tif (this.grid.getSelectedRowIndexes().length) {\r\n\t\t\tvar articleIds = this.grid.getSelectedRecords().map(x => x['articleId']);\r\n\t\t\tthis._subscriptions.add(\r\n\t\t\t\tthis._articleService.deleteArticles(articleIds)\r\n\t\t\t\t\t.subscribe(\r\n\t\t\t\t\t\tresponse => {\r\n\t\t\t\t\t\t\tthis.grid.getSelectedRecords().map((val) => {\r\n\t\t\t\t\t\t\t\tval['isAvailable'] = false;\r\n\t\t\t\t\t\t\t\tthis.grid.setRowData(val['articleId'], val);\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tthis.grid.clearSelection();\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\terror => {\r\n\t\t\t\t\t\t\tthis.errorMessage = true;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t)\r\n\t\t\t);\r\n\t\t}\r\n\t}\r\n\r\n\tpublic onToolbarClick(args: ClickEventArgs): void {\r\n\t\tif (args.item.id.endsWith('_excelexport')) {\r\n\t\t\tlet exportProperties: ExcelExportProperties = {\r\n\t\t\t\tfileName: 'DeleteUnusedSolutions.xlsx'\r\n\t\t\t};\r\n\r\n\t\t\tthis.grid.excelExport(exportProperties);\r\n\t\t}\r\n\t}\r\n\r\n\tactionFailure(e) {\r\n\t\tthis.errorMessage = true;\r\n\t\tthis.dusFormGroup.enable();\r\n\t}\r\n\r\n\tactionComplete(e) {\r\n\t\tthis.dusFormGroup.enable();\r\n\t}\r\n\r\n\tonRowSelected(e) {\r\n\t\tif (this.grid.getSelectedRowIndexes().length) {\r\n\t\t\tthis.isDisabled = false;\r\n\t\t}\r\n\t}\r\n\r\n\tonRowDeselected(e) {\r\n\t\tif (!this.grid.getSelectedRowIndexes().length) {\r\n\t\t\tthis.isDisabled = true;\r\n\t\t}\r\n\r\n\t}\r\n\r\n}\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\modules\\\\admin\\\\components\\\\admin-tools\\\\reset-user-publish-date\\\\reset-user-publish-date.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvYWRtaW4vY29tcG9uZW50cy9hZG1pbi10b29scy9yZXNldC11c2VyLXB1Ymxpc2gtZGF0ZS9yZXNldC11c2VyLXB1Ymxpc2gtZGF0ZS5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { FormGroup, Validators, FormControl } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { Subscription } from 'rxjs';\r\nimport { DataManager, ODataV4Adaptor, Query } from '@syncfusion/ej2-data';\r\n\r\nimport { AuthService } from '../../../../../core/services/auth/auth.service';\r\nimport { UsersService } from '../../../../../core/services/users/users.service';\r\nimport { AdminService } from '../../../../../core/services/admin/admin.service';\r\n\r\nimport { ResetUserPublishDate } from '../../../../../core/models/admin/reset-user-publish-date.model';\r\n\r\n@Component({\r\n\tselector: 'app-reset-user-publish-date',\r\n\ttemplateUrl: './reset-user-publish-date.component.pug',\r\n\tstyleUrls: ['./reset-user-publish-date.component.scss']\r\n})\r\nexport class ResetUserPublishDateComponent implements OnInit, OnDestroy {\r\n\r\n\tprivate _subscriptions = new Subscription();\r\n\r\n\tpublic rupdFormGroup = new FormGroup({\r\n\t\tusers: new FormControl('', Validators.required),\r\n\t\tresetDate: new FormControl('', Validators.required)\r\n\t});\r\n\r\n\tpublic errorMessage: boolean = false;\r\n\r\n\tpublic remoteFields = { text: 'userName', value: 'id' };\r\n\r\n\tpublic data: DataManager;\r\n\r\n\tpublic query: Query;\r\n\r\n\tpublic userIds: Array;\r\n\r\n\tconstructor(private _authService: AuthService,\r\n\t\tprivate _adminService: AdminService,\r\n\t\tprivate _route: Router) {\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tthis.bindData();\r\n\r\n\t\tthis._subscriptions.add(\r\n\t\t\tthis.rupdFormGroup.get(\"users\").valueChanges\r\n\t\t\t\t.subscribe(value => {\r\n\t\t\t\t\tif (value && value.map) {\r\n\t\t\t\t\t\tthis.userIds = value;\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tngOnDestroy(): void {\r\n\t\tthis._subscriptions.unsubscribe();\r\n\t}\r\n\r\n\tprivate bindData(): void {\r\n\t\tthis.data = new DataManager({\r\n\t\t\turl: '/odata/User',\r\n\t\t\tadaptor: new ODataV4Adaptor,\r\n\t\t\tcrossDomain: false,\r\n\t\t\theaders: [{ 'Authorization': this._authService.getAuthorizationHeaderValue() }]\r\n\t\t});\r\n\r\n\t\tthis.query = new Query().select(['id', 'userName']);\r\n\t}\r\n\r\n\tpublic onSubmit(): void {\r\n\t\tvar request: ResetUserPublishDate = {\r\n\t\t\tresetDate: this.rupdFormGroup.value.resetDate,\r\n\t\t\tuserIds: this.userIds\r\n\t\t};\r\n\r\n\t\tthis._subscriptions.add(\r\n\t\t\tthis._adminService.resetUsersPublishDate(request)\r\n\t\t\t\t.subscribe(\r\n\t\t\t\t\tresponse => {\r\n\t\t\t\t\t\tthis._route.navigate([\"/reports/render/6DD38373-B8E5-4E47-B6F4-5D9BE28320B6\"]);\r\n\t\t\t\t\t},\r\n\t\t\t\t\terror => {\r\n\t\t\t\t\t\tthis.errorMessage = true;\r\n\t\t\t\t\t}\r\n\t\t\t\t)\r\n\t\t);\r\n\t}\r\n\r\n}\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\modules\\\\admin\\\\components\\\\nav\\\\nav.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \":host {\\n display: block; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9hZG1pbi9jb21wb25lbnRzL25hdi9DOlxcVXNlcnNcXG1qb3NoaVxcc291cmNlXFxyZXBvc1xcQWxleGFuZHJpYVxcQWxleGFuZHJpYVxcQWxleGFuZHJpYS5XZWJzaXRlXFxDbGllbnRBcHAvc3JjXFxhcHBcXG1vZHVsZXNcXGFkbWluXFxjb21wb25lbnRzXFxuYXZcXG5hdi5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNDLGNBQWMsRUFBQSIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvYWRtaW4vY29tcG9uZW50cy9uYXYvbmF2LmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiOmhvc3Qge1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcbiJdfQ== */\"","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n\tselector: 'app-nav',\r\n\ttemplateUrl: './nav.component.pug',\r\n\tstyleUrls: ['./nav.component.scss']\r\n})\r\nexport class NavComponent implements OnInit {\r\n\r\n\tconstructor() { }\r\n\r\n\tngOnInit() {\r\n\t}\r\n\r\n}\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\modules\\\\admin\\\\components\\\\roles-permissions\\\\roles-permissions.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvYWRtaW4vY29tcG9uZW50cy9yb2xlcy1wZXJtaXNzaW9ucy9yb2xlcy1wZXJtaXNzaW9ucy5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component, OnInit } from '@angular/core';\r\n\r\nimport { RolesService } from '../../../../core/services/roles/roles.service';\r\nimport { PermissionService } from '../../../../core/services/permissions/permission.service';\r\nimport { Role } from '../../../../core/models/roles/role.model';\r\nimport { Permission } from '../../../../core/models/permissions/permission.model';\r\n\r\n@Component({\r\n\tselector: 'app-roles-permissions',\r\n\ttemplateUrl: './roles-permissions.component.pug',\r\n\tstyleUrls: ['./roles-permissions.component.scss']\r\n})\r\nexport class RolesPermissionsComponent implements OnInit {\r\n\r\n\tpublic roles: Array;\r\n\r\n\tpublic permissions: Array;\r\n\r\n\tconstructor(private _rolesService: RolesService, private _permsService: PermissionService) {\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tthis._rolesService.getRoles()\r\n\t\t\t.subscribe(result => {\r\n\t\t\t\tthis.roles = result.sort((left, right): number => { return (left.name > right.name) ? 1 : ((right.name > left.name) ? -1 : 0); });;;\r\n\r\n\t\t\t\tthis.roles.forEach(role => {\r\n\t\t\t\t\trole.permissions = role.permissions.sort((left, right): number => { return (left.name > right.name) ? 1 : ((right.name > left.name) ? -1 : 0); });;;\r\n\t\t\t\t});\r\n\t\t\t});\r\n\r\n\t\tthis._permsService.getPermissions()\r\n\t\t\t.subscribe(result => {\r\n\t\t\t\tthis.permissions = result.sort((left, right): number => { return (left.name > right.name) ? 1 : ((right.name > left.name) ? -1 : 0); });;;\r\n\t\t\t});\r\n\t}\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\n\r\nimport { AuthPermissionsGuard } from '../../core/services/permissions/auth-permissions.guard';\r\n\r\nimport { ClassificationTreeManagementComponent } from './components/classification-tree-management/classification-tree-management.component';\r\nimport { ClassificationDiagnosticsManagementComponent } from './components/classification-diagnostics-management/classification-diagnostics-management.component';\r\n\r\nconst routes: Routes = [\r\n\t{\r\n\t\tpath: 'classification', canActivate: [AuthPermissionsGuard], children: [\r\n\t\t\t{ path: '', component: ClassificationTreeManagementComponent },\r\n\t\t\t{ path: 'management', component: ClassificationTreeManagementComponent },\r\n\t\t\t{\r\n\t\t\t\tpath: 'diagnostics', component: ClassificationDiagnosticsManagementComponent, canActivate: [AuthPermissionsGuard], data: {\r\n\t\t\t\t\troles: ['manage-classification']\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t]\r\n\t}\r\n]\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class ClassificationRoutingModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\n\r\nimport { TreeViewModule } from '@syncfusion/ej2-angular-navigations';\r\nimport { ListViewModule } from '@syncfusion/ej2-angular-lists';\r\nimport { CollapseModule, AccordionModule } from 'ngx-bootstrap';\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\n\r\nimport { ClassificationRoutingModule } from './classification-routing.module';\r\n\r\nimport { SharedModule } from '../../shared/shared.module';\r\n\r\nimport { ClassificationService } from './services/classification/classification.service';\r\nimport { ClassificationSelectionService } from './services/classification-selection/classification-selection.service';\r\n\r\nimport { ClassificationTreeComponent } from './components/classification-tree/classification-tree.component';\r\nimport { ClassificationTreeManagementComponent } from './components/classification-tree-management/classification-tree-management.component';\r\nimport { ClassificationDiagnosticsManagementComponent } from './components/classification-diagnostics-management/classification-diagnostics-management.component';\r\nimport { ProductEditorComponent } from './components/editors/product-editor/product-editor.component';\r\nimport { FunctionEditorComponent } from './components/editors/function-editor/function-editor.component';\r\nimport { CommonIssueEditorComponent } from './components/editors/common-issue-editor/common-issue-editor.component';\r\n\r\n@NgModule({\r\n imports: [\r\n\t CommonModule,\r\n\t ReactiveFormsModule,\r\n\t BrowserAnimationsModule,\r\n\r\n\t TreeViewModule,\r\n\t ListViewModule,\r\n\t AccordionModule,\r\n\t CollapseModule,\r\n\t FontAwesomeModule,\r\n\r\n\t ClassificationRoutingModule,\r\n\r\n\t // ** App\r\n\t SharedModule\r\n ],\r\n declarations: [\r\n\t ClassificationTreeComponent,\r\n\t ClassificationTreeManagementComponent,\r\n\t ClassificationDiagnosticsManagementComponent,\r\n\t ProductEditorComponent,\r\n\t FunctionEditorComponent,\r\n\t CommonIssueEditorComponent\r\n ],\r\n entryComponents: [\r\n\t ProductEditorComponent,\r\n\t FunctionEditorComponent,\r\n\t CommonIssueEditorComponent\r\n ],\r\n exports: [\r\n\t ClassificationTreeComponent\r\n ],\r\n providers: [\r\n\t ClassificationService,\r\n\t ClassificationSelectionService\r\n ]\r\n})\r\nexport class ClassificationModule { }\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\modules\\\\classification\\\\components\\\\classification-diagnostics-management\\\\classification-diagnostics-management.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvY2xhc3NpZmljYXRpb24vY29tcG9uZW50cy9jbGFzc2lmaWNhdGlvbi1kaWFnbm9zdGljcy1tYW5hZ2VtZW50L2NsYXNzaWZpY2F0aW9uLWRpYWdub3N0aWNzLW1hbmFnZW1lbnQuY29tcG9uZW50LnNjc3MifQ== */\"","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { FormBuilder, FormGroup, FormArray, Validators, FormControl } from '@angular/forms';\r\n\r\nimport { Subscription } from 'rxjs';\r\nimport { AccordionPanelComponent, BsModalService } from 'ngx-bootstrap';\r\n\r\nimport { ClassificationService } from '../../services/classification/classification.service';\r\nimport { TroubleshootingInformation } from '../../models/troubleshooting-information.model';\r\nimport { ConfirmationDialogComponent } from '../../../../shared/components/confirmation-dialog/confirmation-dialog.component';\r\n\r\n@Component({\r\n\tselector: 'app-classification-diagnostics-management',\r\n\ttemplateUrl: './classification-diagnostics-management.component.pug',\r\n\tstyleUrls: ['./classification-diagnostics-management.component.scss']\r\n})\r\nexport class ClassificationDiagnosticsManagementComponent implements OnInit, OnDestroy {\r\n\r\n\tpublic dataPointsForm: FormGroup;\r\n\r\n\tpublic hasBeenSubmitted: boolean;\r\n\r\n\tprivate _subscriptions = new Subscription();\r\n\r\n\tprivate _items: Array;\r\n\r\n\tconstructor(private _fb: FormBuilder, private _classificationService: ClassificationService, private _modalService: BsModalService) {\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tthis.loadData();\r\n\t}\r\n\r\n\tprivate loadData(): void {\r\n\t\tthis._subscriptions.add(\r\n\t\t\tthis._classificationService.getDiagnosticItems()\r\n\t\t\t\t.subscribe(response => {\r\n\t\t\t\t\t\tthis._items = response;\r\n\r\n\t\t\t\t\t\tthis.createForm();\r\n\t\t\t\t\t}\r\n\t\t\t\t)\r\n\t\t);\r\n\t}\r\n\r\n\tprivate createForm(): void {\r\n\t\tthis.dataPointsForm = this._fb.group({});\r\n\r\n\t\tlet controls: FormGroup[] = [];\r\n\r\n\t\tif (this._items) {\r\n\t\t\tcontrols = this._items.map(i => this._fb.group({\r\n\t\t\t\ttroubleshootingInformationId: [i.troubleshootingInformationId],\r\n\t\t\t\twhatIsNeeded: [i.whatIsNeeded, Validators.required],\r\n\t\t\t\twhyItIsNeeded: [i.whyItIsNeeded, Validators.required],\r\n\t\t\t\thowItIsCollected: [i.howItIsCollected, Validators.required]\r\n\t\t\t}));\r\n\t\t}\r\n\r\n\t\tthis.dataPointsForm.addControl(\"items\", this._fb.array(controls));\r\n\t}\r\n\r\n\tprivate initItem(): FormGroup {\r\n\t\treturn this._fb.group({\r\n\t\t\ttroubleshootingInformationId: [0],\r\n\t\t\twhatIsNeeded: ['', Validators.required],\r\n\t\t\twhyItIsNeeded: ['', Validators.required],\r\n\t\t\thowItIsCollected: ['', Validators.required]\r\n\t\t});\r\n\t}\r\n\r\n\tpublic addItem(): void {\r\n\t\tconst items = this.dataPointsForm.get('items') as FormArray;\r\n\t\titems.insert(0, this.initItem());\r\n\t\tthis._items.unshift(new TroubleshootingInformation());\r\n\t}\r\n\r\n\tpublic removeItem(i: number): void {\r\n\t\tlet question = this._items[i];\r\n\t\tconst items = this.dataPointsForm.get('items') as FormArray;\r\n\r\n\t\tif (question && question.troubleshootingInformationId) {\r\n\t\t\tthis._classificationService.deleteDiagnosticItem(question.troubleshootingInformationId)\r\n\t\t\t\t.subscribe(response => {\r\n\t\t\t\t\tthis._items = this._items.filter(x => x != question);\r\n\t\t\t\t\titems.removeAt(i);\r\n\t\t\t\t});\r\n\t\t} else {\r\n\t\t\tthis._items = this._items.filter(x => x != question);\r\n\t\t\titems.removeAt(i);\r\n\t\t}\r\n\t}\r\n\r\n\tpublic confirmRemove(i: number): void {\r\n\t\tthis._modalService.show(ConfirmationDialogComponent, { class: 'modal-lg' })\r\n\t\t\t.content\r\n\t\t\t.onResponseSelected\r\n\t\t\t.subscribe(response => {\r\n\t\t\t\tif (response) {\r\n\t\t\t\t\tthis.removeItem(i);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t}\r\n\r\n\t// needed because of a bug reported back in Angular version 5 that does not cast\r\n\tpublic getControls(key: string): any {\r\n\t\treturn (this.dataPointsForm.controls[key]).controls;\r\n\t}\r\n\r\n\tpublic save(item: FormControl, index: number, apc: AccordionPanelComponent): void {\r\n\t\tthis.hasBeenSubmitted = true;\r\n\r\n\t\tif (this.dataPointsForm.invalid) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tlet troubleShootingInformation = item.value as TroubleshootingInformation;\r\n\r\n\t\tif (troubleShootingInformation.troubleshootingInformationId) {\r\n\t\t\tthis._classificationService.updateDiagnosticItem(troubleShootingInformation)\r\n\t\t\t\t.subscribe(response => {\r\n\t\t\t\t\tthis.hasBeenSubmitted = false;\r\n\r\n\t\t\t\t\titem.patchValue({\r\n\t\t\t\t\t\ttroubleshootingInformationId: response.troubleshootingInformationId,\r\n\t\t\t\t\t\twhatIsNeeded: response.whatIsNeeded,\r\n\t\t\t\t\t\twhyItIsNeeded: response.whyItIsNeeded,\r\n\t\t\t\t\t\thowItIsCollected: response.howItIsCollected\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\tif (this._items[index]) {\r\n\t\t\t\t\t\tthis._items[index] = response;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tapc.isOpen = false;\r\n\t\t\t\t})\r\n\t\t} else {\r\n\t\t\tthis._classificationService.createDiagnosticItem(troubleShootingInformation)\r\n\t\t\t\t.subscribe(response => {\r\n\t\t\t\t\tthis.hasBeenSubmitted = false;\r\n\r\n\t\t\t\t\titem.patchValue({\r\n\t\t\t\t\t\ttroubleshootingInformationId: response.troubleshootingInformationId,\r\n\t\t\t\t\t\twhatIsNeeded: response.whatIsNeeded,\r\n\t\t\t\t\t\twhyItIsNeeded: response.whyItIsNeeded,\r\n\t\t\t\t\t\thowItIsCollected: response.howItIsCollected\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\tif (this._items[index]) {\r\n\t\t\t\t\t\tthis._items[index] = response;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tapc.isOpen = false;\r\n\t\t\t\t})\r\n\t\t}\r\n\t}\r\n\r\n\tpublic resetFormArrayItem(index: number): void {\r\n\t\tlet question = this._items[index];\r\n\r\n\t\tif (question) {\r\n\t\t\t(this.dataPointsForm.controls[\"items\"]).at(index).patchValue({\r\n\t\t\t\ttroubleshootingInformationId: question.troubleshootingInformationId,\r\n\t\t\t\twhatIsNeeded: question.whatIsNeeded,\r\n\t\t\t\twhyItIsNeeded: question.whyItIsNeeded,\r\n\t\t\t\thowItIsCollected: question.howItIsCollected\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tpublic ngOnDestroy(): void {\r\n\t\tthis._subscriptions.unsubscribe();\r\n\t}\r\n\r\n}\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\modules\\\\classification\\\\components\\\\classification-tree-management\\\\classification-tree-management.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \".top-toolbar {\\n top: 56px;\\n background-color: #f4f4f4; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9jbGFzc2lmaWNhdGlvbi9jb21wb25lbnRzL2NsYXNzaWZpY2F0aW9uLXRyZWUtbWFuYWdlbWVudC9DOlxcVXNlcnNcXG1qb3NoaVxcc291cmNlXFxyZXBvc1xcQWxleGFuZHJpYVxcQWxleGFuZHJpYVxcQWxleGFuZHJpYS5XZWJzaXRlXFxDbGllbnRBcHAvc3JjXFxhcHBcXG1vZHVsZXNcXGNsYXNzaWZpY2F0aW9uXFxjb21wb25lbnRzXFxjbGFzc2lmaWNhdGlvbi10cmVlLW1hbmFnZW1lbnRcXGNsYXNzaWZpY2F0aW9uLXRyZWUtbWFuYWdlbWVudC5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNDLFNBQVM7RUFDVCx5QkFBeUIsRUFBQSIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvY2xhc3NpZmljYXRpb24vY29tcG9uZW50cy9jbGFzc2lmaWNhdGlvbi10cmVlLW1hbmFnZW1lbnQvY2xhc3NpZmljYXRpb24tdHJlZS1tYW5hZ2VtZW50LmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLnRvcC10b29sYmFyIHtcclxuXHR0b3A6IDU2cHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogI2Y0ZjRmNDtcclxufVxyXG4iXX0= */\"","import { Component, OnInit, OnDestroy, ViewChild } from '@angular/core';\r\n\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { BsModalService, ModalDirective } from 'ngx-bootstrap';\r\n\r\nimport { ProductEditorComponent } from '../editors/product-editor/product-editor.component';\r\nimport { FunctionEditorComponent } from '../editors/function-editor/function-editor.component';\r\nimport { CommonIssueEditorComponent } from '../editors/common-issue-editor/common-issue-editor.component';\r\n\r\nimport { TreeNode } from '../../models/tree-node.model';\r\nimport { GraphNode } from '../../models/graph-node.model';\r\n\r\nimport { PermissionService } from '../../../../core/services/permissions/permission.service';\r\nimport { ClassificationService } from '../../services/classification/classification.service';\r\nimport { SubmittedGraphNode } from '../../models/submitted-graph-node.model';\r\n\r\n@Component({\r\n\tselector: 'app-classification-tree-management',\r\n\ttemplateUrl: './classification-tree-management.component.pug',\r\n\tstyleUrls: ['./classification-tree-management.component.scss']\r\n})\r\nexport class ClassificationTreeManagementComponent implements OnInit, OnDestroy {\r\n\r\n\t@ViewChild('tree') treeview: any;\r\n\r\n\tpublic selectedNode: GraphNode;\r\n\r\n\tpublic productEnabled: boolean = false;\r\n\r\n\tpublic functionEnabled: boolean = false;\r\n\r\n\tpublic commonIssueEnabled: boolean = false;\r\n\r\n\tpublic canManageClassification: boolean;\r\n\r\n\tpublic deletedNodes: any[] = new Array();\r\n\r\n\tprivate _subscriptions = new Subscription();\r\n\r\n\tconstructor(private _modalService: BsModalService, private _permissionService: PermissionService, private _classificationService: ClassificationService) {\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tthis._subscriptions.add(\r\n\t\t\tthis._permissionService.canManageClassification()\r\n\t\t\t\t.subscribe(response => {\r\n\t\t\t\t\tthis.canManageClassification = response;\r\n\t\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis._subscriptions.unsubscribe();\r\n\t}\r\n\r\n\tprivate bindEditorEvents(editor: any): void {\r\n\t\tthis._subscriptions.add(\r\n\t\t\teditor.nodeCreated.subscribe(node => {\r\n\t\t\t\tthis.onNodeCreated(node);\r\n\t\t\t})\r\n\t\t);\r\n\t\tthis._subscriptions.add(\r\n\t\t\teditor.nodeEdited.subscribe(node => {\r\n\t\t\t\tthis.onNodeEdited(node);\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tprivate checkNodeCreationRules(nodeType: string): void {\r\n\t\tswitch (nodeType) {\r\n\t\t\tcase 'product': {\r\n\t\t\t\tthis.productEnabled = true;\r\n\t\t\t\tthis.functionEnabled = true;\r\n\t\t\t\tthis.commonIssueEnabled = true;\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\r\n\t\t\tcase 'function': {\r\n\t\t\t\tthis.productEnabled = false;\r\n\t\t\t\tthis.functionEnabled = false;\r\n\t\t\t\tthis.commonIssueEnabled = true;\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\r\n\t\t\tcase 'common-issue': {\r\n\t\t\t\tthis.productEnabled = false;\r\n\t\t\t\tthis.functionEnabled = false;\r\n\t\t\t\tthis.commonIssueEnabled = false;\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tprivate getEditor(nodeType: string): any {\r\n\t\tswitch (nodeType) {\r\n\t\t\tcase 'product': {\r\n\t\t\t\treturn ProductEditorComponent;\r\n\t\t\t}\r\n\r\n\t\t\tcase 'function': {\r\n\t\t\t\treturn FunctionEditorComponent;\r\n\t\t\t}\r\n\r\n\t\t\tcase 'common-issue': {\r\n\t\t\t\treturn CommonIssueEditorComponent;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn null;\r\n\t}\r\n\r\n\tprivate showEditor(editor: any, initialState: any): void {\r\n\t\tif (editor) {\r\n\t\t\tlet modalRef = this._modalService.show(editor, { initialState: initialState, class: 'modal-lg' });\r\n\t\t\tthis.bindEditorEvents(modalRef.content);\r\n\t\t}\r\n\t}\r\n\r\n\tprivate onNodeCreated(graphnode: GraphNode): void {\r\n\t\tlet selectednode = this.treeview.tree.selectedNodes[0];\r\n\t\tlet node = new TreeNode();\r\n\t\tObject.assign(node, graphnode);\r\n\t\tnode.hasChildren = (node.id != '-1'),\r\n\t\t\tnode.iconCss = `cea-icon-${node.nodeType}`;\r\n\t\tthis.treeview.tree.addNodes([node], selectednode, null);\r\n\t}\r\n\r\n\tprivate onNodeEdited(graphnode: GraphNode): void {\r\n\t\tthis.treeview.tree.refresh();\r\n\t}\r\n\r\n\tpublic onClassificationNodeSelected(selectedNode: GraphNode): void {\r\n\t\tthis.selectedNode = selectedNode;\r\n\t\tthis.checkNodeCreationRules(selectedNode.nodeType);\r\n\t}\r\n\r\n\tpublic onNewClick(nodeType: string): void {\r\n\t\tif (!this.selectedNode) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (!nodeType) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar editor = this.getEditor(nodeType);\r\n\t\tthis.showEditor(editor, { parentNodeId: this.selectedNode.id });\r\n\t}\r\n\r\n\tpublic onEditClick(): void {\r\n\t\tif (!this.selectedNode) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar editor = this.getEditor(this.selectedNode.nodeType);\r\n\t\tthis.showEditor(editor, { nodeId: this.selectedNode.id });\r\n\t}\r\n\r\n\tpublic onDeleteClick(): void {\r\n\t\tif (!this.selectedNode) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis._subscriptions.add(\r\n\t\t\tthis._classificationService.deleteNode(parseInt(this.selectedNode.id))\r\n\t\t\t\t.subscribe(node => {\r\n\t\t\t\t\tvar selectedNodeNodeId = this.treeview.tree.selectedNodes[0];\r\n\t\t\t\t\tthis.treeview.tree.disableNodes([selectedNodeNodeId]);\r\n\t\t\t\t\tthis.deletedNodes.push(selectedNodeNodeId);\r\n\t\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tpublic onUndoDeleteClick(): void {\r\n\t\tvar nodeToAddBack = this.deletedNodes.pop();\r\n\r\n\t\tthis._classificationService.undeleteNode(parseInt(nodeToAddBack)).subscribe(response => {\r\n\t\t\tthis.treeview.tree.enableNodes([nodeToAddBack]);\r\n\t\t})\r\n\t}\r\n\r\n}\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\modules\\\\classification\\\\components\\\\classification-tree\\\\classification-tree.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \"@font-face {\\n font-family: 'alexandria';\\n src: url('alexandria.ttf') format(\\\"truetype\\\"); }\\n\\n[class^=\\\"cea-icon-\\\"]:before,\\n[class*=\\\"cea-icon-\\\"]:before {\\n font-family: 'alexandria';\\n font-style: normal;\\n font-size: 20px;\\n line-height: 1.2;\\n speak: none;\\n font-weight: normal;\\n -webkit-font-smoothing: antialiased;\\n font-smoothing: antialiased;\\n text-rendering: optimizeLegibility; }\\n\\n.cea-icon-product:before {\\n content: \\\"\\\\0032\\\";\\n color: #449cc2; }\\n\\n.cea-icon-function:before {\\n content: \\\"\\\\0034\\\";\\n color: #000624; }\\n\\n.cea-icon-common-issue:before {\\n content: \\\"\\\\0036\\\";\\n color: #666666; }\\n\\n.cea-icon-plus:before {\\n content: \\\"\\\\0037\\\"; }\\n\\n.cea-icon-minus:before {\\n content: \\\"\\\\0038\\\"; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9jbGFzc2lmaWNhdGlvbi9jb21wb25lbnRzL2NsYXNzaWZpY2F0aW9uLXRyZWUvQzpcXFVzZXJzXFxtam9zaGlcXHNvdXJjZVxccmVwb3NcXEFsZXhhbmRyaWFcXEFsZXhhbmRyaWFcXEFsZXhhbmRyaWEuV2Vic2l0ZVxcQ2xpZW50QXBwL3NyY1xcYXBwXFxtb2R1bGVzXFxjbGFzc2lmaWNhdGlvblxcY29tcG9uZW50c1xcY2xhc3NpZmljYXRpb24tdHJlZVxcY2xhc3NpZmljYXRpb24tdHJlZS5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvbW9kdWxlcy9jbGFzc2lmaWNhdGlvbi9jb21wb25lbnRzL2NsYXNzaWZpY2F0aW9uLXRyZWUvY2xhc3NpZmljYXRpb24tdHJlZS5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNDLHlCQUF5QjtFQUN6Qiw2Q0FBbUUsRUFBQTs7QUNFcEU7O0VER0MseUJBQXlCO0VBQ3pCLGtCQUFrQjtFQUNsQixlQUFlO0VBQ2YsZ0JBQWdCO0VBQ2hCLFdBQVc7RUFDWCxtQkFBbUI7RUFDbkIsbUNBQW1DO0VBQ25DLDJCQUEyQjtFQUMzQixrQ0FBa0MsRUFBQTs7QUFHbkM7RUFDQyxnQkFBZ0I7RUFDaEIsY0FBYyxFQUFBOztBQUdmO0VBQ0MsZ0JBQWdCO0VBQ2hCLGNBQWMsRUFBQTs7QUFHZjtFQUNDLGdCQUFnQjtFQUNoQixjQUFjLEVBQUE7O0FBR2Y7RUFDQyxnQkFBZ0IsRUFBQTs7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQSIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvY2xhc3NpZmljYXRpb24vY29tcG9uZW50cy9jbGFzc2lmaWNhdGlvbi10cmVlL2NsYXNzaWZpY2F0aW9uLXRyZWUuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAZm9udC1mYWNlIHtcclxuXHRmb250LWZhbWlseTogJ2FsZXhhbmRyaWEnO1xyXG5cdHNyYzogdXJsKCcuLi8uLi8uLi8uLi8uLi9hc3NldHMvYWxleGFuZHJpYS50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XHJcbn1cclxuXHJcbltjbGFzc149XCJjZWEtaWNvbi1cIl06YmVmb3JlLFxyXG5bY2xhc3MqPVwiY2VhLWljb24tXCJdOmJlZm9yZSB7XHJcblx0Zm9udC1mYW1pbHk6ICdhbGV4YW5kcmlhJztcclxuXHRmb250LXN0eWxlOiBub3JtYWw7XHJcblx0Zm9udC1zaXplOiAyMHB4O1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjI7XHJcblx0c3BlYWs6IG5vbmU7XHJcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuXHQtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxuXHRmb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcblx0dGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcclxufVxyXG5cclxuLmNlYS1pY29uLXByb2R1Y3Q6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcMDAzMlwiO1xyXG5cdGNvbG9yOiAjNDQ5Y2MyO1xyXG59XHJcblxyXG4uY2VhLWljb24tZnVuY3Rpb246YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcMDAzNFwiO1xyXG5cdGNvbG9yOiAjMDAwNjI0O1xyXG59XHJcblxyXG4uY2VhLWljb24tY29tbW9uLWlzc3VlOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXDAwMzZcIjtcclxuXHRjb2xvcjogIzY2NjY2NjtcclxufVxyXG5cclxuLmNlYS1pY29uLXBsdXM6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcMDAzN1wiO1xyXG59XHJcblxyXG4uY2VhLWljb24tbWludXM6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcMDAzOFwiO1xyXG59XHJcbiIsIkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ2FsZXhhbmRyaWEnO1xuICBzcmM6IHVybChcIi4uLy4uLy4uLy4uLy4uL2Fzc2V0cy9hbGV4YW5kcmlhLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5bY2xhc3NePVwiY2VhLWljb24tXCJdOmJlZm9yZSxcbltjbGFzcyo9XCJjZWEtaWNvbi1cIl06YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6ICdhbGV4YW5kcmlhJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIHNwZWFrOiBub25lO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5OyB9XG5cbi5jZWEtaWNvbi1wcm9kdWN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwwMDMyXCI7XG4gIGNvbG9yOiAjNDQ5Y2MyOyB9XG5cbi5jZWEtaWNvbi1mdW5jdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMDAzNFwiO1xuICBjb2xvcjogIzAwMDYyNDsgfVxuXG4uY2VhLWljb24tY29tbW9uLWlzc3VlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwwMDM2XCI7XG4gIGNvbG9yOiAjNjY2NjY2OyB9XG5cbi5jZWEtaWNvbi1wbHVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwwMDM3XCI7IH1cblxuLmNlYS1pY29uLW1pbnVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwwMDM4XCI7IH1cbiJdfQ== */\"","import { Component, OnInit, ViewEncapsulation, ViewChild, forwardRef, Input, Output, EventEmitter } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\nimport { Observable, from, forkJoin } from 'rxjs';\r\nimport { map, flatMap, tap, switchMap } from 'rxjs/operators';\r\n\r\nimport { DataManager, ODataV4Adaptor, Query } from '@syncfusion/ej2-data';\r\nimport { TreeViewComponent, NodeSelectEventArgs, DragAndDropEventArgs } from '@syncfusion/ej2-angular-navigations';\r\n\r\nimport { ClassificationService } from '../../services/classification/classification.service';\r\nimport { ClassificationSelectionService } from '../../services/classification-selection/classification-selection.service';\r\nimport { AuthService } from '../../../../core/services/auth/auth.service';\r\n\r\nimport { TreeNode } from '../../models/tree-node.model';\r\nimport { GraphNode } from '../../models/graph-node.model';\r\nimport { SubmittedGraphNode } from '../../models/submitted-graph-node.model';\r\n\r\nvar noOp = () => { };\r\n\r\nexport const TREE_EDITOR_VALUE_ACCESSOR: any = {\r\n\tprovide: NG_VALUE_ACCESSOR,\r\n\tuseExisting: forwardRef(() => ClassificationTreeComponent),\r\n\tmulti: true,\r\n};\r\n\r\nexport class ClassificationAdapter extends ODataV4Adaptor {\r\n\r\n\tpublic processResponse(): Object {\r\n\t\tlet original: GraphNode[] = super.processResponse.apply(this, arguments);\r\n\r\n\t\tlet nodes = original\r\n\t\t\t.map((node: GraphNode) => {\r\n\t\t\t\treturn {\r\n\t\t\t\t\t// specific to GraphNode\r\n\t\t\t\t\tid: node.id,\r\n\t\t\t\t\tnodeType: node.nodeType,\r\n\t\t\t\t\tparentId: node.parentId,\r\n\t\t\t\t\ttitle: node.title,\r\n\t\t\t\t\tchildren: node.children,\r\n\t\t\t\t\tteam: node.team,\r\n\t\t\t\t\tescalationAlias: node.escalationAlias,\r\n\t\t\t\t\ttroubleshootingInformationIds: node.troubleshootingInformationIds,\r\n\t\t\t\t\ttags: node.tags,\r\n\t\t\t\t\tviewOrder: node.viewOrder,\r\n\t\t\t\t\t// specific to TreeNode\r\n\t\t\t\t\thasChildren: (node.id != '-1'),\t\t// articles have id of -1\r\n\t\t\t\t\ticonCss: `cea-icon-${node.nodeType}`\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\treturn nodes;\r\n\t}\r\n\r\n}\r\n\r\n@Component({\r\n\tselector: 'app-classification-tree',\r\n\ttemplateUrl: './classification-tree.component.pug',\r\n\tencapsulation: ViewEncapsulation.None,\r\n\tstyleUrls: ['./classification-tree.component.scss'],\r\n\tproviders: [TREE_EDITOR_VALUE_ACCESSOR]\r\n})\r\nexport class ClassificationTreeComponent implements OnInit {\r\n\r\n\tprivate _data: DataManager;\r\n\r\n\tprivate _query: Query = new Query().select('id, parentId, title, nodeType, viewOrder').sortBy('viewOrder');\r\n\r\n\tprivate _nodesToExpand: Array;\r\n\r\n\tprivate _selectedNodeId: string;\r\n\r\n\tpublic field: Object;\r\n\r\n\t@Input()\r\n\tpublic showArticles: boolean = false;\r\n\r\n\t@Input()\r\n\tpublic allowReordering: boolean = false;\r\n\r\n\t@ViewChild('tree')\r\n\tpublic tree: TreeViewComponent;\r\n\r\n\t@Output()\r\n\tisLoaded: boolean = false;\r\n\r\n\t@Output()\r\n\tloaded = new EventEmitter();\r\n\r\n\t@Output()\r\n\tnodeSelected = new EventEmitter();\r\n\r\n\tprivate onTouchedCallback: () => void = noOp;\r\n\r\n\tprivate onChangeCallback: (_: any) => void = noOp;\r\n\r\n\tprivate _originalViewOrder: number;\r\n\r\n\tconstructor(private _classificationService: ClassificationService, private _nodeSelectedService: ClassificationSelectionService, private _authService: AuthService) { }\r\n\r\n\tngOnInit() {\r\n\t\tthis._data = new DataManager({\r\n\t\t\turl: \"odata/classification\",\r\n\t\t\tadaptor: new ClassificationAdapter,\r\n\t\t\theaders: [{ 'Authorization': this._authService.getAuthorizationHeaderValue() }]\r\n\t\t});\r\n\r\n\t\tthis.field = { dataSource: this._data, query: this._query, text: 'title' };\r\n\r\n\t\tif (this.showArticles) {\r\n\t\t\tthis._query.addParams(\"includeArticles\", `${this.showArticles}`);\r\n\t\t}\r\n\r\n\t\t// listening to databound prevents any race condition that may occur between when the value is set and when the data is loaded\r\n\t\tthis.tree.dataBound\r\n\t\t\t.subscribe(data => {\r\n\t\t\t\t// tried to find a boolean on tree for isLoaded, but nothing is present that is a simple boolean\r\n\t\t\t\tthis.isLoaded = true;\r\n\t\t\t\tthis.loaded.emit(this.isLoaded);\r\n\r\n\t\t\t\tthis.autoExpandNodes();\r\n\t\t\t});\r\n\t}\r\n\r\n\tpublic onNodeSelected(selectEventArgs: any): void {\r\n\t\tif (this.tree.selectedNodes.length == 1) {\r\n\t\t\tlet selectedNode = selectEventArgs.nodeData;\r\n\r\n\t\t\tthis.onChangeCallback(selectedNode.id);\r\n\r\n\t\t\tthis.getOriginalNode(selectedNode.id)\r\n\t\t\t\t.subscribe(node => {\r\n\t\t\t\t\tif (node) {\r\n\t\t\t\t\t\tthis.nodeSelected.emit(node);\r\n\t\t\t\t\t\tthis._nodeSelectedService.setNode(node);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t}\r\n\t\telse {\r\n\t\t\tthis.onChangeCallback(null);\r\n\t\t\tthis.nodeSelected.emit(null);\r\n\t\t\tthis._nodeSelectedService.clearNode();\r\n\t\t}\r\n\t}\r\n\r\n\tpublic onNodeExpanded(e): void {\r\n\t\tthis.autoExpandNodes();\r\n\t\t// this needs to be set on every node expand since we load the data on the fly\r\n\t\t// when i set selected nodes on init, the data would not remain selected presumably because the node id didn't exist\r\n\t\tthis.tree.selectedNodes = [this._selectedNodeId];\r\n\t}\r\n\r\n\tpublic writeValue(value: any): void {\r\n\t\tconst selectedNodeId = (this.tree.selectedNodes ? this.tree.selectedNodes[0] : null);\r\n\t\tif (value && value != selectedNodeId) {\r\n\t\t\tthis._selectedNodeId = value;\r\n\t\t\tthis.tree.selectedNodes = [this._selectedNodeId];\r\n\t\t\tthis.getNodesToExpand(value);\r\n\t\t}\r\n\t}\r\n\r\n\tpublic onCheckDrop(args: DragAndDropEventArgs): void {\r\n\t\t// based on reviewing syncfusion treeview code, the following logic can be used to determine\r\n\t\t// if we are hovering before or after a given DROP node.\r\n\r\n\t\t// the business rules we are trying to apply is that nodes can only be dragged around to change\r\n\t\t// order WITHIN a given branch. Nodes CANNOT be moved up or down the tree.\r\n\r\n\t\tlet allowDrop = false;\r\n\t\tlet dropBefore = false;\r\n\t\tlet dropAfter = false;\r\n\r\n\t\t// do we have drop target or are we in that in between world...\r\n\t\tif (args.droppedNodeData) {\r\n\t\t\t// AND is it a drop target within the same branch\r\n\t\t\tif (args.droppedNodeData.parentID === args.draggedNodeData.parentID) {\r\n\t\t\t\t// AND it is not ourselves\r\n\t\t\t\tif (args.droppedNodeData.id !== args.draggedNodeData.id) {\r\n\t\t\t\t\t// AND is it before or after the drop node instead of on top of it\r\n\t\t\t\t\tif (args.event.offsetY < 7) {\r\n\t\t\t\t\t\tallowDrop = dropBefore = true;\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse if (args.target.offsetHeight > 0 && args.event.offsetY > (args.target.offsetHeight - 10)) {\r\n\t\t\t\t\t\tallowDrop = dropAfter = true;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (!allowDrop) {\r\n\t\t\t// need to go looking for the element so we can change the drop icon\r\n\t\t\tlet draggingItem = document.getElementsByClassName('e-drop-in');\r\n\r\n\t\t\tif (!draggingItem.length) {\r\n\t\t\t\tdraggingItem = document.getElementsByClassName('e-drop-out');\r\n\t\t\t}\r\n\r\n\t\t\tif (!draggingItem.length) {\r\n\t\t\t\tdraggingItem = document.getElementsByClassName('e-drop-next');\r\n\t\t\t}\r\n\r\n\t\t\tif (draggingItem.length) {\r\n\t\t\t\tdraggingItem[0].classList.add('e-no-drop');\r\n\t\t\t}\r\n\r\n\t\t\targs.cancel = true;\r\n\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif ((args as any).name === 'nodeDragStop') {\r\n\t\t\t// because Syncfusion did not implement native Angular events backed by Observables, we cannot\r\n\t\t\t// chain together the AJAX calls to delay the tree from moving the node when the AJAX calls\r\n\t\t\t// are complete. So instead we need to cancel it and then perform the move ourselves at the\r\n\t\t\t// appropriate time.\r\n\r\n\t\t\targs.cancel = true;\r\n\r\n\t\t\tforkJoin(\r\n\t\t\t\tthis.calculateNewNodeIndex(args.draggedNodeData, args.droppedNodeData, dropBefore),\r\n\t\t\t\tthis.getOriginalNode((args.draggedNodeData as any).id)\r\n\t\t\t\t\t.pipe(\r\n\t\t\t\t\t\tmap((node: GraphNode) => {\r\n\t\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t\tid: +node.id,\r\n\t\t\t\t\t\t\t\ttitle: node.title,\r\n\t\t\t\t\t\t\t\tnodeType: node.nodeType,\r\n\t\t\t\t\t\t\t\tparentId: +node.parentId,\r\n\t\t\t\t\t\t\t\ttags: node.tags,\r\n\t\t\t\t\t\t\t\tteam: node.team,\r\n\t\t\t\t\t\t\t\tescalationAlias: node.escalationAlias,\r\n\t\t\t\t\t\t\t\tviewOrder: node.viewOrder\r\n\t\t\t\t\t\t\t} as SubmittedGraphNode\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t)\r\n\t\t\t)\r\n\t\t\t\t.pipe(\r\n\t\t\t\t\tswitchMap(result => {\r\n\t\t\t\t\t\tthis._originalViewOrder = result[1].viewOrder;\r\n\t\t\t\t\t\tresult[1].viewOrder = result[0];\r\n\r\n\t\t\t\t\t\treturn this._classificationService.moveNode(result[1]);\r\n\t\t\t\t\t})\r\n\t\t\t\t)\r\n\t\t\t\t.subscribe(result => {\r\n\t\t\t\t\t// Because the Tree is applying the index AFTER removing it from the DOM, the index\r\n\t\t\t\t\t// may need to be shifted to properly place it\r\n\t\t\t\t\tlet newViewOrder = result.viewOrder;\r\n\t\t\t\t\tif (newViewOrder < this._originalViewOrder) {\r\n\t\t\t\t\t\tnewViewOrder--;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tthis.tree.moveNodes([`${args.draggedNodeData.id}`], `${args.draggedNodeData.parentID}`, newViewOrder);\r\n\t\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tprivate getOriginalNode(id: string): Observable {\r\n\t\t// Because of a limitation with Syncfusion, we are unable to retrieve the original object when selected.\r\n\t\t// This is causing us (for now) to reach into the DataManager to get what we need (the *type* of node\r\n\t\t// selected) which in turn is making an oData call back to the server.\r\n\t\treturn from(this._data.executeQuery(new Query().where('id', 'equal', +(id)).take(1)))\r\n\t\t\t.pipe(\r\n\t\t\t\tmap((data: any) => {\r\n\t\t\t\t\tvar node: TreeNode = (data.result ? data.result[0] : null);\r\n\r\n\t\t\t\t\treturn node;\r\n\t\t\t\t})\r\n\t\t\t);\r\n\t}\r\n\r\n\tprivate getOriginalChildNodes(parentId: string): Observable> {\r\n\t\t// Because of a limitation with Syncfusion, we are unable to retrieve the original object when selected.\r\n\t\t// This is causing us (for now) to reach into the DataManager to get what we need (the *type* of node\r\n\t\t// selected) which in turn is making an oData call back to the server.\r\n\t\treturn from(this._data.executeQuery(new Query().where('parentId', 'equal', +(parentId))))\r\n\t\t\t.pipe(\r\n\t\t\t\tmap((data: any) => {\r\n\t\t\t\t\tvar nodes: Array = data.result;\r\n\r\n\t\t\t\t\treturn nodes;\r\n\t\t\t\t})\r\n\t\t\t);\r\n\t}\r\n\r\n\tprivate calculateNewNodeIndex(sourceNode: any, targetNode: any, targetBefore: boolean): Observable {\r\n\t\tif (!sourceNode) {\r\n\t\t\tthrow new Error('sourceNode is required parameter');\r\n\t\t}\r\n\r\n\t\tif (!targetNode) {\r\n\t\t\tthrow new Error('targetNode is required parameter');\r\n\t\t}\r\n\r\n\t\treturn this.getOriginalChildNodes(targetNode.parentID)\r\n\t\t\t.pipe(\r\n\t\t\t\tmap(children => {\r\n\t\t\t\t\tlet sourceIndex: number = children.findIndex(n => +(n.id) === +(sourceNode.id));\r\n\t\t\t\t\tlet targetIndex: number = children.findIndex(n => +(n.id) === +(targetNode.id));\r\n\r\n\t\t\t\t\t// viewing order starts at element 1 while arrays start at 0\r\n\t\t\t\t\tsourceIndex += 1;\r\n\t\t\t\t\ttargetIndex += 1;\r\n\r\n\t\t\t\t\t// most times we should just be able to set the target index to the index of the target node\r\n\t\t\t\t\t// ...but sometimes, depending on what direction we are moving the node, we need to shift it by 1\r\n\t\t\t\t\tlet newIndex: number = targetIndex;\r\n\r\n\t\t\t\t\tif (sourceIndex < targetIndex && targetBefore) {\r\n\t\t\t\t\t\t// moving down further down but before target\r\n\t\t\t\t\t\tnewIndex--;\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse if (sourceIndex > targetIndex && !targetBefore) {\r\n\t\t\t\t\t\t// moving node further up but after target\r\n\t\t\t\t\t\tnewIndex++;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\treturn newIndex;\r\n\t\t\t\t})\r\n\t\t\t);\r\n\t}\r\n\r\n\tprivate getNodesToExpand(id: string) {\r\n\t\tthis._classificationService.getParentHierarchy(id).subscribe(\r\n\t\t\tresults => {\r\n\t\t\t\tif (results) {\r\n\t\t\t\t\tthis._nodesToExpand = results.map(r => r.id.toString());\r\n\r\n\t\t\t\t\tthis.autoExpandNodes();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t}\r\n\r\n\t// expands all of the nodes on that have been pushed on the to expand stack\r\n\tprivate autoExpandNodes(): void {\r\n\t\t// if the tree hasn't loaded yet, don't worry about trying to expand since nothing can expand\r\n\t\tif (!this.isLoaded) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (this._nodesToExpand && !!this._nodesToExpand.length) {\r\n\t\t\tlet nodeId = this._nodesToExpand.shift();\r\n\r\n\t\t\t// this is to prevent parent node from expanding if the parent node is the selected node.\r\n\t\t\t// i assume we want to stop loading at the selected node and not load up it's children unnecessarily\r\n\t\t\tif (nodeId && this._selectedNodeId != nodeId) {\r\n\t\t\t\tthis.tree.expandAll([nodeId]);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tpublic registerOnChange(fn: any): void {\r\n\t\tthis.onChangeCallback = fn;\r\n\t}\r\n\r\n\tpublic registerOnTouched(fn: any): void {\r\n\t\tthis.onTouchedCallback = fn;\r\n\t}\r\n\r\n}\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\modules\\\\classification\\\\components\\\\editors\\\\common-issue-editor\\\\common-issue-editor.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \".listview {\\n display: block;\\n max-height: 20rem;\\n overflow: auto;\\n margin: auto;\\n border: 1px solid #dddddd;\\n border-radius: 3px; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9jbGFzc2lmaWNhdGlvbi9jb21wb25lbnRzL2VkaXRvcnMvY29tbW9uLWlzc3VlLWVkaXRvci9DOlxcVXNlcnNcXG1qb3NoaVxcc291cmNlXFxyZXBvc1xcQWxleGFuZHJpYVxcQWxleGFuZHJpYVxcQWxleGFuZHJpYS5XZWJzaXRlXFxDbGllbnRBcHAvc3JjXFxhcHBcXG1vZHVsZXNcXGNsYXNzaWZpY2F0aW9uXFxjb21wb25lbnRzXFxlZGl0b3JzXFxjb21tb24taXNzdWUtZWRpdG9yXFxjb21tb24taXNzdWUtZWRpdG9yLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0MsY0FBYztFQUNkLGlCQUFpQjtFQUNqQixjQUFjO0VBQ2QsWUFBWTtFQUNaLHlCQUF5QjtFQUN6QixrQkFBa0IsRUFBQSIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvY2xhc3NpZmljYXRpb24vY29tcG9uZW50cy9lZGl0b3JzL2NvbW1vbi1pc3N1ZS1lZGl0b3IvY29tbW9uLWlzc3VlLWVkaXRvci5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5saXN0dmlldyB7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0bWF4LWhlaWdodDogMjByZW07XHJcblx0b3ZlcmZsb3c6IGF1dG87XHJcblx0bWFyZ2luOiBhdXRvO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkICNkZGRkZGQ7XHJcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xyXG59XHJcbiJdfQ== */\"","import { Component, ViewChild, OnInit, Input, OnDestroy, EventEmitter, Output } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators, FormArray, ValidatorFn } from '@angular/forms';\r\n\r\nimport { Subscription, forkJoin } from 'rxjs';\r\nimport { finalize } from 'rxjs/operators';\r\n\r\nimport { BsModalRef } from 'ngx-bootstrap';\r\n\r\nimport { ClassificationService } from '../../../services/classification/classification.service';\r\nimport { RolesService } from '../../../../../core/services/roles/roles.service';\r\n\r\nimport { GraphNode } from '../../../models/graph-node.model';\r\nimport { SubmittedGraphNode } from '../../../models/submitted-graph-node.model';\r\nimport { Role } from '../../../../../core/models/roles/role.model';\r\nimport { TroubleshootingInformation } from '../../../models/troubleshooting-information.model';\r\n\r\n@Component({\r\n\tselector: 'app-common-issue-editor',\r\n\ttemplateUrl: './common-issue-editor.component.pug',\r\n\tstyleUrls: ['./common-issue-editor.component.scss']\r\n})\r\nexport class CommonIssueEditorComponent implements OnInit, OnDestroy {\r\n\r\n\t@Input()\r\n\tpublic nodeId: number;\r\n\r\n\t@Input()\r\n\tpublic parentNodeId: number;\r\n\r\n\t@Input()\r\n\tpublic title: string;\r\n\r\n\t@ViewChild('listview') listview: any;\r\n\r\n\t@Output()\r\n\tpublic nodeCreated = new EventEmitter();\r\n\r\n\t@Output()\r\n\tpublic nodeEdited = new EventEmitter();\r\n\r\n\tpublic node: GraphNode;\r\n\r\n\tpublic nodeForm: FormGroup;\r\n\r\n\tpublic hasBeenSubmitted: boolean;\r\n\r\n\tpublic isCollapsed: boolean = true;\r\n\r\n\tpublic troubleshootingInfo = new Array();\r\n\r\n\tpublic teams = new Array();\r\n\r\n\tpublic diagnostics = new Array();\r\n\r\n\tpublic fields: Object = { id: 'id', isChecked: 'isChecked' };\r\n\r\n\tprivate _subscriptions = new Subscription();\r\n\r\n\tconstructor(private _bsModalRef: BsModalRef, private _fb: FormBuilder, private _classificationService: ClassificationService, private _rolesService: RolesService) {\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tthis._subscriptions.add(\r\n\t\t\tforkJoin(\r\n\t\t\t\tthis._rolesService.getTeams(),\r\n\t\t\t\tthis._classificationService.getDiagnosticItems()\r\n\t\t\t)\r\n\t\t\t\t.subscribe(response => {\r\n\t\t\t\t\tthis.teams = response[0].sort((left, right): number => { return (left.name > right.name) ? 1 : ((right.name > left.name) ? -1 : 0); });\r\n\t\t\t\t\tthis.troubleshootingInfo = response[1];\r\n\r\n\t\t\t\t\tthis.createForm();\r\n\r\n\t\t\t\t\tif (this.nodeId) {\r\n\t\t\t\t\t\tthis.loadNode();\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tthis.node = new GraphNode();\r\n\t\t\t\t\t\tthis.setDiagnosticControl();\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (!!this.title) {\r\n\t\t\t\t\t\t// the update method makes calls against all of these items, even though we are only supplying a title\r\n\t\t\t\t\t\t// if we want to use the updateFormFromModel method we need to make sure they are there or we'll throw an exception\r\n\t\t\t\t\t\tthis.node.title = this.title;\r\n\t\t\t\t\t\tthis.node.tags = [];\r\n\t\t\t\t\t\tthis.node.id = null;\r\n\t\t\t\t\t\tthis.node.escalationAlias = null;\r\n\t\t\t\t\t\tthis.node.team = null;\r\n\r\n\t\t\t\t\t\tthis.updateFormFromModel();\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis._subscriptions.unsubscribe();\r\n\t}\r\n\r\n\tprivate loadNode(): void {\r\n\t\tthis._subscriptions.add(\r\n\t\t\tthis._classificationService.getNode(this.nodeId)\r\n\t\t\t\t.subscribe(response => {\r\n\t\t\t\t\tif (response && response.value) {\r\n\t\t\t\t\t\tif (!response.value.length) {\r\n\t\t\t\t\t\t\tthrow new Error(`Unable to retrieve Classification Node '${this.nodeId}'.`);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse if (response.value.length > 1) {\r\n\t\t\t\t\t\t\t// this is odd...\r\n\t\t\t\t\t\t\tthrow new Error(`More than one result for Classification Node '${this.nodeId}'. This should not be possible.`);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\tthis.node = response.value[0];\r\n\r\n\t\t\t\t\t\t\tthis.updateFormFromModel();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tprivate createForm(): void {\r\n\t\tthis.nodeForm = this._fb.group({\r\n\t\t\tid: [''],\r\n\t\t\ttitle: ['', [Validators.required, Validators.minLength(3), Validators.maxLength(150)]],\r\n\t\t\tisInternal: [false],\r\n\t\t\tisECC: [false],\r\n\t\t\tteam: ['', [Validators.required]],\r\n\t\t\tescalationAlias: ['']\r\n\t\t});\r\n\t}\r\n\r\n\tprivate setDiagnosticControl(): void {\r\n\t\tfor (let diag of this.troubleshootingInfo) {\r\n\t\t\tlet checked = false;\r\n\r\n\t\t\tif (this.node.id) {\r\n\t\t\t\tchecked = this.node.troubleshootingInformationIds.some(r => r == diag.troubleshootingInformationId);\r\n\t\t\t}\r\n\r\n\t\t\tlet item = { id: diag.troubleshootingInformationId, text: diag.whatIsNeeded, isChecked: checked };\r\n\t\t\tthis.diagnostics.push(item);\r\n\t\t}\r\n\t}\r\n\r\n\tprivate getModelFromForm(): SubmittedGraphNode {\r\n\t\tlet node = new SubmittedGraphNode();\r\n\r\n\t\tlet values = this.nodeForm.value;\r\n\r\n\t\tnode.id = (values.id ? values.id : null);\r\n\t\tnode.parentId = this.parentNodeId;\r\n\r\n\t\tnode.nodeType = 'common-issue';\r\n\r\n\t\tnode.title = values.title;\r\n\r\n\t\tnode.tags = new Array();\r\n\r\n\t\tnode.tags.push('Common Issue');\r\n\r\n\t\tif (values.isInternal) {\r\n\t\t\tnode.tags.push('Private');\r\n\t\t}\r\n\t\telse {\r\n\t\t\tnode.tags.push('Public');\r\n\t\t}\r\n\r\n\t\tif (values.isECC) {\r\n\t\t\tnode.tags.push('ECC');\r\n\t\t}\r\n\r\n\t\tnode.team = values.team;\r\n\t\tnode.escalationAlias = values.escalationAlias;\r\n\r\n\t\tnode.troubleshootingIds = new Array();\r\n\t\tlet selecteditems = this.listview.getSelectedItems();\r\n\t\tif (selecteditems.data.length > 0) {\r\n\t\t\tselecteditems.data.forEach(function (item) {\r\n\t\t\t\tnode.troubleshootingIds.push(item.id);\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\treturn node;\r\n\t}\r\n\r\n\tprivate updateFormFromModel(): void {\r\n\t\tlet node = this.node;\r\n\r\n\t\tif (!node) {\r\n\t\t\tnode = new GraphNode();\r\n\t\t}\r\n\r\n\t\tlet isInternal = node.tags.map(t => t.toLowerCase()).includes('private');\r\n\t\tlet isEcc = this.node.tags.map(t => t.toLowerCase()).includes('ecc');\r\n\r\n\t\tthis.setDiagnosticControl();\r\n\r\n\t\tthis.nodeForm.setValue({\r\n\t\t\tid: this.node.id,\r\n\t\t\ttitle: this.node.title,\r\n\t\t\tisInternal: isInternal,\r\n\t\t\tisECC: isEcc,\r\n\t\t\tteam: this.node.team,\r\n\t\t\tescalationAlias: this.node.escalationAlias\r\n\t\t});\r\n\t}\r\n\r\n\tpublic get versionControls(): FormArray {\r\n\t\treturn this.nodeForm.get('versions') as FormArray;\r\n\t}\r\n\r\n\tpublic close() {\r\n\t\tthis._bsModalRef.hide();\r\n\t}\r\n\r\n\tpublic submit() {\r\n\t\tthis.hasBeenSubmitted = true;\r\n\r\n\t\tif (this.nodeForm.invalid) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tlet node = this.getModelFromForm();\r\n\r\n\t\tthis.nodeForm.disable();\r\n\r\n\t\tthis._subscriptions.add(\r\n\t\t\tthis._classificationService.saveNode(node)\r\n\t\t\t\t.pipe(\r\n\t\t\t\t\tfinalize(() => {\r\n\t\t\t\t\t\tthis.nodeForm.enable();\r\n\t\t\t\t\t})\r\n\t\t\t\t)\r\n\t\t\t\t.subscribe(response => {\r\n\t\t\t\t\tif (!this.node.id) {\r\n\t\t\t\t\t\tthis.nodeCreated.emit(response);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tthis.nodeEdited.emit(response);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthis.close();\r\n\t\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n}\r\n\r\nfunction minSelected(min = 1) {\r\n\tconst validator: ValidatorFn = (formArray: FormArray) => {\r\n\t\tconst totalSelected = formArray.controls\r\n\t\t\t.map(control => control.value)\r\n\t\t\t.reduce((prev, next) => next ? prev + next : prev, 0);\r\n\r\n\t\treturn totalSelected >= min ? null : { required: true };\r\n\t};\r\n\r\n\treturn validator;\r\n}\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\modules\\\\classification\\\\components\\\\editors\\\\function-editor\\\\function-editor.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvY2xhc3NpZmljYXRpb24vY29tcG9uZW50cy9lZGl0b3JzL2Z1bmN0aW9uLWVkaXRvci9mdW5jdGlvbi1lZGl0b3IuY29tcG9uZW50LnNjc3MifQ== */\"","import { Component, OnInit, Input, OnDestroy, EventEmitter, Output } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators, FormArray, ValidatorFn } from '@angular/forms';\r\n\r\nimport { Subscription } from 'rxjs';\r\nimport { finalize } from 'rxjs/operators';\r\n\r\nimport { BsModalRef } from 'ngx-bootstrap';\r\n\r\nimport { ClassificationService } from '../../../services/classification/classification.service';\r\n\r\nimport { GraphNode } from '../../../models/graph-node.model';\r\nimport { SubmittedGraphNode } from '../../../models/submitted-graph-node.model';\r\n\r\n@Component({\r\n\tselector: 'app-function-editor',\r\n\ttemplateUrl: './function-editor.component.pug',\r\n\tstyleUrls: ['./function-editor.component.scss']\r\n})\r\nexport class FunctionEditorComponent implements OnInit, OnDestroy {\r\n\r\n\t@Input()\r\n\tpublic nodeId: number;\r\n\r\n\t@Input()\r\n\tpublic parentNodeId: number;\r\n\r\n\t@Output()\r\n\tpublic nodeCreated = new EventEmitter();\r\n\r\n\t@Output()\r\n\tpublic nodeEdited = new EventEmitter();\r\n\r\n\tpublic node: GraphNode;\r\n\r\n\tpublic nodeForm: FormGroup;\r\n\r\n\tpublic hasBeenSubmitted: boolean;\r\n\r\n\tpublic isCollapsed: boolean = true;\r\n\r\n\tprivate _subscriptions = new Subscription();\r\n\r\n\tconstructor(private _bsModalRef: BsModalRef, private _fb: FormBuilder, private _classificationService: ClassificationService) {\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tthis.createForm();\r\n\r\n\t\tif (this.nodeId) {\r\n\t\t\tthis.loadNode();\r\n\t\t}\r\n\t\telse {\r\n\t\t\tthis.node = new GraphNode();\r\n\t\t}\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis._subscriptions.unsubscribe();\r\n\t}\r\n\r\n\tprivate loadNode(): void {\r\n\t\tthis._subscriptions.add(\r\n\t\t\tthis._classificationService.getNode(this.nodeId)\r\n\t\t\t\t.subscribe(response => {\r\n\t\t\t\t\tif (response && response.value) {\r\n\t\t\t\t\t\tif (!response.value.length) {\r\n\t\t\t\t\t\t\tthrow new Error(`Unable to retrieve Classification Node '${this.nodeId}'.`);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse if (response.value.length > 1) {\r\n\t\t\t\t\t\t\t// this is odd...\r\n\t\t\t\t\t\t\tthrow new Error(`More than one result for Classification Node '${this.nodeId}'. This should not be possible.`);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\tthis.node = response.value[0];\r\n\r\n\t\t\t\t\t\t\tthis.updateFormFromModel();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tprivate createForm(): void {\r\n\t\tthis.nodeForm = this._fb.group({\r\n\t\t\tid: [''],\r\n\t\t\ttitle: ['', [Validators.required, Validators.minLength(3), Validators.maxLength(150)]],\r\n\t\t\tisInternal: [false],\r\n\t\t\tisSaas: [false],\r\n\t\t\tmaturityLevel: [''],\r\n\t\t\tfeedbackPrompt: [false]\r\n\t\t});\r\n\t}\r\n\r\n\tprivate getModelFromForm(): SubmittedGraphNode {\r\n\t\tlet node = new SubmittedGraphNode();\r\n\r\n\t\tlet values = this.nodeForm.value;\r\n\r\n\t\tnode.id = (values.id ? values.id : null);\r\n\t\tnode.parentId = this.parentNodeId;\r\n\r\n\t\tnode.nodeType = 'function';\r\n\r\n\t\tnode.title = values.title;\r\n\r\n\t\tnode.tags = new Array();\r\n\r\n\t\tnode.tags.push('Function');\r\n\r\n\t\tif (values.isInternal) {\r\n\t\t\tnode.tags.push('Private');\r\n\t\t}\r\n\t\telse {\r\n\t\t\tnode.tags.push('Public');\r\n\t\t}\r\n\r\n\t\t// need to figure out how feedback is handled\r\n\r\n\t\treturn node;\r\n\t}\r\n\r\n\tprivate updateFormFromModel(): void {\r\n\t\tlet node = this.node;\r\n\r\n\t\tif (!node) {\r\n\t\t\tnode = new GraphNode();\r\n\t\t}\r\n\r\n\t\tlet isInternal = node.tags.map(t => t.toLowerCase()).includes('private');\r\n\t\tlet isSaas = node.tags.map(t => t.toLowerCase()).includes('saas');\r\n\t\tlet maturityLevel = node.tags.filter(t => t.toLowerCase().endsWith('release'));\r\n\r\n\t\tthis.nodeForm.setValue({\r\n\t\t\tid: this.node.id,\r\n\t\t\ttitle: this.node.title,\r\n\t\t\tisInternal: isInternal,\r\n\t\t\tisSaas: isSaas,\r\n\t\t\tmaturityLevel: maturityLevel,\r\n\t\t\tfeedbackPrompt: false\r\n\t\t});\r\n\t}\r\n\r\n\tpublic close() {\r\n\t\tthis._bsModalRef.hide();\r\n\t}\r\n\r\n\tpublic submit() {\r\n\t\tthis.hasBeenSubmitted = true;\r\n\r\n\t\tif (this.nodeForm.invalid) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tlet node = this.getModelFromForm();\r\n\r\n\t\tthis.nodeForm.disable();\r\n\r\n\t\tthis._subscriptions.add(\r\n\t\t\tthis._classificationService.saveNode(node)\r\n\t\t\t\t.pipe(\r\n\t\t\t\t\tfinalize(() => {\r\n\t\t\t\t\t\tthis.nodeForm.enable();\r\n\t\t\t\t\t})\r\n\t\t\t\t)\r\n\t\t\t\t.subscribe(response => {\r\n\t\t\t\t\tif (!this.node.id) {\r\n\t\t\t\t\t\tthis.nodeCreated.emit(response);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tthis.nodeEdited.emit(response);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthis.close();\r\n\t\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n}\r\n\r\nfunction minSelected(min = 1) {\r\n\tconst validator: ValidatorFn = (formArray: FormArray) => {\r\n\t\tconst totalSelected = formArray.controls\r\n\t\t\t.map(control => control.value)\r\n\t\t\t.reduce((prev, next) => next ? prev + next : prev, 0);\r\n\r\n\t\treturn totalSelected >= min ? null : { required: true };\r\n\t};\r\n\r\n\treturn validator;\r\n}\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\modules\\\\classification\\\\components\\\\editors\\\\product-editor\\\\product-editor.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvY2xhc3NpZmljYXRpb24vY29tcG9uZW50cy9lZGl0b3JzL3Byb2R1Y3QtZWRpdG9yL3Byb2R1Y3QtZWRpdG9yLmNvbXBvbmVudC5zY3NzIn0= */\"","import { Component, OnInit, Input, OnDestroy, EventEmitter, Output } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators, FormArray, ValidatorFn } from '@angular/forms';\r\n\r\nimport { Subscription } from 'rxjs';\r\nimport { finalize } from 'rxjs/operators';\r\n\r\nimport { BsModalRef } from 'ngx-bootstrap';\r\n\r\nimport { ClassificationService } from '../../../services/classification/classification.service';\r\n\r\nimport { GraphNode } from '../../../models/graph-node.model';\r\nimport { SubmittedGraphNode } from '../../../models/submitted-graph-node.model';\r\n\r\n@Component({\r\n\tselector: 'app-product-editor',\r\n\ttemplateUrl: './product-editor.component.pug',\r\n\tstyleUrls: ['./product-editor.component.scss']\r\n})\r\nexport class ProductEditorComponent implements OnInit, OnDestroy {\r\n\r\n\t@Input()\r\n\tpublic nodeId: number;\r\n\r\n\t@Input()\r\n\tpublic parentNodeId: number;\r\n\r\n\t@Output()\r\n\tpublic nodeCreated = new EventEmitter();\r\n\r\n\t@Output()\r\n\tpublic nodeEdited = new EventEmitter();\r\n\r\n\tpublic node: GraphNode;\r\n\r\n\tpublic nodeForm: FormGroup;\r\n\r\n\tpublic hasBeenSubmitted: boolean;\r\n\r\n\tpublic isCollapsed: boolean = true;\r\n\r\n\tprivate _subscriptions = new Subscription();\r\n\r\n\tconstructor(private _bsModalRef: BsModalRef, private _fb: FormBuilder, private _classificationService: ClassificationService) {\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tthis.createForm();\r\n\r\n\t\tif (this.nodeId) {\r\n\t\t\tthis.loadNode();\r\n\t\t}\r\n\t\telse {\r\n\t\t\tthis.node = new GraphNode();\r\n\t\t}\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis._subscriptions.unsubscribe();\r\n\t}\r\n\r\n\tprivate loadNode(): void {\r\n\t\tthis._subscriptions.add(\r\n\t\t\tthis._classificationService.getNode(this.nodeId)\r\n\t\t\t\t.subscribe(response => {\r\n\t\t\t\t\tif (response && response.value) {\r\n\t\t\t\t\t\tif (!response.value.length) {\r\n\t\t\t\t\t\t\tthrow new Error(`Unable to retrieve Classification Node '${this.nodeId}'.`);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse if (response.value.length > 1) {\r\n\t\t\t\t\t\t\t// this is odd...\r\n\t\t\t\t\t\t\tthrow new Error(`More than one result for Classification Node '${this.nodeId}'. This should not be possible.`);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\tthis.node = response.value[0];\r\n\r\n\t\t\t\t\t\t\tthis.updateFormFromModel();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tprivate createForm(): void {\r\n\t\tthis.nodeForm = this._fb.group({\r\n\t\t\tid: [''],\r\n\t\t\ttitle: ['', [Validators.required, Validators.minLength(3), Validators.maxLength(150)]],\r\n\t\t\tisInternal: [false],\r\n\t\t\tisSaas: [false],\r\n\t\t\tmaturityLevel: '',\r\n\t\t\tfeedbackPrompt: [false]\r\n\t\t});\r\n\t}\r\n\r\n\tprivate getModelFromForm(): SubmittedGraphNode {\r\n\t\tlet node = new SubmittedGraphNode();\r\n\r\n\t\tlet values = this.nodeForm.value;\r\n\r\n\t\tnode.id = (values.id ? values.id : null);\r\n\t\tnode.parentId = this.parentNodeId;\r\n\r\n\t\tnode.nodeType = 'product';\r\n\r\n\t\tnode.title = values.title;\r\n\r\n\t\tnode.tags = new Array();\r\n\r\n\t\tnode.tags.push('Product');\r\n\r\n\t\tif (values.isInternal) {\r\n\t\t\tnode.tags.push('Private');\r\n\t\t}\r\n\t\telse {\r\n\t\t\tnode.tags.push('Public');\r\n\t\t}\r\n\r\n\t\tif (values.isSaas) {\r\n\t\t\tnode.tags.push('SaaS');\r\n\t\t}\r\n\r\n\t\tif (values.maturityLevel && values.maturityLevel.length > 0) {\r\n\t\t\tnode.tags.push(values.maturityLevel);\r\n\t\t}\r\n\r\n\t\tif (values.feedbackPrompt) {\r\n\t\t\tnode.tags.push('PromptFeedbackSurvey');\r\n\t\t}\r\n\r\n\t\treturn node;\r\n\t}\r\n\r\n\tprivate updateFormFromModel(): void {\r\n\t\tlet node = this.node;\r\n\r\n\t\tif (!node) {\r\n\t\t\tnode = new GraphNode();\r\n\t\t}\r\n\r\n\t\tlet isInternal = node.tags.map(t => t.toLowerCase()).includes('private');\r\n\t\tlet isSaas = node.tags.map(t => t.toLowerCase()).includes('saas');\r\n\t\tlet maturityLevel = node.tags.filter(t => t.toLowerCase().endsWith('release'))[0];\r\n\t\tlet feedbackPrompt = node.tags.map(t => t.toLowerCase()).includes('promptfeedbacksurvey');\r\n\r\n\t\tthis.nodeForm.setValue({\r\n\t\t\tid: node.id,\r\n\t\t\ttitle: node.title,\r\n\t\t\tisInternal: isInternal,\r\n\t\t\tisSaas: isSaas,\r\n\t\t\tmaturityLevel: maturityLevel ? maturityLevel : '',\r\n\t\t\tfeedbackPrompt: feedbackPrompt\r\n\t\t});\r\n\t}\r\n\r\n\tpublic close() {\r\n\t\tthis._bsModalRef.hide();\r\n\t}\r\n\r\n\tpublic submit() {\r\n\t\tthis.hasBeenSubmitted = true;\r\n\r\n\t\tif (this.nodeForm.invalid) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tlet node = this.getModelFromForm();\r\n\r\n\t\tthis.nodeForm.disable();\r\n\r\n\t\tthis._subscriptions.add(\r\n\t\t\tthis._classificationService.saveNode(node)\r\n\t\t\t\t.pipe(\r\n\t\t\t\t\tfinalize(() => {\r\n\t\t\t\t\t\tthis.nodeForm.enable();\r\n\t\t\t\t\t})\r\n\t\t\t\t)\r\n\t\t\t\t.subscribe(response => {\r\n\t\t\t\t\tif (!this.node.id) {\r\n\t\t\t\t\t\tthis.nodeCreated.emit(response);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tthis.nodeEdited.emit(response);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthis.close();\r\n\t\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n}\r\n\r\nfunction minSelected(min = 1) {\r\n\tconst validator: ValidatorFn = (formArray: FormArray) => {\r\n\t\tconst totalSelected = formArray.controls\r\n\t\t\t.map(control => control.value)\r\n\t\t\t.reduce((prev, next) => next ? prev + next : prev, 0);\r\n\r\n\t\treturn totalSelected >= min ? null : { required: true };\r\n\t};\r\n\r\n\treturn validator;\r\n}\r\n","\r\nexport class GraphNode {\r\n\r\n\tpublic id: string;\r\n\r\n\tpublic nodeType: string;\r\n\r\n\tpublic parentId?: string;\r\n\r\n\tpublic title: string;\r\n\r\n\tpublic children: Array;\r\n\r\n\tpublic team: string;\r\n\r\n\tpublic escalationAlias: string;\r\n\r\n\tpublic troubleshootingInformationIds: Array;\r\n\r\n\tpublic tags: Array;\r\n\r\n\tpublic viewOrder: number;\r\n\r\n}\r\n","export class SubmittedGraphNode {\r\n\r\n\tpublic id: number;\r\n\r\n\tpublic nodeType: string;\r\n\r\n\tpublic parentId: number;\r\n\r\n\tpublic title: string;\r\n\r\n\tpublic team: string;\r\n\r\n\tpublic escalationAlias: string;\r\n\r\n\tpublic troubleshootingIds: Array;\r\n\r\n\tpublic tags: Array;\r\n\r\n\tpublic viewOrder: number;\r\n\r\n}\r\n","import { GraphNode } from \"./graph-node.model\";\r\n\r\nexport class TreeNode extends GraphNode {\r\n\r\n\tpublic hasChildren: boolean;\r\n\r\n\tpublic iconCss: string;\r\n\r\n}\r\n","export class TroubleshootingInformation {\r\n\r\n\tpublic troubleshootingInformationId: number;\r\n\r\n\tpublic whatIsNeeded: string;\r\n\r\n\tpublic whyItIsNeeded: string;\r\n\r\n\tpublic howItIsCollected: string;\r\n\r\n}","import { Injectable } from '@angular/core';\r\n\r\nimport { Observable, Subject } from 'rxjs';\r\n\r\nimport { GraphNode } from '../../../classification/models/graph-node.model';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class ClassificationSelectionService {\r\n\r\n\tprivate _subject = new Subject();\r\n\r\n\tpublic setNode(node: GraphNode) {\r\n\t\tthis._subject.next(node);\r\n\t}\r\n\r\n\tpublic clearNode() {\r\n\t\tthis._subject.next();\r\n\t}\r\n\r\n\tpublic getNode(): Observable {\r\n\t\treturn this._subject.asObservable();\r\n\t}\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\nimport { Observable, of } from 'rxjs';\r\n\r\nimport { GraphNode } from '../../models/graph-node.model';\r\nimport { TroubleshootingInformation } from '../../models/troubleshooting-information.model';\r\nimport { SubmittedGraphNode } from '../../models/submitted-graph-node.model';\r\n\r\nimport { ODataResult } from '../../../../core/models/oData/odata-result.model';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class ClassificationService {\r\n\r\n\tprivate _urlBase: string = 'api/classification';\r\n\r\n\tprivate _urlOdataBase: string = 'odata/classification';\r\n\r\n\tconstructor(private _httpClient: HttpClient) {\r\n\t}\r\n\r\n\tpublic getNode(id: number): Observable>> {\r\n\t\t// ideally we should be using '/url(id)' pattern\r\n\t\tlet url = `${this._urlOdataBase}?$filter=id eq ${id}`;\r\n\r\n\t\treturn this._httpClient.get>>(url);\r\n\t}\r\n\r\n\tpublic saveNode(node: SubmittedGraphNode): Observable {\r\n\t\tif (!node) {\r\n\t\t\tthrow new Error('Node is expected when calling saveNode() method.');\r\n\t\t}\r\n\r\n\t\tlet url = `${this._urlBase}/nodes`;\r\n\t\tif (node.id) {\r\n\t\t\turl = `${url}/${node.id}`;\r\n\t\t}\r\n\r\n\t\treturn this._httpClient.post(url, node);\r\n\t}\r\n\r\n\tpublic undeleteNode(id: number): Observable {\r\n\t\tlet url = `${this._urlBase}/nodes/${id}`;\r\n\r\n\t\treturn this._httpClient.patch(url, null);\r\n\t}\r\n\r\n\tpublic moveNode(node: SubmittedGraphNode): Observable {\r\n\t\tif (!node) {\r\n\t\t\tthrow new Error('Argument \"node\" is required.');\r\n\t\t}\r\n\r\n\t\tconst url = `${this._urlBase}/nodes/${node.id}/move`;\r\n\r\n\t\tconst patch = [\r\n\t\t\t{ op: 'replace', path: '/viewOrder', value: node.viewOrder }\r\n\t\t];\r\n\r\n\t\treturn this._httpClient.patch(url, patch);\r\n\t}\r\n\r\n\tpublic deleteNode(id: number): Observable {\r\n\t\tlet url = `${this._urlBase}/node/`;\r\n\t\tif (id) {\r\n\t\t\turl = `${url}${id}`;\r\n\t\t}\r\n\r\n\t\treturn this._httpClient.delete(url);\r\n\t}\r\n\r\n\tpublic getParentHierarchy(id: string): Observable> {\r\n\t\treturn this._httpClient.get>(`${this._urlBase}/nodes/${id}/lineage`);\r\n\t}\r\n\r\n\tpublic getDiagnosticItems(): Observable> {\r\n\t\treturn this._httpClient.get>(`${this._urlBase}/diagnostics`);\r\n\t}\r\n\r\n\tpublic createDiagnosticItem(item: TroubleshootingInformation): Observable {\r\n\t\treturn this._httpClient.post(`${this._urlBase}/diagnostics`, item);\r\n\t}\r\n\r\n\tpublic updateDiagnosticItem(item: TroubleshootingInformation): Observable {\r\n\t\treturn this._httpClient.post(`${this._urlBase}/diagnostics/${item.troubleshootingInformationId}`, item);\r\n\t}\r\n\r\n\tpublic deleteDiagnosticItem(id: number): Observable {\r\n\t\treturn this._httpClient.delete(`${this._urlBase}/diagnostics/${id}`);\r\n\t}\r\n\r\n\tpublic getBreadcrumb(id: string): Observable {\r\n\t\treturn this._httpClient.get(this._urlBase + `/breadcrumb/${id}`);\r\n\t}\r\n\r\n\tpublic getUnusedCommonIssues(startDate: Date, endDate: Date, minClassificationDays: number, includeInternal: boolean): any {\r\n\t\tthrow new Error(\"Method not implemented.\");\r\n\t}\r\n\r\n}\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\modules\\\\content-manager\\\\components\\\\create-articles-list\\\\create-articles-list.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvY29udGVudC1tYW5hZ2VyL2NvbXBvbmVudHMvY3JlYXRlLWFydGljbGVzLWxpc3QvY3JlYXRlLWFydGljbGVzLWxpc3QuY29tcG9uZW50LnNjc3MifQ== */\"","import { Component, OnInit } from '@angular/core';\r\n\r\nimport { ArticleService } from '../../../../core/services/articles/article.service';\r\n\r\nimport { ArticleDefinition } from '../../../../core/models/articles/article-definition.model';\r\n\r\n@Component({\r\n selector: 'app-create-articles-list',\r\n templateUrl: './create-articles-list.component.pug',\r\n styleUrls: ['./create-articles-list.component.scss']\r\n})\r\nexport class CreateArticlesListComponent implements OnInit {\r\n\r\n public articleDefinitions: Array;\r\n\r\n constructor(private _articleService: ArticleService) {\r\n }\r\n\r\n ngOnInit() {\r\n\t this._articleService.getArticleTypes().subscribe(response => {\r\n\t\t this.articleDefinitions = response ? response.sort((a, b) => (a.name > b.name) ? 1 : ((b.name > a.name) ? -1 : 0)) : null;\r\n\t });\r\n }\r\n\r\n}\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\modules\\\\content-manager\\\\components\\\\create-edit-articles\\\\affected-versions\\\\affected-versions.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \".row:last-child {\\n border-bottom: none !important;\\n margin-bottom: -0.25rem !important; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9jb250ZW50LW1hbmFnZXIvY29tcG9uZW50cy9jcmVhdGUtZWRpdC1hcnRpY2xlcy9hZmZlY3RlZC12ZXJzaW9ucy9DOlxcVXNlcnNcXG1qb3NoaVxcc291cmNlXFxyZXBvc1xcQWxleGFuZHJpYVxcQWxleGFuZHJpYVxcQWxleGFuZHJpYS5XZWJzaXRlXFxDbGllbnRBcHAvc3JjXFxhcHBcXG1vZHVsZXNcXGNvbnRlbnQtbWFuYWdlclxcY29tcG9uZW50c1xcY3JlYXRlLWVkaXQtYXJ0aWNsZXNcXGFmZmVjdGVkLXZlcnNpb25zXFxhZmZlY3RlZC12ZXJzaW9ucy5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNDLDhCQUE4QjtFQUM5QixrQ0FBa0MsRUFBQSIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvY29udGVudC1tYW5hZ2VyL2NvbXBvbmVudHMvY3JlYXRlLWVkaXQtYXJ0aWNsZXMvYWZmZWN0ZWQtdmVyc2lvbnMvYWZmZWN0ZWQtdmVyc2lvbnMuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIucm93Omxhc3QtY2hpbGQge1xyXG5cdGJvcmRlci1ib3R0b206IG5vbmUgIWltcG9ydGFudDtcclxuXHRtYXJnaW4tYm90dG9tOiAtMC4yNXJlbSAhaW1wb3J0YW50O1xyXG59XHJcbiJdfQ== */\"","import { Component, OnInit, Input, OnDestroy } from '@angular/core';\r\nimport { FormControl, FormGroup, FormArray, FormBuilder, Validators, AbstractControl } from '@angular/forms';\r\n\r\n//import { AbstractControl } from '@angular/forms';\r\n//import { Validators } from '@angular/forms';\r\nimport { CheckboxItem } from '../../../../../shared/models/checkbox-item.model';\r\nimport { ArticleTargetedVersion } from '../../../../../core/models/articles/article-targeted-version.model';\r\nimport { ApplicationVersionsService } from '../../../../../core/services/application-versions/application-versions.service';\r\nimport { ApplicationVersionViewModel } from '../../../../../core/models/applications/application-version-view-model.model';\r\nimport { Article } from '../../../../../core/models/articles/article.model';\r\nimport { Subscription } from 'rxjs';\r\nimport { ParentVersion } from '../../../../../core/models/applications/parent-version.model';\r\nimport { Version } from '../../../../../core/models/applications/version';\r\n\r\n@Component({\r\n\tselector: 'app-affected-versions',\r\n\ttemplateUrl: './affected-versions.component.pug',\r\n\tstyleUrls: ['./affected-versions.component.scss']\r\n})\r\nexport class AffectedVersionsComponent implements OnInit, OnDestroy {\r\n\r\n\t@Input(\"group\")\r\n\tpublic formGroup: FormGroup;\r\n\r\n\t@Input()\r\n\tpublic majorOnly: boolean = false;\r\n\r\n\t@Input()\r\n\tpublic applicationId: string;\r\n\r\n\t@Input()\r\n\tpublic article: Article;\r\n\r\n\tpublic ready: boolean = false;\r\n\r\n\tpublic ver = new Array();\r\n\r\n\tpublic flattendVersionsList = new Array();\r\n\r\n\tprivate _subscriptions = new Subscription();\r\n\r\n\tconstructor(private _fb: FormBuilder, private _applicationVersionsService: ApplicationVersionsService) {\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tthis.createForm();\r\n\t\tthis.loadMajorMinorVersion(this.applicationId)\r\n\t}\r\n\r\n\tprivate createForm(): void {\r\n\t\tvar affectedVersionsControl = this.formGroup.get(\"affectedVersions\") as FormGroup;\r\n\t\tif (!affectedVersionsControl) {\r\n\t\t\tthis.formGroup.addControl(\"affectedVersions\", this._fb.group([]));\r\n\t\t\t// used to simplify the validation. A bit of a hack, but it works given the time\r\n\t\t\tthis.formGroup.addControl(\"affectedVersionValidator\", new FormControl(false, Validators.requiredTrue));\r\n\t\t}\r\n\t}\r\n\r\n\tprivate initializeForm(): void {\r\n\t\tthis.ver.forEach(version => {\r\n\t\t\tversion.minorVersions.forEach(minor => {\r\n\t\t\t\tlet fg = this.formGroup.get('affectedVersions') as FormGroup;\r\n\r\n\t\t\t\tlet initialValue = false;\r\n\r\n\t\t\t\t// get data from article if application\r\n\t\t\t\tif (this.article && this.article.articleTargetedVersions && this.article.articleTargetedVersions.filter) {\r\n\t\t\t\t\tinitialValue = !!this.article.articleTargetedVersions\r\n\t\t\t\t\t\t.filter(x => `${x.versionApplicationId}-${x.versionMajor}-${x.versionMinor}-${x.versionBuild}-${x.versionRevision}-${x.versionServicePack}` == minor.id)\r\n\t\t\t\t\t\t.length;\r\n\r\n\t\t\t\t\tif (initialValue) {\r\n\t\t\t\t\t\tthis.formGroup.patchValue({ \"affectedVersionValidator\": true });\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tlet ctrl = new FormControl(initialValue);\r\n\t\t\t\tfg.addControl(minor.id, ctrl);\r\n\t\t\t});\r\n\t\t});\r\n\r\n\t\tthis.affectedVersionOnChange();\r\n\t}\r\n\r\n\tprivate loadMajorMinorVersion(applicationId: string): void {\r\n\t\tthis._subscriptions.add(\r\n\t\t\tthis._applicationVersionsService.getApplicationVersions(applicationId, true, null, this.majorOnly)\r\n\t\t\t\t.subscribe(response => {\r\n\t\t\t\t\tlet mappedResponse = Version.mapFromApplicationVersionViewModelArray(response);\r\n\t\t\t\t\tthis.flattendVersionsList = this.flattendVersionsList.concat(mappedResponse);\r\n\t\t\t\t\t// get distinct major versions and create the flattened structure so it's easier for us to filter\r\n\t\t\t\t\tlet majorVersions = new Array();\r\n\r\n\t\t\t\t\tmappedResponse.forEach(appVersionVM => {\r\n\t\t\t\t\t\tif (majorVersions.indexOf(appVersionVM.versionMajor) == -1) {\r\n\t\t\t\t\t\t\tmajorVersions.push(appVersionVM.versionMajor);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\t// create the hierarchial structure so it's easier for us to loop through on the UI\r\n\t\t\t\t\tmajorVersions.forEach(mv => {\r\n\t\t\t\t\t\tlet major = new ParentVersion();\r\n\t\t\t\t\t\tmajor.id = `${mv}-*`;\r\n\t\t\t\t\t\tmajor.articleId = this.article.articleId;\r\n\t\t\t\t\t\tmajor.versionLabel = String(mv);\r\n\t\t\t\t\t\tmajor.versionApplicationId = applicationId;\r\n\t\t\t\t\t\tmajor.versionMajor = mv;\r\n\t\t\t\t\t\tmajor.versionMinor = 0;\r\n\t\t\t\t\t\tmajor.versionBuild = 0;\r\n\t\t\t\t\t\tmajor.versionRevision = 0;\r\n\t\t\t\t\t\tmajor.versionServicePack = \"*\";\r\n\t\t\t\t\t\tmajor.versionIsReleased = false;\r\n\t\t\t\t\t\tlet resp = this.flattendVersionsList.filter(x => x.versionMajor == mv);\r\n\r\n\t\t\t\t\t\tmajor.minorVersions = resp.map(x => {\r\n\t\t\t\t\t\t\tlet targetedVersion = new ArticleTargetedVersion();\r\n\t\t\t\t\t\t\ttargetedVersion.versionMajor = x.versionMajor;\r\n\t\t\t\t\t\t\ttargetedVersion.versionMinor = x.versionMinor;\r\n\t\t\t\t\t\t\ttargetedVersion.versionBuild = x.versionBuild;\r\n\t\t\t\t\t\t\ttargetedVersion.versionRevision = x.versionRevision;\r\n\t\t\t\t\t\t\ttargetedVersion.versionServicePack = x.versionServicePack;\r\n\r\n\t\t\t\t\t\t\tx.versionLabel = ArticleTargetedVersion.versionLabel(targetedVersion);\r\n\r\n\t\t\t\t\t\t\tif (!x.versionIsReleased) {\r\n\t\t\t\t\t\t\t\tx.versionLabel = `${x.versionLabel}*`;\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\treturn x;\r\n\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\tthis.ver.push(major);\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\tthis.initializeForm();\r\n\t\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tprivate affectedVersionOnChange(): void {\r\n\t\tthis._subscriptions.add(\r\n\t\t\t// this method maps and clears out the articleTargetedVersions so we don't have to worry about mapping this in the parent component\r\n\t\t\tthis.formGroup.get(\"affectedVersions\").valueChanges\r\n\t\t\t\t.subscribe(keyValue => {\r\n\t\t\t\t\tif (!Object.values(keyValue).filter(x => x === true).length) {\r\n\t\t\t\t\t\t// check to see if we have anything selected, if we don't set the validator to false\r\n\t\t\t\t\t\tthis.formGroup.patchValue({ \"affectedVersionValidator\": false });\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tthis.flattendVersionsList.forEach((fv) => {\r\n\t\t\t\t\t\tif (keyValue[fv.id] === undefined) {\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t// we want to explicitly know if this is the TRUE value. not if it is TRUTHY\r\n\t\t\t\t\t\t\tif (keyValue[fv.id] === true) {\r\n\t\t\t\t\t\t\t\tthis.formGroup.patchValue({ \"affectedVersionValidator\": true });\r\n\r\n\t\t\t\t\t\t\t\t// if articleTargetedVersions is not here and not an array, then we want to create the array\r\n\t\t\t\t\t\t\t\tif (!this.article || !this.article.articleTargetedVersions || !this.article.articleTargetedVersions.filter) {\r\n\t\t\t\t\t\t\t\t\tthis.article.articleTargetedVersions = new Array();\r\n\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\tlet targetedVersionInArticle = this.article.articleTargetedVersions\r\n\t\t\t\t\t\t\t\t\t.filter(x => `${x.versionApplicationId}-${x.versionMajor}-${x.versionMinor}-${x.versionBuild}-${x.versionRevision}-${x.versionServicePack}` == fv.id);\r\n\r\n\t\t\t\t\t\t\t\t// if targeted version is in the list, and the checkbos is true, alright then.. we're good\r\n\t\t\t\t\t\t\t\tif (!targetedVersionInArticle.length) {\r\n\t\t\t\t\t\t\t\t\tlet newArticleTargetedVersion = new ArticleTargetedVersion();\r\n\t\t\t\t\t\t\t\t\tObject.assign(newArticleTargetedVersion, fv);\r\n\t\t\t\t\t\t\t\t\tthis.article.articleTargetedVersions.push(newArticleTargetedVersion);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tif (this.article && this.article.articleTargetedVersions && this.article.articleTargetedVersions.filter) {\r\n\t\t\t\t\t\t\t\t\t// if the value is false (I.E. the checknox unchecked) remove the version from the list if it is in it\r\n\t\t\t\t\t\t\t\t\tthis.article.articleTargetedVersions = this.article.articleTargetedVersions\r\n\t\t\t\t\t\t\t\t\t\t.filter(x => `${x.versionApplicationId}-${x.versionMajor}-${x.versionMinor}-${x.versionBuild}-${x.versionRevision}-${x.versionServicePack}` != fv.id);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t}));\r\n\t}\r\n\r\n\tngOnDestroy(): void {\r\n\t\tthis._subscriptions.unsubscribe();\r\n\t}\r\n\r\n\t// needed because of a bug reported back in Angular version 5 that does not cast\r\n\tpublic getControls(key: string): any {\r\n\t\treturn (this.formGroup.controls[key]).controls;\r\n\t}\r\n\r\n}\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\modules\\\\content-manager\\\\components\\\\create-edit-articles\\\\category-selector\\\\category-selector.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvY29udGVudC1tYW5hZ2VyL2NvbXBvbmVudHMvY3JlYXRlLWVkaXQtYXJ0aWNsZXMvY2F0ZWdvcnktc2VsZWN0b3IvY2F0ZWdvcnktc2VsZWN0b3IuY29tcG9uZW50LnNjc3MifQ== */\"","import { Component, OnInit, Input } from '@angular/core';\r\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\r\n\r\nimport { Subscription } from 'rxjs';\r\nimport { DataManager, ODataV4Adaptor } from '@syncfusion/ej2-data';\r\n\r\nimport { CategoryService } from '../../../../../core/services/categories/category.service';\r\nimport { AuthService } from '../../../../../core/services/auth/auth.service';\r\n\r\n@Component({\r\n\tselector: 'app-category-selector',\r\n\ttemplateUrl: './category-selector.component.pug',\r\n\tstyleUrls: ['./category-selector.component.scss']\r\n})\r\nexport class CategorySelectorComponent implements OnInit {\r\n\r\n\t@Input(\"group\")\r\n\tpublic formGroup: FormGroup;\r\n\r\n\tpublic categoryFields: Object = { text: 'name', value: 'id' };\r\n\r\n\tpublic data: DataManager;\r\n\r\n\tconstructor(private _authService: AuthService) { }\r\n\r\n\tngOnInit() {\r\n\t\t// We cannot use our own service since it _seems_ that SyncFusion clears the\r\n\t\t// currently selected item when [dataSource] is bound to static array. So instead,\r\n\t\t// we use their DataManager to our own oData endpoint.\r\n\t\tthis.data = new DataManager({\r\n\t\t\turl: '/odata/category',\r\n\t\t\tadaptor: new ODataV4Adaptor(),\r\n\t\t\theaders: [{ 'Authorization': this._authService.getAuthorizationHeaderValue() }]\r\n\t\t});\r\n\r\n\t\tthis.updateForm();\r\n\t}\r\n\r\n\tprivate updateForm(): void {\r\n\t\tif (this.formGroup) {\r\n\t\t\tthis.formGroup.addControl('categoryId', new FormControl(null, Validators.required));\r\n\t\t}\r\n\t}\r\n\r\n}\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\modules\\\\content-manager\\\\components\\\\create-edit-articles\\\\collaborators\\\\collaborators.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvY29udGVudC1tYW5hZ2VyL2NvbXBvbmVudHMvY3JlYXRlLWVkaXQtYXJ0aWNsZXMvY29sbGFib3JhdG9ycy9jb2xsYWJvcmF0b3JzLmNvbXBvbmVudC5zY3NzIn0= */\"","import { Component, OnInit, Input, OnDestroy } from '@angular/core';\r\nimport { FormBuilder, FormGroup } from '@angular/forms';\r\n\r\nimport { DataManager, ODataV4Adaptor, Query } from '@syncfusion/ej2-data';\r\n\r\nimport { AuthService } from '../../../../../core/services/auth/auth.service';\r\nimport { Article } from '../../../../../core/models/articles/article.model';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-collaborators',\r\n templateUrl: './collaborators.component.pug',\r\n styleUrls: ['./collaborators.component.scss']\r\n})\r\nexport class CollaboratorsComponent implements OnInit, OnDestroy {\r\n\r\n @Input(\"group\")\r\n public formGroup: FormGroup;\r\n\r\n @Input(\"article\")\r\n public article: Article;\r\n\r\n public remoteFields = { text: 'userName', value: 'id' };\r\n\r\n public data: DataManager;\r\n\r\n public query: Query;\r\n\r\n private _subscriptions = new Subscription();\r\n\r\n constructor(private _fb: FormBuilder, private _authService: AuthService) {\r\n }\r\n\r\n ngOnInit() {\r\n\t this.bindData();\r\n\t this.createForm();\r\n }\r\n\r\n private createForm(): void {\r\n\t if (this.formGroup) {\r\n\t\t // selected items appear as Array of 'id' values\r\n\t\t this.formGroup.addControl('collaborators', this._fb.control(''));\r\n\r\n\t\t this._subscriptions.add(\r\n\t\t\tthis.formGroup.get(\"collaborators\").valueChanges\r\n\t\t\t .subscribe(value => {\r\n\t\t\t\t if (value && value.map) {\r\n\t\t\t\t\t this.article.articleContributors = value\r\n\t\t\t\t\t\t.map(collaborator => {\r\n\t\t\t\t\t\t return { \"userId\": collaborator };\r\n\t\t\t\t\t\t});\r\n\t\t\t\t }\r\n\t\t\t })\r\n\t\t );\r\n\t }\r\n\r\n\t if (this.article && this.article.articleContributors && this.article.articleContributors.map) {\r\n\t\t this.article.articleContributors = this.article.articleContributors.filter(x => x.contributorType == 'Collaborator' || x.contributorType == '2');\r\n\t\t this.formGroup.patchValue({\r\n\t\t\t'collaborators': this.article.articleContributors.map(x => x.userId)\r\n\t\t });\r\n\t }\r\n }\r\n\r\n private bindData(): void {\r\n\t this.data = new DataManager({\r\n\t\t url: '/odata/User',\r\n\t\t adaptor: new ODataV4Adaptor,\r\n\t\t crossDomain: false,\r\n\t\t headers: [{ 'Authorization': this._authService.getAuthorizationHeaderValue() }]\r\n\t });\r\n\r\n\t this.query = new Query().select(['id', 'userName']);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n\t this._subscriptions.unsubscribe();\r\n }\r\n\r\n}\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\modules\\\\content-manager\\\\components\\\\create-edit-articles\\\\create-edit-articles\\\\create-edit-articles.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvY29udGVudC1tYW5hZ2VyL2NvbXBvbmVudHMvY3JlYXRlLWVkaXQtYXJ0aWNsZXMvY3JlYXRlLWVkaXQtYXJ0aWNsZXMvY3JlYXRlLWVkaXQtYXJ0aWNsZXMuY29tcG9uZW50LnNjc3MifQ== */\"","import { Component, OnInit, OnDestroy, DoCheck } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { ActivatedRoute, ParamMap, Router } from '@angular/router';\r\n\r\nimport { Subscription, of, Observable, forkJoin } from 'rxjs';\r\n\r\nimport { BsModalService, BsModalRef } from 'ngx-bootstrap';\r\n\r\nimport { ArticleService } from '../../../../../core/services/articles/article.service';\r\nimport { ClassificationService } from '../../../../classification/services/classification/classification.service';\r\nimport { IncidentService } from '../../../../../core/services/incidents/incident.service';\r\nimport { RolesService } from '../../../../../core/services/roles/roles.service';\r\nimport { UsersService } from '../../../../../core/services/users/users.service';\r\nimport { UserProfileService } from '../../../../../core/services/user-profiles/user-profile.service';\r\nimport { ApplicationService } from '../../../../../core/services/applications/application.service';\r\nimport { TransformService } from '../../../../../core/services/transform/transform.service';\r\n\r\nimport { PublishConfirmationComponent } from '../../publish-confirmation/publish-confirmation.component';\r\nimport { ArticlesViewerModalPreviewComponent } from '../../../../content-viewer/components/articles/articles-viewer-modal-preview/articles-viewer-modal-preview.component';\r\n\r\nimport { Article } from '../../../../../core/models/articles/article.model';\r\nimport { ArticleAuthor } from '../../../../../core/models/articles/article-author.model';\r\nimport { ArticleContributor } from '../../../../../core/models/articles/article-contributor.model';\r\nimport { ArticleDefinition } from '../../../../../core/models/articles/article-definition.model';\r\nimport { ArticleTargetRole } from '../../../../../core/models/articles/article-target-role.model';\r\nimport { BestPracticesArticle } from '../../../../../core/models/articles/article-best-practices.model';\r\nimport { FrequentlyAskedQuestionArticle } from '../../../../../core/models/articles/article-faq.model';\r\nimport { SolutionArticle } from '../../../../../core/models/articles/article-solution.model';\r\nimport { TechnicalNoteArticle } from '../../../../../core/models/articles/article-technical-note.model';\r\nimport { ArticleMetaData } from '../../../../../core/models/articles/article-metadata.model';\r\nimport { TechnicalReferenceArticle } from '../../../../../core/models/articles/article-technical-reference.model';\r\nimport { TroubleshootingArticle } from '../../../../../core/models/articles/article-troubleshooting.model';\r\nimport { Role } from '../../../../../core/models/roles/role.model';\r\nimport { Application } from '../../../../../core/models/applications/application.model';\r\nimport { AlertService } from '../../../../../core/services/alert/alert.service';\r\n\r\n@Component({\r\n\tselector: 'app-create-edit-articles',\r\n\ttemplateUrl: './create-edit-articles.component.pug',\r\n\tstyleUrls: ['./create-edit-articles.component.scss']\r\n})\r\nexport class CreateEditArticlesComponent implements OnInit, DoCheck, OnDestroy {\r\n\r\n\tprivate _subscriptions = new Subscription();\r\n\r\n\tprivate _type: string | null = null;\r\n\r\n\tprivate _oldId: number | null = null;\r\n\r\n\tprivate _oldVersion: number | null = null;\r\n\r\n\tprivate _oldType: string | null = null;\r\n\r\n\tprivate _oldArticle: Article | null = null;\r\n\r\n\tprivate _modalRef: BsModalRef;\r\n\r\n\tprivate _sourceIncidentId: string = null;\r\n\r\n\tprivate _transform: boolean = false;\r\n\r\n\tpublic hasBeenSubmitted: boolean = false;\r\n\r\n\tpublic articleFormGroup: FormGroup;\r\n\r\n\tpublic id: number | null = null;\r\n\r\n\tpublic version: number | null = null;\r\n\r\n\tpublic audiences: Array;\r\n\r\n\tpublic threadId: string = null;\r\n\r\n\tpublic get type(): string {\r\n\t\treturn this._type;\r\n\t}\r\n\r\n\tpublic set type(value: string | null) {\r\n\t\tthis._type = value;\r\n\t}\r\n\r\n\tpublic article: Article = null;\r\n\r\n\tpublic articleMetadata = new ArticleMetaData();\r\n\r\n\tpublic markdownOptions: any = {\r\n\t\tinitialEditType: 'wysiwyg',\r\n\t\theight: '30rem'\r\n\t};\r\n\r\n\tpublic definition: ArticleDefinition = null;\r\n\r\n\tpublic applications: Array = null;\r\n\r\n\tpublic commvaultApplication: Application = null;\r\n\r\n\tpublic hedvigApplication: Application = null;\r\n\r\n\tconstructor(private _router: Router,\r\n\t\tprivate _route: ActivatedRoute,\r\n\t\tprivate _fb: FormBuilder,\r\n\t\tprivate _articleService: ArticleService,\r\n\t\tprivate _profileService: UserProfileService,\r\n\t\tprivate _modalService: BsModalService,\r\n\t\tprivate _classificationService: ClassificationService,\r\n\t\tprivate _usersService: UsersService,\r\n\t\tprivate _rolesService: RolesService,\r\n\t\tprivate _incidentService: IncidentService,\r\n\t\tprivate _applicationService: ApplicationService,\r\n\t\tprivate _transformService: TransformService,\r\n\t\tprivate _alertService: AlertService) {\r\n\t}\r\n\r\n\tngOnInit(): void {\r\n\t\t// I wonder if having this here even makes sense...\r\n\t\t// This **is** the pattern we use elsewhere but in this case we do not even know\r\n\t\t// **what** type of article we are editing so the form will **always** be incomplete.\r\n\t\tthis.createForm();\r\n\r\n\t\tthis._subscriptions.add(\r\n\t\t\tthis._profileService.getMyProfile()\r\n\t\t\t\t.subscribe(profile => {\r\n\t\t\t\t\tlet mode = (profile && profile.defaultEditorMode === 0 ? 'markdown' : 'wysiwyg');\r\n\r\n\t\t\t\t\tthis.markdownOptions = {\r\n\t\t\t\t\t\t...this.markdownOptions, ...{ initialEditType: mode }\r\n\t\t\t\t\t};\r\n\t\t\t\t})\r\n\t\t);\r\n\r\n\t\tthis._subscriptions.add(\r\n\t\t\tthis._route.paramMap\r\n\t\t\t\t.subscribe((params: ParamMap) => {\r\n\t\t\t\t\tif (params.has('id')) {\r\n\t\t\t\t\t\tthis._oldId = this.id;\r\n\t\t\t\t\t\tthis.id = +params.get('id');\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (params.has('sourceArticleId')) {\r\n\t\t\t\t\t\tthis._oldId = this.id;\r\n\t\t\t\t\t\tthis.id = +params.get('sourceArticleId');\r\n\t\t\t\t\t\tthis._transform = true;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (params.has('version')) {\r\n\t\t\t\t\t\tthis._oldVersion = this.version;\r\n\t\t\t\t\t\tthis.version = +params.get('version');\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (params.has('type')) {\r\n\t\t\t\t\t\tthis._oldType = this.type;\r\n\t\t\t\t\t\tthis.type = params.get('type');\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (params.has('sourceIncidentId')) {\r\n\t\t\t\t\t\tthis._sourceIncidentId = params.get('sourceIncidentId');\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t);\r\n\r\n\t\tthis._applicationService.getEnabledApplications()\r\n\t\t\t.subscribe(response => {\r\n\t\t\t\tthis.applications = response;\r\n\t\t\t});\r\n\t}\r\n\r\n\tngDoCheck() {\r\n\t\tif (\r\n\t\t\tthis.id !== this._oldId\r\n\t\t\t|| this.version !== this._oldVersion\r\n\t\t\t|| this.type !== this._oldType\r\n\t\t\t|| this.article !== this._oldArticle\r\n\t\t) {\r\n\t\t\tthis.loadArticle();\r\n\r\n\t\t\tthis._oldId = this.id;\r\n\t\t\tthis._oldVersion = this.version;\r\n\t\t\tthis._oldType = this.type;\r\n\t\t\tthis._oldArticle = this.article;\r\n\t\t}\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis._subscriptions.unsubscribe();\r\n\t}\r\n\r\n\tprivate createForm(): void {\r\n\t\tthis.articleFormGroup = this._fb.group({\r\n\t\t\ttitle: ['', [Validators.required, Validators.minLength(5), Validators.maxLength(300)]],\r\n\t\t\tclassificationCode: [''],\r\n\t\t\tincidentReference: ['', Validators.maxLength(20)],\r\n\t\t\taudience: ['', Validators.required],\r\n\t\t\texpiration: [''],\r\n\t\t\tisManualPublish: [false]\r\n\t\t});\r\n\t}\r\n\r\n\tprivate loadArticle(): void {\r\n\t\tif (this.article !== this._oldArticle) {\r\n\t\t\tthis.id = this._oldId = null;\r\n\t\t\tthis.version = this._oldVersion = null;\r\n\t\t\tthis.type = this._oldType = null;\r\n\t\t\tthis._oldArticle = this.article;\r\n\t\t}\r\n\t\telse if (!!this._sourceIncidentId) {\r\n\t\t\t// we are transforming an incident to an article type\r\n\t\t\tthis.transformArticle().subscribe(\r\n\t\t\t\tresponse => {\r\n\t\t\t\t\tif (response) {\r\n\t\t\t\t\t\tthis._oldArticle = this.article = response;\r\n\t\t\t\t\t\tthis.threadId = this.article.articleTypeLabel.replace(/\\s/g, '').toLowerCase() + this.article.articleId;\r\n\r\n\t\t\t\t\t\tthis._articleService.getArticleType(this.type).subscribe(definition => {\r\n\t\t\t\t\t\t\tthis.definition = definition;\r\n\t\t\t\t\t\t\tthis.audiences = definition.audiences;\r\n\r\n\t\t\t\t\t\t\t// this seems soooooo wrong\r\n\t\t\t\t\t\t\tsetTimeout(() => { this.updateForm(); }, 0);\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\t() => {\r\n\t\t\t\t\t// incident could not be found, default to create new article\r\n\t\t\t\t\t// TODO make this a bit cleaner, possibly add toast message at the top stating 404 message?\r\n\t\t\t\t\tthis._alertService.show('An unexpected error seems to have occurred. Please try the action again or refresh your page. If the problem continues, you can contact the BATS-Alexandria team for assistance.');\r\n\t\t\t\t\tthis.transformArticle()\r\n\t\t\t\t\t\t.subscribe((result: Article) => {\r\n\t\t\t\t\t\t\tthis._oldArticle = this.article = Object.assign(result, this.articleFormGroup.value);\r\n\t\t\t\t\t\t\tthis.threadId = this.article.articleTypeLabel.replace(/\\s/g, '').toLowerCase() + this.article.articleId;\r\n\r\n\t\t\t\t\t\t\t// this seems soooooo wrong\r\n\t\t\t\t\t\t\tsetTimeout(() => { this.updateForm(); }, 0);\r\n\t\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t);\r\n\t\t}\r\n\t\telse if (this.id !== this._oldId || this.version !== this._oldVersion) {\r\n\t\t\t// check to see if we want to transform this to a different article type\r\n\t\t\tif (!!this._transform) {\r\n\t\t\t\tthis._subscriptions.add(\r\n\t\t\t\t\tthis.transformArticle().subscribe(\r\n\t\t\t\t\t\tresponse => {\r\n\t\t\t\t\t\t\tif (response) {\r\n\t\t\t\t\t\t\t\tthis._oldArticle = this.article = response;\r\n\t\t\t\t\t\t\t\tthis.article.sourceArticleId = this.id;\r\n\t\t\t\t\t\t\t\tthis.threadId = this.article.articleTypeLabel.replace(/\\s/g, '').toLowerCase() + this.article.articleId;\r\n\r\n\t\t\t\t\t\t\t\tthis._articleService.getArticleType(this.type).subscribe(definition => {\r\n\t\t\t\t\t\t\t\t\tthis.definition = definition;\r\n\t\t\t\t\t\t\t\t\tthis.audiences = definition.audiences;\r\n\r\n\t\t\t\t\t\t\t\t\t// this seems soooooo wrong\r\n\t\t\t\t\t\t\t\t\tsetTimeout(() => { this.updateForm(); }, 0);\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t() => {\r\n\t\t\t\t\t\t\t// major version of article could not be found, default to create new article\r\n\t\t\t\t\t\t\t// TODO make this a bit cleaner, possibly add toast message at the top stating 404 message?\r\n\t\t\t\t\t\t\tthis._subscriptions.add(\r\n\t\t\t\t\t\t\t\tthis.transformArticle()\r\n\t\t\t\t\t\t\t\t\t.subscribe((result: Article) => {\r\n\t\t\t\t\t\t\t\t\t\tthis._oldArticle = this.article = Object.assign(result, this.articleFormGroup.value);\r\n\t\t\t\t\t\t\t\t\t\tthis.threadId = this.article.articleTypeLabel.replace(/\\s/g, '').toLowerCase() + this.article.articleId;\r\n\r\n\t\t\t\t\t\t\t\t\t\t// this seems soooooo wrong\r\n\t\t\t\t\t\t\t\t\t\tsetTimeout(() => { this.updateForm(); }, 0);\r\n\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t})\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\t// we are editing an existing article to create a new version of the same article type\r\n\t\t\t\tthis._subscriptions.add(\r\n\t\t\t\t\tthis.retrieveExistingArticle().subscribe(response => {\r\n\t\t\t\t\t\tif (response && !!response.length) {\r\n\t\t\t\t\t\t\t// article result.. this, in theory, should never be null if response exists\r\n\t\t\t\t\t\t\tvar result = response && response[0] ? response[0] : null;\r\n\r\n\t\t\t\t\t\t\t// gets the technical note meta data\r\n\t\t\t\t\t\t\tvar metadata = response && response[1] ? response[1] : null;\r\n\r\n\t\t\t\t\t\t\t// go get the type based on the result's odata type\r\n\t\t\t\t\t\t\tlet articleType = this.updateArticleType(result['@odata.type']);\r\n\t\t\t\t\t\t\tthis._oldArticle = this.article = result;\r\n\t\t\t\t\t\t\tthis.threadId = this.article.articleTypeLabel.replace(/\\s/g, '').toLowerCase() + this.article.articleId;\r\n\r\n\t\t\t\t\t\t\tif (metadata) {\r\n\t\t\t\t\t\t\t\tthis.articleMetadata = metadata;\r\n\t\t\t\t\t\t\t\tObject.assign(this.article, metadata);\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\tthis._articleService.getArticleType(articleType).subscribe(definition => {\r\n\t\t\t\t\t\t\t\tthis.definition = definition;\r\n\t\t\t\t\t\t\t\tthis.audiences = definition.audiences;\r\n\r\n\t\t\t\t\t\t\t\t// this seems soooooo wrong\r\n\t\t\t\t\t\t\t\tsetTimeout(() => { this.updateForm(); }, 0);\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t}\r\n\t\telse if (this.type !== this._oldType) {\r\n\t\t\tthis._subscriptions.add(\r\n\t\t\t\tthis.transformArticle().subscribe(response => {\r\n\t\t\t\t\tif (response) {\r\n\t\t\t\t\t\tthis._oldArticle = this.article = response;\r\n\t\t\t\t\t\tthis.article.sourceArticleId = this.id;\r\n\t\t\t\t\t\tthis.threadId = this.article.articleTypeLabel.replace(/\\s/g, '').toLowerCase() + this.article.articleId;\r\n\r\n\t\t\t\t\t\tthis._articleService.getArticleType(this.type).subscribe(definition => {\r\n\t\t\t\t\t\t\tthis.definition = definition;\r\n\t\t\t\t\t\t\tthis.audiences = definition.audiences;\r\n\r\n\t\t\t\t\t\t\t// this seems soooooo wrong\r\n\t\t\t\t\t\t\tsetTimeout(() => { this.updateForm(); }, 0);\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\r\n\t\t\t);\r\n\t\t}\r\n\t}\r\n\r\n\tprivate updateArticleType(_articletype: string): string {\r\n\t\tswitch (_articletype) {\r\n\t\t\tcase \"#Alexandria.Entities.Articles.TechnicalNoteArticle\":\r\n\t\t\tcase \"Technical Note\":\r\n\t\t\t\treturn \"technicalnote\";\r\n\t\t\tcase \"#Alexandria.Entities.Articles.SolutionArticle\":\r\n\t\t\tcase \"Solution\":\r\n\t\t\t\treturn \"solution\";\r\n\t\t\tcase \"#Alexandria.Entities.Articles.TroubleshootingArticle\":\r\n\t\t\tcase \"Troubleshooting\":\r\n\t\t\t\treturn \"troubleshooting\";\r\n\t\t\tcase \"#Alexandria.Entities.Articles.FrequentlyAskedQuestionArticle\":\r\n\t\t\tcase \"Frequently Asked Question\":\r\n\t\t\t\treturn \"frequentlyaskedquestion\";\r\n\t\t\tcase \"#Alexandria.Entities.Articles.BestPracticesArticle\":\r\n\t\t\tcase \"Best Practices\":\r\n\t\t\t\treturn \"bestpractices\";\r\n\t\t\tcase \"#Alexandria.Entities.Articles.TechnicalReferenceArticle\":\r\n\t\t\tcase \"Technical Reference\":\r\n\t\t\t\treturn \"technicalreference\";\r\n\t\t\tdefault:\r\n\t\t\t\treturn \"\";\r\n\t\t}\r\n\t}\r\n\r\n\tprivate retrieveExistingArticle(): Observable<[Article, ArticleMetaData]> {\r\n\t\tthis.type = this._oldType = null;\r\n\t\tthis.article = this._oldArticle = null;\r\n\r\n\t\t// need to go get data\r\n\t\tif (!this.id) {\r\n\t\t\tconsole.debug(\"create-edit-articles.component.getArticleData | Skipping due to missing article key\");\r\n\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tlet expand = 'articleDeflectedIncidents, articleTargetedVersions, articleLogPhrases, articleContributors($expand = user), *';\r\n\r\n\t\tvar articleSubscription = this._articleService.getArticles(this.id, this.version, expand);\r\n\t\tvar getMetadata = this._articleService.getArticleMetadata(this.id, this.version);\r\n\r\n\t\treturn forkJoin(articleSubscription, getMetadata);\r\n\t}\r\n\r\n\tprivate transformArticle(): Observable
{\r\n\t\tthis.article = this._oldArticle = null;\r\n\r\n\t\tif (!!this._sourceIncidentId) {\r\n\t\t\treturn this._transformService.getArticleTransform(this._sourceIncidentId, 'Incident', this.type);\r\n\t\t}\r\n\r\n\t\tif (!!this.id) {\r\n\t\t\treturn this._transformService.getArticleTransform(this.id.toString(), 'Article', this.type);\r\n\t\t}\r\n\r\n\t\treturn this._articleService.getDefaultedArticle(this.type);\r\n\t}\r\n\r\n\tprivate updateForm(): void {\r\n\t\tthis.articleFormGroup.patchValue({\r\n\t\t\t'title': this.article.title,\r\n\t\t\t'incidentReference': this.article.incidentReference,\r\n\t\t\t'classificationCode': this.article.classificationCode,\r\n\t\t\t'audience': this.article.audience,\r\n\t\t\t'expiration': this.article.expiration,\r\n\t\t\t'isManualPublish': this.article.isManualPublish\r\n\t\t});\r\n\r\n\t\tswitch (this.definition.id) {\r\n\t\t\tcase \"technicalnote\":\r\n\t\t\t\tthis.patchTechnicalNoteValues(this.article);\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"solution\":\r\n\t\t\t\tthis.patchSolutionValues(this.article);\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"troubleshooting\":\r\n\t\t\t\tthis.patchTroubleshootingValues(this.article);\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"frequentlyaskedquestion\":\r\n\t\t\t\tthis.patchFrequentlyAskedQuestionValues(this.article);\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"bestpractices\":\r\n\t\t\t\tthis.patchBestPracticesValues(this.article);\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"technicalreference\":\r\n\t\t\t\tthis.patchTechnicalReferenceValues(this.article);\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n\r\n\t// The patch methods SHOULD ONLY patch the values that are explicity used in this COMPONENT\r\n\t// the children component should handle their own\r\n\tprivate patchSolutionValues(article: Article): void {\r\n\t\tlet solutionArticle = (article as SolutionArticle);\r\n\r\n\t\tthis.articleFormGroup.controls.classificationCode.setValidators([Validators.required]);\r\n\r\n\t\tthis.articleFormGroup.patchValue({\r\n\t\t\t'content': solutionArticle.content,\r\n\t\t\t'proposedCommonIssueTitle': solutionArticle.proposedCommonIssueTitle\r\n\t\t});\r\n\r\n\t\t// While the function FormGroup.updateValueAndValidity() exists it does not traverse down to children\r\n\t\tthis.articleFormGroup.controls.classificationCode.updateValueAndValidity();\r\n\r\n\t\tthis.type = this._oldType = \"solution\";\r\n\t}\r\n\r\n\t// The patch methods SHOULD ONLY patch the values that are explicity used in this COMPONENT\r\n\t// the children component should handle their own\r\n\tprivate patchFrequentlyAskedQuestionValues(article: Article): void {\r\n\t\tlet faqArticle = (article as FrequentlyAskedQuestionArticle);\r\n\r\n\t\tthis.articleFormGroup.controls.expiration.setValidators([Validators.required]);\r\n\r\n\t\tthis.articleFormGroup.patchValue({\r\n\t\t\t'content': faqArticle.content,\r\n\t\t\t'categoryId': faqArticle.categoryId\r\n\t\t});\r\n\r\n\t\t// While the function FormGroup.updateValueAndValidity() exists it does not traverse down to children\r\n\t\tthis.articleFormGroup.controls.expiration.updateValueAndValidity();\r\n\r\n\t\tthis.type = this._oldType = \"frequentlyaskedquestion\";\r\n\t}\r\n\r\n\t// The patch methods SHOULD ONLY patch the values that are explicity used in this COMPONENT\r\n\t// the children component should handle their own\r\n\tprivate patchBestPracticesValues(article: Article): void {\r\n\t\tlet bestPracticesArticle = (article as BestPracticesArticle);\r\n\r\n\t\tthis.articleFormGroup.controls.expiration.setValidators([Validators.required]);\r\n\r\n\t\tthis.articleFormGroup.patchValue({\r\n\t\t\t'content': bestPracticesArticle.content,\r\n\t\t\t'categoryId': bestPracticesArticle.categoryId\r\n\t\t});\r\n\r\n\t\t// While the function FormGroup.updateValueAndValidity() exists it does not traverse down to children\r\n\t\tthis.articleFormGroup.controls.expiration.updateValueAndValidity();\r\n\r\n\t\tthis.type = this._oldType = \"bestpractices\";\r\n\t}\r\n\r\n\t// The patch methods SHOULD ONLY patch the values that are explicity used in this COMPONENT\r\n\t// the children component should handle their own\r\n\tprivate patchTechnicalReferenceValues(article: Article): void {\r\n\t\tlet technicalReferenceArticle = (article as TechnicalReferenceArticle);\r\n\r\n\t\tthis.articleFormGroup.controls.expiration.setValidators([Validators.required]);\r\n\r\n\t\tthis.articleFormGroup.patchValue({\r\n\t\t\t'content': technicalReferenceArticle.content,\r\n\t\t\t'categoryId': technicalReferenceArticle.categoryId\r\n\t\t});\r\n\r\n\t\t// While the function FormGroup.updateValueAndValidity() exists it does not traverse down to children\r\n\t\tthis.articleFormGroup.controls.expiration.updateValueAndValidity();\r\n\r\n\t\tthis.type = this._oldType = \"technicalreference\";\r\n\t}\r\n\r\n\t// The patch methods SHOULD ONLY patch the values that are explicity used in this COMPONENT\r\n\t// the children component should handle their own\r\n\tprivate patchTechnicalNoteValues(article: Article): void {\r\n\t\tlet technicalNoteArticle = (article as TechnicalNoteArticle);\r\n\r\n\t\tthis.articleFormGroup.controls.classificationCode.setValidators([Validators.required]);\r\n\r\n\t\tthis.articleFormGroup.patchValue({\r\n\t\t\t'symptoms': technicalNoteArticle.symptoms,\r\n\t\t\t'resolution': technicalNoteArticle.resolution,\r\n\t\t\t'additionalResources': technicalNoteArticle.additionalResources,\r\n\t\t\t'moreInformation': technicalNoteArticle.moreInformation\r\n\t\t});\r\n\r\n\t\t// While the function FormGroup.updateValueAndValidity() exists it does not traverse down to children\r\n\t\tthis.articleFormGroup.controls.classificationCode.updateValueAndValidity();\r\n\r\n\t\tthis.type = this._oldType = \"technicalnote\";\r\n\t}\r\n\r\n\t// The patch methods SHOULD ONLY patch the values that are explicity used in this COMPONENT\r\n\t// the children component should handle their own\r\n\tprivate patchTroubleshootingValues(article: Article): void {\r\n\t\tlet troubleshootingArticle = (article as TroubleshootingArticle);\r\n\r\n\t\tthis.articleFormGroup.controls.expiration.setValidators([Validators.required]);\r\n\r\n\t\tthis.articleFormGroup.patchValue({\r\n\t\t\t'title': troubleshootingArticle.title,\r\n\t\t\t'cause': troubleshootingArticle.cause,\r\n\t\t\t'resolution': troubleshootingArticle.resolution,\r\n\t\t\t'categoryId': troubleshootingArticle.categoryId,\r\n\t\t\t'symptoms': troubleshootingArticle.symptoms,\r\n\t\t\t'description': troubleshootingArticle.description\r\n\t\t});\r\n\r\n\t\t// While the function FormGroup.updateValueAndValidity() exists it does not traverse down to children\r\n\t\tthis.articleFormGroup.controls.expiration.updateValueAndValidity();\r\n\r\n\t\tthis.type = this._oldType = \"troubleshooting\";\r\n\t}\r\n\r\n\tprivate mapFormToArticle(): any {\r\n\t\tlet articleToSend: any = new Object();\r\n\r\n\t\tObject.assign(articleToSend, this.article, this.articleFormGroup.value);\r\n\t\t// we need to alter the type if we're editing an existing article,\r\n\t\t// and this.article does not have a type property\r\n\t\tarticleToSend.type = this.type;\r\n\r\n\t\tdelete articleToSend.category;\r\n\r\n\t\tdelete articleToSend.technicalReviewerForm;\r\n\t\tdelete articleToSend.technicalReviewerValidator;\r\n\t\tarticleToSend.affectedApplications = this.applications.filter(r => this.article.articleTargetedVersions.map(item => item.versionApplicationId).indexOf(r.id) >= 0).map(item => item.name).sort().join(', ');\r\n\t\treturn articleToSend;\r\n\t}\r\n\r\n\tprivate getArticleToPreview(): any {\r\n\t\tlet articleToPreview = this.mapFormToArticle();\r\n\r\n\t\tarticleToPreview.articleTypeLabel = this.type; //we need this to display values for article specific fields when creating a new article\r\n\r\n\t\t// need to get values for classification breadcrumb, collaborator names, targeted role names, and properly set log phrases\r\n\t\tif (!!this.articleFormGroup.value['classificationCode']) {\r\n\t\t\tthis._subscriptions.add(\r\n\t\t\t\tthis._classificationService.getBreadcrumb(articleToPreview.classificationCode)\r\n\t\t\t\t\t.subscribe(response => {\r\n\t\t\t\t\t\tarticleToPreview.classificationCode = articleToPreview.classificationCode;\r\n\t\t\t\t\t\tarticleToPreview.classificationText = response;\r\n\t\t\t\t\t})\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\tlet contributors = new Array();\r\n\t\tfor (var i = 0; i < articleToPreview.collaborators.length; i++) {\r\n\t\t\tthis._subscriptions.add(\r\n\t\t\t\tthis._usersService.getUserById(articleToPreview.collaborators[i])\r\n\t\t\t\t\t.subscribe(response => {\r\n\t\t\t\t\t\tlet newContributor = new ArticleContributor();\r\n\t\t\t\t\t\tnewContributor.user = new ArticleAuthor(); // all the users in the contributors collection are of type ArticleAuthor\r\n\t\t\t\t\t\tnewContributor.user.id = response[0].id;\r\n\t\t\t\t\t\tnewContributor.user.userName = response[0].userName;\r\n\r\n\t\t\t\t\t\tcontributors.push(newContributor);\r\n\t\t\t\t\t})\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\tarticleToPreview.articleContributors = contributors;\r\n\t\treturn articleToPreview;\r\n\t}\r\n\r\n\t// this helper method will be used for previewing metadata in modal\r\n\tprivate getArticleMetadata(article: Article): ArticleMetaData {\r\n\t\tlet metadata = new ArticleMetaData();\r\n\r\n\t\tif (this.type == 'technicalnote') {\r\n\t\t\tthis._subscriptions.add(\r\n\t\t\t\tthis._rolesService.getTeams().subscribe(response => {\r\n\t\t\t\t\tlet tempRoles = new Array();\r\n\t\t\t\t\tfor (var i = 0; i < this.articleFormGroup.value['targetedRoles'].length; i++) {\r\n\t\t\t\t\t\tlet tempTeamRole = new Role();\r\n\t\t\t\t\t\ttempTeamRole.id = this.articleFormGroup.value['targetedRoles'][i].roleId;\r\n\t\t\t\t\t\ttempTeamRole.name = response.filter(x => x.id == tempTeamRole.id)[0].name;\r\n\r\n\t\t\t\t\t\tlet tempArticleRole = new ArticleTargetRole();\r\n\t\t\t\t\t\ttempArticleRole.role = tempTeamRole;\r\n\t\t\t\t\t\ttempRoles.push(tempArticleRole);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tmetadata.targetedRoles = tempRoles;\r\n\t\t\t\t})\r\n\t\t\t);\r\n\t\t}\r\n\t\telse {\r\n\t\t\t// all other articles that use metadata are KB type, so casting as any KB type should give the result for technicalReviewer\r\n\t\t\tmetadata.technicalReviewer = (article as TroubleshootingArticle).technicalReviewer;\r\n\t\t}\r\n\r\n\t\treturn metadata;\r\n\t}\r\n\r\n\tprivate getAudience(audience: string): string {\r\n\t\tswitch (audience) {\r\n\t\t\tcase \"Internal\":\r\n\t\t\t\treturn \"1\";\r\n\t\t\tcase \"Partners\":\r\n\t\t\t\treturn \"2\";\r\n\t\t\tcase \"Customers\":\r\n\t\t\t\treturn \"3\";\r\n\t\t\tcase \"Anonymous\":\r\n\t\t\t\treturn \"4\";\r\n\t\t};\r\n\t}\r\n\r\n\tpublic hasProperty(obj: any, propertyName: string): boolean {\r\n\t\t// unlike in C#, you cannot check if an object has a property if it is null\r\n\t\tif (!obj) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\treturn propertyName in obj;\r\n\t}\r\n\r\n\tpublic articleHasProperty(propertyName: string): boolean {\r\n\t\treturn this.hasProperty(this.article, propertyName);\r\n\t}\r\n\r\n\tpublic saveArticle(isMajorVersion: boolean = false, isMinorRevision: boolean = false): void {\r\n\t\tthis.hasBeenSubmitted = true;\r\n\r\n\t\tif (this.articleFormGroup.invalid) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis._modalRef = this._modalService.show(PublishConfirmationComponent);\r\n\t\tthis._subscriptions.add(\r\n\t\t\tthis._modalRef.content.onClose.subscribe(result => {\r\n\t\t\t\tif (result.isCancelled) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tlet articleToSend = this.mapFormToArticle();\r\n\r\n\t\t\t\tarticleToSend.isMinorRevision = isMinorRevision;\r\n\t\t\t\tarticleToSend.audience = this.getAudience(articleToSend.audience);\r\n\t\t\t\tarticleToSend.comment = result.comment;\r\n\r\n\t\t\t\tthis._articleService.saveArticle(articleToSend, isMajorVersion)\r\n\t\t\t\t\t.subscribe(response => {\r\n\t\t\t\t\t\tthis._router.navigate([`/article/details/${response.articleId}/${response.version}`]);\r\n\t\t\t\t\t});\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tpublic openPreviewModal() {\r\n\t\tlet previewArticle = this.getArticleToPreview();\r\n\t\tlet metadata: ArticleMetaData = null;\r\n\r\n\t\tif (this.type != 'solution') {\r\n\t\t\tmetadata = this.getArticleMetadata(previewArticle);\r\n\t\t}\r\n\r\n\t\tconst initialState = {\r\n\t\t\tarticle: previewArticle,\r\n\t\t\tisPreview: true,\r\n\t\t\tmetadata: metadata\r\n\t\t}\r\n\r\n\t\tthis._modalRef = this._modalService.show(ArticlesViewerModalPreviewComponent, { initialState: initialState, class: 'modal-xlg' });\r\n\t}\r\n\r\n}\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\modules\\\\content-manager\\\\components\\\\create-edit-articles\\\\log-phrases\\\\log-phrases.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvY29udGVudC1tYW5hZ2VyL2NvbXBvbmVudHMvY3JlYXRlLWVkaXQtYXJ0aWNsZXMvbG9nLXBocmFzZXMvbG9nLXBocmFzZXMuY29tcG9uZW50LnNjc3MifQ== */\"","import { Component, OnInit, Input } from '@angular/core';\r\nimport { FormGroup, FormControl, Validators, FormBuilder, FormArray } from '@angular/forms';\r\n\r\nimport { ArticleLogPhrase } from '../../../../../core/models/articles/article-log-phrase.model';\r\nimport { Article } from '../../../../../core/models/articles/article.model';\r\n\r\n@Component({\r\n\tselector: 'app-log-phrases',\r\n\ttemplateUrl: './log-phrases.component.pug',\r\n\tstyleUrls: ['./log-phrases.component.scss']\r\n})\r\nexport class LogPhrasesComponent implements OnInit {\r\n\r\n\treadonly logPhrasesTargetControlName = 'logPhrases';\r\n\r\n\t@Input('group')\r\n\tpublic formGroup: FormGroup;\r\n\r\n\t@Input(\"article\")\r\n\tpublic article: Article;\r\n\r\n\tconstructor(private _fb: FormBuilder) {\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tthis.createForm();\r\n\t}\r\n\r\n\tprivate createForm(): void {\r\n\t\tif (this.formGroup) {\r\n\t\t\tlet controls: FormGroup[] = [];\r\n\r\n\t\t\tif (this.article && this.article.articleLogPhrases) {\r\n\t\t\t\tcontrols = this.article.articleLogPhrases.map(r => this._fb.group({\r\n\t\t\t\t\tfilename: [r.filename, Validators.required],\r\n\t\t\t\t\tphrase: [r.phrase, Validators.required]\r\n\t\t\t\t}));\r\n\t\t\t}\r\n\r\n\t\t\tthis.formGroup.addControl(this.logPhrasesTargetControlName, this._fb.array(controls));\r\n\t\t}\r\n\t}\r\n\r\n\tprivate initLogPhrase(): FormGroup {\r\n\t\treturn this._fb.group({\r\n\t\t\tfilename: ['', Validators.required],\r\n\t\t\tphrase: ['', Validators.required]\r\n\t\t});\r\n\t}\r\n\r\n\tpublic addLogPhrase(): void {\r\n\t\tconst control = this.formGroup.controls[this.logPhrasesTargetControlName];\r\n\r\n\t\tcontrol.push(this.initLogPhrase());\r\n\t}\r\n\r\n\tpublic removeLogPhrase(i: number): void {\r\n\t\tconst control = this.formGroup.controls[this.logPhrasesTargetControlName];\r\n\r\n\t\tcontrol.removeAt(i);\r\n\t}\r\n\r\n\t// needed because of a bug reported back in Angular version 5 that does not cast\r\n\tpublic getControls(key: string): any {\r\n\t\treturn (this.formGroup.controls[key]).controls;\r\n\t}\r\n\r\n}\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\modules\\\\content-manager\\\\components\\\\create-edit-articles\\\\markdown-property-editor\\\\markdown-property-editor.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvY29udGVudC1tYW5hZ2VyL2NvbXBvbmVudHMvY3JlYXRlLWVkaXQtYXJ0aWNsZXMvbWFya2Rvd24tcHJvcGVydHktZWRpdG9yL21hcmtkb3duLXByb3BlcnR5LWVkaXRvci5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component, OnInit, Input } from '@angular/core';\r\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\r\n\r\n@Component({\r\n\tselector: 'app-markdown-property-editor',\r\n\ttemplateUrl: './markdown-property-editor.component.pug',\r\n\tstyleUrls: ['./markdown-property-editor.component.scss']\r\n})\r\nexport class MarkdownPropertyEditorComponent implements OnInit {\r\n\r\n\t@Input('group')\r\n\tpublic formGroup: FormGroup;\r\n\r\n\t@Input()\r\n\tpublic controlName: string;\r\n\r\n\t@Input()\r\n\tpublic isRequired: boolean;\r\n\r\n\t@Input()\r\n\tpublic options: any;\r\n\r\n\tconstructor() {\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tthis.updateForm();\r\n\t}\r\n\r\n\tprivate updateForm(): void {\r\n\t\tif (this.formGroup) {\r\n\t\t\tif (this.isRequired) {\r\n\t\t\t\tthis.formGroup.addControl(this.controlName, new FormControl('', Validators.required));\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tthis.formGroup.addControl(this.controlName, new FormControl(''));\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n}\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\modules\\\\content-manager\\\\components\\\\create-edit-articles\\\\proposed-node\\\\proposed-node.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvY29udGVudC1tYW5hZ2VyL2NvbXBvbmVudHMvY3JlYXRlLWVkaXQtYXJ0aWNsZXMvcHJvcG9zZWQtbm9kZS9wcm9wb3NlZC1ub2RlLmNvbXBvbmVudC5zY3NzIn0= */\"","import { Component, OnInit, Input, OnDestroy } from '@angular/core';\r\nimport { FormControl, FormGroup, AbstractControl, ValidatorFn, ValidationErrors, Validators } from '@angular/forms';\r\n\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { ClassificationSelectionService } from '../../../../classification/services/classification-selection/classification-selection.service';\r\n\r\nimport { GraphNode } from '../../../../classification/models/graph-node.model';\r\n\r\n@Component({\r\n\tselector: 'app-proposed-node',\r\n\ttemplateUrl: './proposed-node.component.pug',\r\n\tstyleUrls: ['./proposed-node.component.scss']\r\n})\r\nexport class ProposedNodeComponent implements OnInit, OnDestroy {\r\n\r\n\t@Input(\"group\")\r\n\tpublic formGroup: FormGroup;\r\n\r\n\tprivate _subscriptions = new Subscription();\r\n\r\n\tprivate _commonIssueNodeSelected: boolean | null = null;\r\n\r\n\tconstructor(private _nodeSelectedService: ClassificationSelectionService) {\r\n\t\tthis._subscriptions.add(\r\n\t\t\tthis._nodeSelectedService.getNode()\r\n\t\t\t\t.subscribe(node => {\r\n\t\t\t\t\tthis.onClassificationNodeSelected(node);\r\n\t\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tthis.updateForm();\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis._subscriptions.unsubscribe();\r\n\t}\r\n\r\n\tprivate updateForm(): void {\r\n\r\n\t\t// custom function for determining if Proposed Common Issue Title is valid\r\n\t\tfunction requiredIfCommonIssueNotSelected(scope: any): ValidatorFn {\r\n\t\t\treturn (control: AbstractControl): ValidationErrors | null => {\r\n\t\t\t\t// wish there was a cleaner way to inject the boolean flag that indicates if the selected node\r\n\t\t\t\t// is a common issue or not\r\n\r\n\t\t\t\t// Validation rules -->\r\n\t\t\t\t// - if node is a Common Issue then Proposed Common Issue must be blank\r\n\t\t\t\t// - if node is NOT a Common Issue then Proposed Common Issue must have a value\r\n\t\t\t\t// - if no node is selected then anything is valid (no real way to know this based on a boolean)\r\n\r\n\t\t\t\tif (scope._commonIssueNodeSelected == null) {\r\n\t\t\t\t\treturn null;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (scope._commonIssueNodeSelected && !control.value) {\r\n\t\t\t\t\treturn null;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (!scope._commonIssueNodeSelected && control.value) {\r\n\t\t\t\t\treturn null;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// we are invalid\r\n\t\t\t\tlet message: string = (scope._commonIssueNodeSelected ?\r\n\t\t\t\t\t'Proposing a new Common Issue is not allowed when the selected Classification is already a Common Issue'\r\n\t\t\t\t\t: 'Proposing a new Common Issue is required when the selected Classification is not a Common Issue');\r\n\r\n\t\t\t\treturn { proposedNode: message }\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (this.formGroup) {\r\n\t\t\tthis.formGroup.addControl('proposedCommonIssueTitle', new FormControl('', requiredIfCommonIssueNotSelected(this)));\r\n\t\t}\r\n\t}\r\n\r\n\tprivate onClassificationNodeSelected(selectedNode: GraphNode): void {\r\n\t\tthis._commonIssueNodeSelected = (selectedNode.nodeType == 'common-issue');\r\n\r\n\t\tif (this._commonIssueNodeSelected) {\r\n\t\t\t// clear the existing value and disable it\r\n\t\t\tthis.formGroup.patchValue({\r\n\t\t\t\t'proposedCommonIssueTitle': ''\r\n\t\t\t});\r\n\r\n\t\t\tthis.formGroup.controls['proposedCommonIssueTitle'].disable();\r\n\t\t}\r\n\t\telse {\r\n\t\t\tthis.formGroup.controls['proposedCommonIssueTitle'].enable();\r\n\t\t}\r\n\r\n\t\tthis.formGroup.controls['proposedCommonIssueTitle'].updateValueAndValidity();\r\n\t}\r\n\r\n}\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\modules\\\\content-manager\\\\components\\\\create-edit-articles\\\\targeted-roles\\\\targeted-roles.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvY29udGVudC1tYW5hZ2VyL2NvbXBvbmVudHMvY3JlYXRlLWVkaXQtYXJ0aWNsZXMvdGFyZ2V0ZWQtcm9sZXMvdGFyZ2V0ZWQtcm9sZXMuY29tcG9uZW50LnNjc3MifQ== */\"","import { Component, OnInit, OnDestroy, Input } from '@angular/core';\r\nimport { FormGroup, FormControl, FormArray, Validators } from '@angular/forms';\r\n\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { RolesService } from '../../../../../core/services/roles/roles.service';\r\n\r\nimport { TechnicalNoteArticle } from '../../../../../core/models/articles/article-technical-note.model';\r\nimport { Role } from '../../../../../core/models/roles/role.model';\r\n\r\n@Component({\r\n\tselector: 'app-targeted-roles',\r\n\ttemplateUrl: './targeted-roles.component.pug',\r\n\tstyleUrls: ['./targeted-roles.component.scss']\r\n})\r\nexport class TargetedRolesComponent implements OnInit, OnDestroy {\r\n\r\n\treadonly rolesTargetControlName = 'targetedRoles';\r\n\t\r\n\t@Input(\"group\")\r\n\tpublic formGroup: FormGroup;\r\n\r\n\t@Input(\"article\")\r\n\tpublic article: TechnicalNoteArticle;\r\n\r\n\tpublic roles: Array;\r\n\r\n\tpublic checkboxGroup: FormGroup;\r\n\r\n\tprivate _subscriptions = new Subscription();\r\n\r\n\tconstructor(private _rolesService: RolesService) { }\r\n\r\n\tngOnInit() {\r\n\t\tthis.getRoles();\r\n\t}\r\n\r\n\tprivate getRoles(): void {\r\n\t\tthis._subscriptions.add(\r\n\t\t\tthis._rolesService.getTeams()\r\n\t\t\t\t.subscribe(results => {\r\n\t\t\t\t\tthis.roles = results.sort((left, right): number => { return (left.name > right.name) ? 1 : ((right.name > left.name) ? -1 : 0); });\r\n\r\n\t\t\t\t\tthis.createForm();\r\n\t\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tprivate createForm(): void {\r\n\t\tif (this.formGroup) {\r\n\t\t\t// form elements that are bound to external group\r\n\t\t\tthis.formGroup.addControl(this.rolesTargetControlName, new FormArray([], Validators.required));\r\n\r\n\t\t\t// create an internal FormGroup for binding to the checkboxes\r\n\t\t\tconst controls = this.roles.map(r => new FormControl(this.article && this.article.targetedRoles && this.article.targetedRoles.some(tr => tr.roleId == r.id)));\r\n\r\n\t\t\tthis.checkboxGroup = new FormGroup({\r\n\t\t\t\titems: new FormArray(controls)\r\n\t\t\t});\r\n\r\n\t\t\tthis._subscriptions.add(\r\n\t\t\t\tthis.checkboxGroup.controls['items'].valueChanges\r\n\t\t\t\t\t.subscribe(val => {\r\n\t\t\t\t\t\tthis.syncSelectedRoles(val);\r\n\t\t\t\t\t})\r\n\t\t\t);\r\n\r\n\t\t\tthis.syncSelectedRoles(this.checkboxGroup.controls.items.value);\r\n\t\t}\r\n\t}\r\n\r\n\tprivate syncSelectedRoles(val: Array): void {\r\n\t\tlet externalControls = this.formGroup.controls[this.rolesTargetControlName];\r\n\r\n\t\t// clear existing and add anything that is checked\r\n\t\t// clearing this way maintains any subscriptions to the FormArray that may exist\r\n\t\twhile (externalControls.length !== 0) {\r\n\t\t\texternalControls.removeAt(0);\r\n\t\t}\r\n\r\n\t\tfor (let i = 0; i < val.length; i++) {\r\n\t\t\tif (val[i]) {\r\n\t\t\t\texternalControls.push(\r\n\t\t\t\t\tnew FormGroup({\r\n\t\t\t\t\t\troleId: new FormControl(this.roles[i].id)\r\n\t\t\t\t\t})\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t// needed because of a bug reported back in Angular version 5 that does not cast\r\n\tpublic getControls(key: string): any {\r\n\t\treturn (this.checkboxGroup.controls[key]).controls;\r\n\t}\r\n\r\n\tngOnDestroy(): void {\r\n\t\tthis._subscriptions.unsubscribe();\r\n\t}\r\n\r\n}\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\modules\\\\content-manager\\\\components\\\\create-edit-articles\\\\technical-reviewer\\\\technical-reviewer.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvY29udGVudC1tYW5hZ2VyL2NvbXBvbmVudHMvY3JlYXRlLWVkaXQtYXJ0aWNsZXMvdGVjaG5pY2FsLXJldmlld2VyL3RlY2huaWNhbC1yZXZpZXdlci5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component, OnInit, Input, OnDestroy } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\r\n\r\nimport { DataManager, ODataV4Adaptor, Query } from '@syncfusion/ej2-data';\r\n\r\nimport { AuthService } from '../../../../../core/services/auth/auth.service';\r\nimport { Article } from '../../../../../core/models/articles/article.model';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-technical-reviewer',\r\n templateUrl: './technical-reviewer.component.pug',\r\n styleUrls: ['./technical-reviewer.component.scss']\r\n})\r\nexport class TechnicalReviewerComponent implements OnInit {\r\n\r\n\t@Input(\"group\")\r\n\tpublic formGroup: FormGroup;\r\n\r\n\t@Input(\"article\")\r\n\tpublic article: Article;\r\n\r\n\tpublic remoteFields = { text: 'userName', value: 'id' };\r\n\r\n\tpublic data: DataManager;\r\n\r\n\tpublic query: Query;\r\n\r\n\tprivate _subscriptions = new Subscription();\r\n\r\n\tconstructor(private _fb: FormBuilder, private _authService: AuthService) {\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tthis.bindData();\r\n\t\tthis.createForm();\r\n\t}\r\n\r\n\tprivate createForm(): void {\r\n\t\tif (this.formGroup) {\r\n\t\t\tthis.formGroup.addControl('technicalReviewerIdForm', this._fb.control(''));\r\n\t\t\tthis.formGroup.addControl(\"technicalReviewerValidator\", new FormControl(false, Validators.requiredTrue));\r\n\r\n\t\t\tthis._subscriptions.add(\r\n\t\t\t\tthis.formGroup.get(\"technicalReviewerIdForm\").valueChanges\r\n\t\t\t\t\t.subscribe(value => {\r\n\t\t\t\t\t\tif (value.length > 0) {\r\n\t\t\t\t\t\t\tthis.formGroup.patchValue({ \"technicalReviewerValidator\": true });\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\tthis.formGroup.patchValue({ \"technicalReviewerValidator\": false });\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tthis.article.technicalReviewerId = value[0];\r\n\t\t\t\t\t})\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\tif (this.article && this.article.technicalReviewerId) {\r\n\t\t\tthis.formGroup.patchValue({\r\n\t\t\t\t\"technicalReviewerIdForm\": new Array(this.article.technicalReviewerId)\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tprivate bindData(): void {\r\n\t\tthis.data = new DataManager({\r\n\t\t\turl: '/odata/User',\r\n\t\t\tadaptor: new ODataV4Adaptor,\r\n\t\t\tcrossDomain: false,\r\n\t\t\theaders: [{ 'Authorization': this._authService.getAuthorizationHeaderValue() }]\r\n\t\t});\r\n\r\n\t\tthis.query = new Query().select(['id', 'userName']);\r\n\t}\r\n\r\n\tngOnDestroy(): void {\r\n\t\tthis._subscriptions.unsubscribe();\r\n\t}\r\n\r\n}\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\modules\\\\content-manager\\\\components\\\\manage-articles\\\\manage-articles.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \".e-grid tr.e-columnheader th.e-headercell {\\n background: #F5F5F5;\\n border-style: solid;\\n border-color: #CCC;\\n border-right-width: 1px; }\\n\\n.e-grid .e-rowcell {\\n border-style: solid;\\n border-color: #CCC;\\n border-right-width: 1px; }\\n\\n.e-grid tr:nth-child(even) {\\n background: #F5F5F5; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9jb250ZW50LW1hbmFnZXIvY29tcG9uZW50cy9tYW5hZ2UtYXJ0aWNsZXMvQzpcXFVzZXJzXFxtam9zaGlcXHNvdXJjZVxccmVwb3NcXEFsZXhhbmRyaWFcXEFsZXhhbmRyaWFcXEFsZXhhbmRyaWEuV2Vic2l0ZVxcQ2xpZW50QXBwL3NyY1xcYXBwXFxtb2R1bGVzXFxjb250ZW50LW1hbmFnZXJcXGNvbXBvbmVudHNcXG1hbmFnZS1hcnRpY2xlc1xcbWFuYWdlLWFydGljbGVzLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBRUUsbUJBQW1CO0VBQ25CLG1CQUFtQjtFQUNuQixrQkFBa0I7RUFDbEIsdUJBQXVCLEVBQUE7O0FBTHpCO0VBU0UsbUJBQW1CO0VBQ25CLGtCQUFrQjtFQUNsQix1QkFBdUIsRUFBQTs7QUFYekI7RUFlRSxtQkFBbUIsRUFBQSIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvY29udGVudC1tYW5hZ2VyL2NvbXBvbmVudHMvbWFuYWdlLWFydGljbGVzL21hbmFnZS1hcnRpY2xlcy5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5lLWdyaWQge1xyXG5cdHRyLmUtY29sdW1uaGVhZGVyIHRoLmUtaGVhZGVyY2VsbCB7XHJcblx0XHRiYWNrZ3JvdW5kOiAjRjVGNUY1O1xyXG5cdFx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcclxuXHRcdGJvcmRlci1jb2xvcjogI0NDQztcclxuXHRcdGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xyXG5cdH1cclxuXHJcblx0LmUtcm93Y2VsbCB7XHJcblx0XHRib3JkZXItc3R5bGU6IHNvbGlkO1xyXG5cdFx0Ym9yZGVyLWNvbG9yOiAjQ0NDO1xyXG5cdFx0Ym9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XHJcblx0fVxyXG5cclxuXHR0cjpudGgtY2hpbGQoZXZlbikge1xyXG5cdFx0YmFja2dyb3VuZDogI0Y1RjVGNTtcclxuXHR9XHJcbn1cclxuIl19 */\"","import { Component, OnInit, OnDestroy, ViewChild } from '@angular/core';\r\nimport { ActivatedRoute, Router, ParamMap } from '@angular/router';\r\n\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { FilterSettingsModel, PageSettingsModel, SortSettingsModel, IFilter } from '@syncfusion/ej2-angular-grids';\r\nimport { DataManager, Query, ODataV4Adaptor } from '@syncfusion/ej2-data';\r\n\r\nimport { ArticleService } from '../../../../core/services/articles/article.service';\r\nimport { AuthService } from '../../../../core/services/auth/auth.service';\r\n\r\nimport { ArticleDefinition } from '../../../../core/models/articles/article-definition.model';\r\nimport { Views } from '../../../../core/models/views/views.model';\r\n\r\n@Component({\r\n\tselector: 'app-manage-articles',\r\n\ttemplateUrl: './manage-articles.component.pug',\r\n\tstyleUrls: ['./manage-articles.component.scss']\r\n})\r\nexport class ManageArticlesComponent implements OnInit, OnDestroy {\r\n\r\n\tprivate _pageSizes: number[] = [15, 30, 50, 100];\r\n\r\n\tprivate _subscriptions = new Subscription();\r\n\r\n\tpublic viewOptions: Array;\r\n\r\n\tpublic definitions: Array;\r\n\r\n\tpublic manageArticleResults: DataManager;\r\n\r\n\tpublic filterOptions: FilterSettingsModel;\r\n\r\n\tpublic discriminatorFilter: IFilter;\r\n\r\n\tpublic workflowStateFilter: IFilter;\r\n\r\n\tpublic affectedApplicationsFilter: IFilter;\r\n\r\n\tpublic pageOptions: PageSettingsModel;\r\n\r\n\tpublic sortOptions: SortSettingsModel;\r\n\r\n\tpublic activeView: string;\r\n\r\n\tpublic query: Query;\r\n\r\n\tconstructor(private _articleService: ArticleService, private _authService: AuthService, private _route: ActivatedRoute, private _router: Router) { }\r\n\r\n\t@ViewChild('articlesGrid') articlesGrid;\r\n\r\n\tngOnInit() {\r\n\t\t// ** Go get data we need for view/form options\r\n\r\n\t\tthis._articleService.getViews().subscribe(response => {\r\n\t\t\tthis.viewOptions = response;\r\n\t\t});\r\n\r\n\t\tthis._articleService.getArticleTypes().subscribe(response => {\r\n\t\t\tthis.definitions = response;\r\n\t\t});\r\n\r\n\t\t// ** Set up the grid for filtering/sorting\r\n\r\n\t\tthis.pageOptions = { pageCount: 15, pageSize: this._pageSizes[0], pageSizes: this._pageSizes };\r\n\r\n\t\tthis.filterOptions = {\r\n\t\t\ttype: 'Menu'\r\n\t\t};\r\n\r\n\t\t// Hopefully this will no longer be needed once OData groupby() is fixed.\r\n\t\tthis.discriminatorFilter = {\r\n\t\t\ttype: 'CheckBox'\r\n\t\t};\r\n\r\n\t\tthis.workflowStateFilter = {\r\n\t\t\ttype: 'CheckBox'\r\n\t\t};\r\n\r\n\t\tthis.affectedApplicationsFilter = {\r\n\t\t\ttype: 'CheckBox'\r\n\t\t};\r\n\r\n\t\tthis.sortOptions = { columns: [{ field: 'modified', direction: 'Descending' }] };\r\n\r\n\t\tthis.query = new Query().expand('author').select(['discriminator', 'affectedApplications', 'articleId', 'version', 'versionLabel', 'workflowState', 'title', 'classificationText', 'author.userName', 'modified']);\r\n\r\n\t\t// ** React to view changes and update data\r\n\r\n\t\tthis._subscriptions.add(\r\n\t\t\tthis._route.paramMap.subscribe((map: ParamMap) => {\r\n\t\t\t\tthis.activeView = map.get('view') || 'mydrafts';\r\n\r\n\t\t\t\tthis.applyViewToResult();\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis._subscriptions.unsubscribe();\r\n\t}\r\n\r\n\tprivate applyViewToResult(): void {\r\n\t\t// Not really results being bound but the DataManager\r\n\t\tthis.manageArticleResults = this.getDataManagerArticles(this.activeView);\r\n\t}\r\n\r\n\tprivate applyViewToRouter(): void {\r\n\t\t// This check is needed because we can initially hit the component two different ways\r\n\t\t// /article/management\r\n\t\t// /article/management/some_view_name\r\n\r\n\t\tif (this._route.snapshot.paramMap.get('view')) {\r\n\t\t\tthis._router.navigate(['..', this.activeView], { relativeTo: this._route });\r\n\t\t}\r\n\t\telse {\r\n\t\t\tthis._router.navigate([this.activeView], { relativeTo: this._route });\r\n\t\t}\r\n\t}\r\n\r\n\tprivate getDataManagerArticles(articleView: string): DataManager {\r\n\t\treturn new DataManager({\r\n\t\t\turl: `odata/article/view(view='${articleView}')`,\r\n\t\t\tadaptor: new ODataV4Adaptor,\r\n\t\t\tcrossDomain: true,\r\n\t\t\theaders: [{ 'Authorization': this._authService.getAuthorizationHeaderValue() }],\r\n\t\t});\r\n\t}\r\n\r\n\tpublic onViewChange(value: string): void {\r\n\t\tthis.activeView = value;\r\n\r\n\t\tthis.applyViewToRouter();\r\n\t}\r\n\r\n\tpublic onRefresh(): void {\r\n\t\tthis.articlesGrid.refresh();\r\n\t}\r\n\r\n\tpublic onBeginGridAction(e) {\r\n\t\tswitch (e.requestType) {\r\n\t\t\tcase 'filterbeforeopen':\r\n\t\t\t\tswitch (e.columnName) {\r\n\t\t\t\t\tcase 'workflowState':\r\n\t\t\t\t\t\te.filterModel.options.dataSource = [\r\n\t\t\t\t\t\t\t{ workflowState: \"ApprovalDenied\" },\r\n\t\t\t\t\t\t\t{ workflowState: \"Approved\" },\r\n\t\t\t\t\t\t\t{ workflowState: \"Draft\" },\r\n\t\t\t\t\t\t\t{ workflowState: \"EditorialReview\" },\r\n\t\t\t\t\t\t\t{ workflowState: \"PartnerAccessible\" },\r\n\t\t\t\t\t\t\t{ workflowState: \"PartnerAccessibleDenied\" },\r\n\t\t\t\t\t\t\t{ workflowState: \"PendingApproval\" },\r\n\t\t\t\t\t\t\t{ workflowState: \"PendingPartnerAccessible\" },\r\n\t\t\t\t\t\t\t{ workflowState: \"ReviewDenied\" },\r\n\t\t\t\t\t\t\t{ workflowState: \"Reviewed\" },\r\n\t\t\t\t\t\t\t{ workflowState: \"TechnicalReview\" },\r\n\t\t\t\t\t\t\t{ workflowState: \"TechnoteDraft\" },\r\n\t\t\t\t\t\t\t{ workflowState: \"TechnotePendingPromotion\" },\r\n\t\t\t\t\t\t\t{ workflowState: \"TechnotePendingPromotion_PartnerAccessible\" },\r\n\t\t\t\t\t\t\t{ workflowState: \"TechnotePromoted\" },\r\n\t\t\t\t\t\t\t{ workflowState: \"TechnotePromoted_PartnerAccessible\" },\r\n\t\t\t\t\t\t\t{ workflowState: \"TechnotePromoted_PendingPartnerAccessible\" },\r\n\t\t\t\t\t\t\t{ workflowState: \"TechnotePromotionDenied\" },\r\n\t\t\t\t\t\t\t{ workflowState: \"Unpublished\" }\r\n\t\t\t\t\t\t];\r\n\t\t\t\t\t\te.filterModel.options.filteredColumns =\r\n\t\t\t\t\t\t\te.filterModel.options.filteredColumns.filter(function (col) {\r\n\t\t\t\t\t\t\t\tif (col.field == 'workflowState') {\r\n\t\t\t\t\t\t\t\t\treturn true;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 'discriminator':\r\n\t\t\t\t\t\te.filterModel.options.dataSource = [\r\n\t\t\t\t\t\t\t{ discriminator: \"BestPracticesArticle\" },\r\n\t\t\t\t\t\t\t{ discriminator: \"FrequentlyAskedQuestionArticle\" },\r\n\t\t\t\t\t\t\t{ discriminator: \"SolutionArticle\" },\r\n\t\t\t\t\t\t\t{ discriminator: \"TechnicalNoteArticle\" },\r\n\t\t\t\t\t\t\t{ discriminator: \"TechnicalReferenceArticle\" },\r\n\t\t\t\t\t\t\t{ discriminator: \"TroubleshootingArticle\" }\r\n\t\t\t\t\t\t];\r\n\t\t\t\t\t\te.filterModel.options.filteredColumns =\r\n\t\t\t\t\t\t\te.filterModel.options.filteredColumns.filter(function (col) {\r\n\t\t\t\t\t\t\t\tif (col.field == 'discriminator') {\r\n\t\t\t\t\t\t\t\t\treturn true;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 'affectedApplications':\r\n\t\t\t\t\t\te.filterModel.options.dataSource = [\r\n\t\t\t\t\t\t\t{ affectedApplications: \"Commvault\" },\r\n\t\t\t\t\t\t\t{ affectedApplications: \"Metallic\" },\r\n\t\t\t\t\t\t\t{ affectedApplications: \"Hedvig\" }\r\n\t\t\t\t\t\t];\r\n\t\t\t\t\t\te.filterModel.options.filteredColumns =\r\n\t\t\t\t\t\t\te.filterModel.options.filteredColumns.filter(function (col) {\r\n\t\t\t\t\t\t\t\tif (col.field == 'affectedApplications') {\r\n\t\t\t\t\t\t\t\t\treturn true;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'filtering':\r\n\t\t\t\te.columns.forEach(col => {\r\n\t\t\t\t\tswitch (col.field) {\r\n\t\t\t\t\t\tcase 'affectedApplications':\r\n\t\t\t\t\t\t\tcol.operator = col.operator !== \"notequal\" ? \"contains\" : col.operator;\r\n\t\t\t\t\t\tcase 'discriminator':\r\n\t\t\t\t\t\tcase 'workflowState':\r\n\t\t\t\t\t\t\tcol.matchCase = true;\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n}\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\modules\\\\content-manager\\\\components\\\\publish-confirmation\\\\publish-confirmation.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvY29udGVudC1tYW5hZ2VyL2NvbXBvbmVudHMvcHVibGlzaC1jb25maXJtYXRpb24vcHVibGlzaC1jb25maXJtYXRpb24uY29tcG9uZW50LnNjc3MifQ== */\"","import { Component, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\nimport { Subject } from 'rxjs';\r\n\r\nimport { BsModalRef } from 'ngx-bootstrap';\r\n\r\nimport { Confirmation } from '../../models/confirmation.model';\r\n\r\n@Component({\r\n selector: 'app-publish-confirmation',\r\n templateUrl: './publish-confirmation.component.pug',\r\n styleUrls: ['./publish-confirmation.component.scss']\r\n})\r\nexport class PublishConfirmationComponent implements OnInit {\r\n\r\n public formGroup: FormGroup;\r\n\r\n public submittedOnce: boolean;\r\n\r\n public onClose: Subject;\r\n\r\n constructor(private _bsModalRef: BsModalRef, private _fb: FormBuilder) {\r\n }\r\n\r\n public ngOnInit(): void {\r\n\t this.submittedOnce = false;\r\n\r\n\t this.formGroup = this._fb.group({\r\n\t\t comment: ['', [Validators.minLength(5)]]\r\n\t });\r\n\r\n\t this.onClose = new Subject();\r\n }\r\n\r\n public onConfirm(): void {\r\n\t this.submittedOnce = true;\r\n\r\n\t if (this.formGroup.invalid) {\r\n\t\t return;\r\n\t }\r\n\r\n\t const comment = this.formGroup.controls['comment'].value.replace(/<[^>]*>/g, '');\r\n\r\n\t this.onClose.next({ isCancelled: false, comment: comment });\r\n\t this._bsModalRef.hide();\r\n }\r\n\r\n public onCancel(): void {\r\n\t this.onClose.next({ isCancelled: true, comment: null });\r\n\t this._bsModalRef.hide();\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\n\r\nimport { ManageArticlesComponent } from './components/manage-articles/manage-articles.component';\r\nimport { CreateArticlesListComponent } from './components/create-articles-list/create-articles-list.component';\r\nimport { CreateEditArticlesComponent } from './components/create-edit-articles/create-edit-articles/create-edit-articles.component';\r\nimport { AuthPermissionsGuard } from '../../core/services/permissions/auth-permissions.guard';\r\n\r\nconst routes: Routes = [\r\n\t{\r\n\t\tpath: 'article/create', component: CreateArticlesListComponent, canActivate: [AuthPermissionsGuard], data: {\r\n\t\t\troles: ['compose-internal-articles', 'compose-private-articles', 'compose-public-articles']\r\n\t\t}\r\n\t},\r\n\t{\r\n\t\tpath: 'article/management', component: ManageArticlesComponent, canActivate: [AuthPermissionsGuard], data: {\r\n\t\t\troles: ['compose-internal-articles', 'compose-private-articles', 'compose-public-articles']\r\n\t\t}\r\n\t},\r\n\t{\r\n\t\tpath: 'article/management/:view', component: ManageArticlesComponent, canActivate: [AuthPermissionsGuard], data: {\r\n\t\t\troles: ['compose-internal-articles', 'compose-private-articles', 'compose-public-articles']\r\n\t\t}\r\n\t},\r\n\t{\r\n\t\tpath: 'article/create/:type', component: CreateEditArticlesComponent, canActivate: [AuthPermissionsGuard], data: {\r\n\t\t\troles: ['compose-internal-articles', 'compose-private-articles', 'compose-public-articles']\r\n\t\t}\r\n\t},\r\n\t{\r\n\t\tpath: 'article/edit/:id/:version', component: CreateEditArticlesComponent, canActivate: [AuthPermissionsGuard], data: {\r\n\t\t\troles: ['compose-internal-articles', 'compose-private-articles', 'compose-public-articles']\r\n\t\t}\r\n\t},\r\n];\r\n\r\n@NgModule({\r\n\timports: [RouterModule.forChild(routes)],\r\n\texports: [RouterModule]\r\n})\r\nexport class ContentManagerRoutingModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\n\r\nimport { GridModule, PageService, PagerModule, SortService, FilterService } from '@syncfusion/ej2-angular-grids';\r\nimport { MultiSelectModule, DropDownListModule } from '@syncfusion/ej2-angular-dropdowns';\r\nimport { DatePickerModule } from '@syncfusion/ej2-angular-calendars';\r\nimport { BsDropdownModule, TabsModule, BsModalRef, BsModalService } from 'ngx-bootstrap';\r\n\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\nimport { library } from \"@fortawesome/fontawesome-svg-core\";\r\nimport { faPencilAlt, faEdit, faPlus, faTimes, faEye, faShareSquare, faArrowToBottom } from \"@fortawesome/pro-solid-svg-icons\";\r\n\r\nimport { ContentManagerRoutingModule } from './content-manager-routing.module';\r\n\r\nimport { SharedModule } from '../../shared/shared.module';\r\nimport { MarkdownEditorModule } from '../markdown-editor/markdown-editor.module';\r\nimport { ClassificationModule } from '../classification/classification.module';\r\n\r\nimport { UserProfileService } from '../../core/services/user-profiles/user-profile.service';\r\n\r\nimport { ManageArticlesComponent } from './components/manage-articles/manage-articles.component';\r\nimport { CreateArticlesListComponent } from './components/create-articles-list/create-articles-list.component';\r\nimport { CreateEditArticlesComponent } from './components/create-edit-articles/create-edit-articles/create-edit-articles.component';\r\nimport { LogPhrasesComponent } from './components/create-edit-articles/log-phrases/log-phrases.component';\r\nimport { AffectedVersionsComponent } from './components/create-edit-articles/affected-versions/affected-versions.component';\r\nimport { CollaboratorsComponent } from './components/create-edit-articles/collaborators/collaborators.component';\r\n\r\nimport { MarkdownPropertyEditorComponent } from './components/create-edit-articles/markdown-property-editor/markdown-property-editor.component';\r\nimport { TargetedRolesComponent } from './components/create-edit-articles/targeted-roles/targeted-roles.component';\r\nimport { ProposedNodeComponent } from './components/create-edit-articles/proposed-node/proposed-node.component';\r\nimport { TechnicalReviewerComponent } from './components/create-edit-articles/technical-reviewer/technical-reviewer.component';\r\nimport { CategorySelectorComponent } from './components/create-edit-articles/category-selector/category-selector.component';\r\n\r\nimport { PublishConfirmationComponent } from './components/publish-confirmation/publish-confirmation.component';\r\n\r\nlibrary.add(faPencilAlt, faEdit, faPlus, faTimes, faEye, faShareSquare, faArrowToBottom);\r\n\r\n@NgModule({\r\n\timports: [\r\n\t\tCommonModule,\r\n\t\tBrowserModule,\r\n\t\tGridModule,\r\n\t\tPagerModule,\r\n\t\tBsDropdownModule,\r\n\t\tDatePickerModule,\r\n\t\tFontAwesomeModule,\r\n\t\tReactiveFormsModule,\r\n\t\tTabsModule,\r\n\t\tMultiSelectModule,\r\n\t\tDropDownListModule,\r\n\r\n\t\t// ** App\r\n\t\tContentManagerRoutingModule,\r\n\r\n\t\tSharedModule,\r\n\t\tMarkdownEditorModule,\r\n\t\tClassificationModule\r\n\t],\r\n\tdeclarations: [\r\n\t\tCreateArticlesListComponent,\r\n\t\tManageArticlesComponent,\r\n\t\tCreateEditArticlesComponent,\r\n\t\tLogPhrasesComponent,\r\n\t\tAffectedVersionsComponent,\r\n\t\tCollaboratorsComponent,\r\n\t\tMarkdownPropertyEditorComponent,\r\n\t\tTargetedRolesComponent,\r\n\t\tProposedNodeComponent,\r\n\t\tTechnicalReviewerComponent,\r\n\t\tCategorySelectorComponent,\r\n\t\tPublishConfirmationComponent\r\n\t],\r\n\tproviders: [\r\n\t\tPageService,\r\n\t\tUserProfileService,\r\n\t\tSortService,\r\n\t\tFilterService\r\n\t],\r\n\tentryComponents: [\r\n\t\tPublishConfirmationComponent\r\n\t]\r\n})\r\nexport class ContentManagerModule { }\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\modules\\\\content-viewer\\\\components\\\\articles\\\\article-version-indicator\\\\article-version-indicator.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvY29udGVudC12aWV3ZXIvY29tcG9uZW50cy9hcnRpY2xlcy9hcnRpY2xlLXZlcnNpb24taW5kaWNhdG9yL2FydGljbGUtdmVyc2lvbi1pbmRpY2F0b3IuY29tcG9uZW50LnNjc3MifQ== */\"","import { Component, OnInit, Input, OnDestroy } from '@angular/core';\r\nimport { Article } from '../../../../../core/models/articles/article.model';\r\nimport { Subscription, Observable, interval } from 'rxjs';\r\nimport { ArticleService } from '../../../../../core/services/articles/article.service';\r\nimport { switchMap } from 'rxjs/internal/operators/switchMap';\r\nimport { map } from 'rxjs/internal/operators/map';\r\n\r\n@Component({\r\n\tselector: 'app-article-version-indicator',\r\n\ttemplateUrl: './article-version-indicator.component.pug',\r\n\tstyleUrls: ['./article-version-indicator.component.scss']\r\n})\r\nexport class ArticleVersionIndicatorComponent implements OnInit, OnDestroy {\r\n\r\n\t@Input()\r\n\tpublic article: Article;\r\n\r\n\t// we can pass it as input as well since we get the latest version on the article viewer\r\n\t@Input()\r\n\tpublic latestVersion: number;\r\n\r\n\tprivate _subscriptions = new Subscription();\r\n\r\n\tconstructor(private _articleService: ArticleService) { }\r\n\r\n\tngOnInit() {\r\n\t\tthis._subscriptions.add(\r\n\t\t\tinterval(30000)\r\n\t\t\t\t.pipe(\r\n\t\t\t\t\tswitchMap(() => this._articleService.getLatestArticleVersion(this.article.articleId)),\r\n\t\t\t\t\tmap(res => {\r\n\t\t\t\t\t\tthis.latestVersion = res;\r\n\t\t\t\t\t\treturn res;\r\n\t\t\t\t\t})\r\n\t\t\t\t).subscribe()\r\n\t\t);\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis._subscriptions.unsubscribe();\r\n\t}\r\n\r\n}\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\modules\\\\content-viewer\\\\components\\\\articles\\\\articles-compare\\\\articles-compare.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \".compare-row pre {\\n white-space: pre-wrap;\\n font-family: inherit;\\n margin: 0px; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9jb250ZW50LXZpZXdlci9jb21wb25lbnRzL2FydGljbGVzL2FydGljbGVzLWNvbXBhcmUvQzpcXFVzZXJzXFxtam9zaGlcXHNvdXJjZVxccmVwb3NcXEFsZXhhbmRyaWFcXEFsZXhhbmRyaWFcXEFsZXhhbmRyaWEuV2Vic2l0ZVxcQ2xpZW50QXBwL3NyY1xcYXBwXFxtb2R1bGVzXFxjb250ZW50LXZpZXdlclxcY29tcG9uZW50c1xcYXJ0aWNsZXNcXGFydGljbGVzLWNvbXBhcmVcXGFydGljbGVzLWNvbXBhcmUuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDQyxxQkFBcUI7RUFDckIsb0JBQW9CO0VBQ3BCLFdBQVcsRUFBQSIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvY29udGVudC12aWV3ZXIvY29tcG9uZW50cy9hcnRpY2xlcy9hcnRpY2xlcy1jb21wYXJlL2FydGljbGVzLWNvbXBhcmUuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuY29tcGFyZS1yb3cgcHJlIHtcclxuXHR3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XHJcblx0Zm9udC1mYW1pbHk6IGluaGVyaXQ7XHJcblx0bWFyZ2luOiAwcHg7XHJcbn1cclxuIl19 */\"","import { Component, OnInit, LOCALE_ID, Inject } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { formatDate } from '@angular/common';\r\nimport { forkJoin } from 'rxjs';\r\nimport { ArticleService } from '../../../../../core/services/articles/article.service';\r\nimport { Article } from '../../../../../core/models/articles/article.model';\r\nimport { ArticleMetaData } from '../../../../../core/models/articles/article-metadata.model';\r\nimport { ArticleContributor } from '../../../../../core/models/articles/article-contributor.model';\r\nimport { ArticleLogPhrase } from '../../../../../core/models/articles/article-log-phrase.model';\r\nimport { ArticleTargetedVersion } from '../../../../../core/models/articles/article-targeted-version.model';\r\nimport { ArticleTargetRole } from '../../../../../core/models/articles/article-target-role.model';\r\n\r\n@Component({\r\n\tselector: 'app-articles-compare',\r\n\ttemplateUrl: './articles-compare.component.pug',\r\n\tstyleUrls: ['./articles-compare.component.scss']\r\n})\r\nexport class ArticlesCompareComponent implements OnInit {\r\n\r\n\tpublic leftArticle: Article;\r\n\r\n\tpublic leftMetadata: ArticleMetaData;\r\n\r\n\tpublic rightArticle: Article;\r\n\r\n\tpublic rightMetadata: ArticleMetaData;\r\n\r\n\tpublic showRightColumn: boolean = false;\r\n\r\n\tconstructor(@Inject(LOCALE_ID) private _locale: string, private _route: ActivatedRoute, private _articleService: ArticleService) { }\r\n\r\n\tngOnInit() {\r\n\t\tthis._route.paramMap.subscribe(params => {\r\n\t\t\t// we really need to refactor how we retrieve articles...\r\n\t\t\tlet expand = 'articleDeflectedIncidents, articleTargetedVersions($orderby=versionMajor desc), articleLogPhrases, articleContributors($orderby=timestamp desc;$expand = user), author, editor';\r\n\r\n\t\t\tlet articleId = params.get(\"id\") ? parseInt(params.get(\"id\")) : null;\r\n\t\t\tlet version1 = params.get(\"version1\") ? parseInt(params.get(\"version1\")) : null;\r\n\t\t\tlet version2 = params.get(\"version2\") ? parseInt(params.get(\"version2\")) : null;\r\n\r\n\t\t\tlet getArticlesV1 = this._articleService.getArticles(articleId, version1, expand);\r\n\t\t\tlet getMetadataV1 = this._articleService.getArticleMetadata(articleId, version1);\r\n\r\n\t\t\tlet getArticlesV2 = this._articleService.getArticles(articleId, version2, expand);\r\n\t\t\tlet getMetadataV2 = this._articleService.getArticleMetadata(articleId, version2);\r\n\r\n\t\t\tforkJoin(getArticlesV1, getMetadataV1, getArticlesV2, getMetadataV2).subscribe(response => {\r\n\t\t\t\tif (version1 < version2) {\r\n\t\t\t\t\tthis.leftArticle = response[0];\r\n\t\t\t\t\tthis.leftMetadata = response[1];\r\n\t\t\t\t\tthis.rightArticle = response[2];\r\n\t\t\t\t\tthis.rightMetadata = response[3];\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.rightArticle = response[0];\r\n\t\t\t\t\tthis.rightMetadata = response[1];\r\n\t\t\t\t\tthis.leftArticle = response[2];\r\n\t\t\t\t\tthis.leftMetadata = response[3];\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t})\r\n\t}\r\n\r\n\tpublic toggleRightColumn(): void {\r\n\t\tthis.showRightColumn = !this.showRightColumn;\r\n\t}\r\n\r\n\tpublic hasProperty(obj: any, propertyName: string): boolean {\r\n\t\tif (!obj) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\treturn propertyName in obj;\r\n\t}\r\n\r\n\tpublic contributorsToString(contributors: Array): string {\r\n\t\tif (!contributors) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\r\n\t\tlet retVal = new Array();\r\n\r\n\t\tcontributors.forEach(contributor => {\r\n\t\t\tretVal.push(`${contributor.user.userName} (${formatDate(contributor.timestamp, 'EEEE, MMMM dd yyyy, h:mm a', this._locale)})`);\r\n\t\t});\r\n\r\n\t\treturn retVal.join(\"
\");\r\n\t}\r\n\r\n\tpublic dateToString(value: Date): string {\r\n\t\treturn (value ? formatDate(value, 'EEEE, MMMM dd yyyy', this._locale) : null);\r\n\t}\r\n\r\n\tpublic versionsToString(targetedVersions: Array): string {\r\n\t\tif (!targetedVersions) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\r\n\t\tlet retVal = new Array();\r\n\r\n\t\ttargetedVersions.forEach(tv => {\r\n\t\t\tif (tv.versionServicePack != \"\") {\r\n\t\t\t\tretVal.push(`v${tv.versionMajor} ${tv.versionServicePack}`);\r\n\t\t\t} else {\r\n\t\t\t\tretVal.push(`v${tv.versionMajor}`);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\treturn retVal.join(\"
\");\r\n\t}\r\n\r\n\tpublic logPhrasesToString(logPhrases: Array): string {\r\n\t\tif (!logPhrases) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\r\n\t\tlet retVal = new Array();\r\n\r\n\t\tlogPhrases.forEach(lp => {\r\n\t\t\tretVal.push(`File: ${lp.filename} Phrase: ${lp.phrase}`);\r\n\t\t});\r\n\r\n\t\treturn retVal.join(\"
\");\r\n\t}\r\n\r\n\tpublic targetedRolesToString(targetedRoles: Array): string {\r\n\t\tif (!targetedRoles) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\r\n\t\tlet retVal = new Array();\r\n\r\n\t\ttargetedRoles.forEach(tr => {\r\n\t\t\tretVal.push(tr.role.name);\r\n\t\t});\r\n\r\n\t\treturn retVal.join(\"
\");\r\n\t}\r\n\r\n}\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\modules\\\\content-viewer\\\\components\\\\articles\\\\articles-viewer-best-practices\\\\articles-viewer-best-practices.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvY29udGVudC12aWV3ZXIvY29tcG9uZW50cy9hcnRpY2xlcy9hcnRpY2xlcy12aWV3ZXItYmVzdC1wcmFjdGljZXMvYXJ0aWNsZXMtdmlld2VyLWJlc3QtcHJhY3RpY2VzLmNvbXBvbmVudC5zY3NzIn0= */\"","import { Component, Input } from '@angular/core';\r\n\r\nimport { BestPracticesArticle } from '../../../../../core/models/articles/article-best-practices.model';\r\n\r\n@Component({\r\n selector: 'app-articles-viewer-best-practices',\r\n templateUrl: './articles-viewer-best-practices.component.pug',\r\n styleUrls: ['./articles-viewer-best-practices.component.scss']\r\n})\r\nexport class ArticlesViewerBestPracticesComponent {\r\n\r\n\t@Input(\"article\")\r\n\tpublic article: BestPracticesArticle;\r\n\r\n}\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\modules\\\\content-viewer\\\\components\\\\articles\\\\articles-viewer-frequently-asked-question\\\\articles-viewer-frequently-asked-question.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvY29udGVudC12aWV3ZXIvY29tcG9uZW50cy9hcnRpY2xlcy9hcnRpY2xlcy12aWV3ZXItZnJlcXVlbnRseS1hc2tlZC1xdWVzdGlvbi9hcnRpY2xlcy12aWV3ZXItZnJlcXVlbnRseS1hc2tlZC1xdWVzdGlvbi5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component, Input } from '@angular/core';\r\n\r\nimport { FrequentlyAskedQuestionArticle } from '../../../../../core/models/articles/article-faq.model';\r\n\r\n@Component({\r\n selector: 'app-articles-viewer-frequently-asked-question',\r\n templateUrl: './articles-viewer-frequently-asked-question.component.pug',\r\n styleUrls: ['./articles-viewer-frequently-asked-question.component.scss']\r\n})\r\nexport class ArticlesViewerFrequentlyAskedQuestionComponent {\r\n\r\n\t@Input(\"article\")\r\n\tpublic article: FrequentlyAskedQuestionArticle;\r\n\r\n}\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\modules\\\\content-viewer\\\\components\\\\articles\\\\articles-viewer-modal-preview\\\\articles-viewer-modal-preview.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvY29udGVudC12aWV3ZXIvY29tcG9uZW50cy9hcnRpY2xlcy9hcnRpY2xlcy12aWV3ZXItbW9kYWwtcHJldmlldy9hcnRpY2xlcy12aWV3ZXItbW9kYWwtcHJldmlldy5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component, Input } from '@angular/core';\r\nimport { Article } from '../../../../../core/models/articles/article.model';\r\nimport { BsModalRef } from 'ngx-bootstrap';\r\nimport { ArticleMetaData } from '../../../../../core/models/articles/article-metadata.model';\r\n\r\n@Component({\r\n\tselector: 'app-articles-viewer-modal-preview',\r\n\ttemplateUrl: './articles-viewer-modal-preview.component.pug',\r\n\tstyleUrls: ['./articles-viewer-modal-preview.component.scss']\r\n})\r\nexport class ArticlesViewerModalPreviewComponent {\r\n\r\n\t@Input()\r\n\tpublic article: Article;\r\n\r\n\t@Input()\r\n\tpublic isPreview: boolean = false;\r\n\r\n\t@Input()\r\n\tpublic metadata: ArticleMetaData;\r\n\r\n\tconstructor(private _bsModalRef: BsModalRef) { }\r\n\r\n\tpublic close(): void {\r\n\t\tthis._bsModalRef.hide();\r\n\t}\r\n\r\n}\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\modules\\\\content-viewer\\\\components\\\\articles\\\\articles-viewer-solution\\\\articles-viewer-solution.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvY29udGVudC12aWV3ZXIvY29tcG9uZW50cy9hcnRpY2xlcy9hcnRpY2xlcy12aWV3ZXItc29sdXRpb24vYXJ0aWNsZXMtdmlld2VyLXNvbHV0aW9uLmNvbXBvbmVudC5zY3NzIn0= */\"","import { Component, Input } from '@angular/core';\r\n\r\nimport { SolutionArticle } from '../../../../../core/models/articles/article-solution.model';\r\n\r\n@Component({\r\n\tselector: 'app-articles-viewer-solution',\r\n\ttemplateUrl: './articles-viewer-solution.component.pug',\r\n\tstyleUrls: ['./articles-viewer-solution.component.scss']\r\n})\r\nexport class ArticlesViewerSolutionComponent {\r\n\r\n\t@Input(\"article\")\r\n\tpublic article: SolutionArticle;\r\n\r\n}\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\modules\\\\content-viewer\\\\components\\\\articles\\\\articles-viewer-technical-reference\\\\articles-viewer-technical-reference.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvY29udGVudC12aWV3ZXIvY29tcG9uZW50cy9hcnRpY2xlcy9hcnRpY2xlcy12aWV3ZXItdGVjaG5pY2FsLXJlZmVyZW5jZS9hcnRpY2xlcy12aWV3ZXItdGVjaG5pY2FsLXJlZmVyZW5jZS5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component, Input } from '@angular/core';\r\n\r\nimport { TechnicalReferenceArticle } from '../../../../../core/models/articles/article-technical-reference.model';\r\n\r\n@Component({\r\n\tselector: 'app-articles-viewer-technical-reference',\r\n\ttemplateUrl: './articles-viewer-technical-reference.component.pug',\r\n\tstyleUrls: ['./articles-viewer-technical-reference.component.scss']\r\n})\r\nexport class ArticlesViewerTechnicalReferenceComponent {\r\n\r\n\t@Input(\"article\")\r\n\tpublic article: TechnicalReferenceArticle;\r\n\r\n}\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\modules\\\\content-viewer\\\\components\\\\articles\\\\articles-viewer-technicalnote\\\\articles-viewer-technicalnote.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvY29udGVudC12aWV3ZXIvY29tcG9uZW50cy9hcnRpY2xlcy9hcnRpY2xlcy12aWV3ZXItdGVjaG5pY2Fsbm90ZS9hcnRpY2xlcy12aWV3ZXItdGVjaG5pY2Fsbm90ZS5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component, Input } from '@angular/core';\r\n\r\nimport { TechnicalNoteArticle } from '../../../../../core/models/articles/article-technical-note.model';\r\n\r\n@Component({\r\n\tselector: 'app-articles-viewer-technicalnote',\r\n\ttemplateUrl: './articles-viewer-technicalnote.component.pug',\r\n\tstyleUrls: ['./articles-viewer-technicalnote.component.scss']\r\n})\r\nexport class ArticlesViewerTechnicalNoteComponent {\r\n\r\n\t@Input(\"article\")\r\n\tpublic article: TechnicalNoteArticle;\r\n\r\n}\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\modules\\\\content-viewer\\\\components\\\\articles\\\\articles-viewer-troubleshooting\\\\articles-viewer-troubleshooting.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvY29udGVudC12aWV3ZXIvY29tcG9uZW50cy9hcnRpY2xlcy9hcnRpY2xlcy12aWV3ZXItdHJvdWJsZXNob290aW5nL2FydGljbGVzLXZpZXdlci10cm91Ymxlc2hvb3RpbmcuY29tcG9uZW50LnNjc3MifQ== */\"","import { Component, Input } from '@angular/core';\r\n\r\nimport { TroubleshootingArticle } from '../../../../../core/models/articles/article-troubleshooting.model';\r\n\r\n@Component({\r\n\tselector: 'app-articles-viewer-troubleshooting',\r\n\ttemplateUrl: './articles-viewer-troubleshooting.component.pug',\r\n\tstyleUrls: ['./articles-viewer-troubleshooting.component.scss']\r\n})\r\nexport class ArticlesViewerTroubleshootingComponent {\r\n\r\n\t@Input(\"article\")\r\n\tpublic article: TroubleshootingArticle;\r\n\r\n}\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\modules\\\\content-viewer\\\\components\\\\articles\\\\articles-viewer\\\\articles-viewer.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \".medium-height-panel {\\n max-height: 30em;\\n overflow: auto; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9jb250ZW50LXZpZXdlci9jb21wb25lbnRzL2FydGljbGVzL2FydGljbGVzLXZpZXdlci9DOlxcVXNlcnNcXG1qb3NoaVxcc291cmNlXFxyZXBvc1xcQWxleGFuZHJpYVxcQWxleGFuZHJpYVxcQWxleGFuZHJpYS5XZWJzaXRlXFxDbGllbnRBcHAvc3JjXFxhcHBcXG1vZHVsZXNcXGNvbnRlbnQtdmlld2VyXFxjb21wb25lbnRzXFxhcnRpY2xlc1xcYXJ0aWNsZXMtdmlld2VyXFxhcnRpY2xlcy12aWV3ZXIuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDQyxnQkFBZ0I7RUFDaEIsY0FBYyxFQUFBIiwiZmlsZSI6InNyYy9hcHAvbW9kdWxlcy9jb250ZW50LXZpZXdlci9jb21wb25lbnRzL2FydGljbGVzL2FydGljbGVzLXZpZXdlci9hcnRpY2xlcy12aWV3ZXIuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIubWVkaXVtLWhlaWdodC1wYW5lbCB7XHJcblx0bWF4LWhlaWdodDogMzBlbTtcclxuXHRvdmVyZmxvdzogYXV0bztcclxufVxyXG4iXX0= */\"","import { Component, OnInit, Input, OnDestroy, ViewChild } from '@angular/core';\r\nimport { ActivatedRoute, Router, NavigationEnd } from '@angular/router';\r\nimport { BsModalRef, BsModalService } from 'ngx-bootstrap';\r\n\r\nimport { Subscription, Observable, forkJoin } from 'rxjs';\r\nimport { delay } from 'rxjs/operators';\r\n\r\nimport { ArticleService } from '../../../../../core/services/articles/article.service';\r\nimport { PermissionService } from '../../../../../core/services/permissions/permission.service';\r\nimport { UserProfileService } from '../../../../../core/services/user-profiles/user-profile.service';\r\n\r\nimport { Article } from '../../../../../core/models/articles/article.model';\r\nimport { ArticleMetaData } from '../../../../../core/models/articles/article-metadata.model';\r\nimport { ArticleTargetedVersion } from '../../../../../core/models/articles/article-targeted-version.model';\r\n\r\nimport { CommentThreadsComponent } from '../../../../../shared/components/comments/comment-threads/comment-threads.component';\r\nimport { ShareComponent } from '../../../../../shared/components/share/share.component';\r\nimport { ArticleHistoryComponent } from '../toolbar/article-history/article-history.component';\r\nimport { ArticleVotingComponent } from '../toolbar/article-voting/article-voting.component';\r\nimport { RolesService } from '../../../../../core/services/roles/roles.service';\r\nimport { ApplicationService } from '../../../../../core/services/applications/application.service';\r\nimport { Application } from '../../../../../core/models/applications/application.model';\r\n\r\n@Component({\r\n\tselector: 'app-articles-viewer',\r\n\ttemplateUrl: './articles-viewer.component.pug',\r\n\tstyleUrls: ['./articles-viewer.component.scss']\r\n})\r\nexport class ArticlesViewerComponent implements OnInit, OnDestroy {\r\n\r\n\t@Input()\r\n\tpublic articleId: number;\r\n\r\n\t@Input()\r\n\tpublic articleVersion: number;\r\n\r\n\t@Input()\r\n\tpublic article: Article;\r\n\r\n\t@Input()\r\n\tpublic metadata: ArticleMetaData;\r\n\r\n\t@Input()\r\n\tpublic isPreview: boolean = false;\r\n\r\n\tpublic isValid: boolean = true;\r\n\r\n\t// this is to show/hide the canEdit button\r\n\tpublic canEdit: boolean = false;\r\n\r\n\tpublic canNominate: boolean = false;\r\n\r\n\tpublic canPromote: boolean = false;\r\n\r\n\tpublic editDisabled: boolean = true;\r\n\r\n\tpublic canPublish: boolean = false;\r\n\r\n\tpublic latestVersion: number = 0;\r\n\r\n\tpublic publishedVersion: number = 0;\r\n\r\n\tpublic threadId: string = null;\r\n\r\n\tpublic applications: Array;\r\n\r\n\t@ViewChild(CommentThreadsComponent)\r\n\tprivate _commentThreadsComponent: CommentThreadsComponent;\r\n\r\n\t@ViewChild(ArticleVotingComponent)\r\n\tprivate _articleVotingComponent: ArticleVotingComponent;\r\n\r\n\tprivate _subscription = new Subscription();\r\n\r\n\tprivate _modalRef: BsModalRef;\r\n\r\n\tconstructor(private _route: ActivatedRoute,\r\n\t\tprivate _articleService: ArticleService,\r\n\t\tprivate _permissionService: PermissionService,\r\n\t\tprivate _modalService: BsModalService,\r\n\t\tprivate _profileService: UserProfileService,\r\n\t\tprivate _applicationService: ApplicationService,\r\n\t\tprivate _router: Router,\r\n\t\tprivate _rolesService: RolesService) { }\r\n\r\n\tngOnInit() {\r\n\t\tthis._subscription.add(\r\n\t\t\tthis._router.events.subscribe((e: any) => {\r\n\t\t\t\tif (e instanceof NavigationEnd) {\r\n\t\t\t\t\tif (this._modalRef) {\r\n\t\t\t\t\t\tthis._modalRef.hide();\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tthis.refresh();\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t);\r\n\r\n\t\tthis._applicationService.getEnabledApplications().subscribe(response => {\r\n\t\t\tthis.applications = response;\r\n\t\t});\r\n\r\n\t\tif (this.articleId && this.articleVersion) {\r\n\t\t\tthis.loadArticleData();\r\n\t\t} else {\r\n\t\t\tthis._subscription.add(\r\n\t\t\t\t// TODO\r\n\t\t\t\t// Change params to paramMaps as params is pretty old and may be deprecated soon\r\n\r\n\t\t\t\tthis._route.params.subscribe(params => {\r\n\t\t\t\t\tlet routedArticleId: number = (params['id'] ? +params['id'] : null);\r\n\t\t\t\t\tlet routedArticleVersion: number = (params['version'] ? +params['version'] : null);\r\n\r\n\t\t\t\t\tif (!routedArticleId || (this.articleId == routedArticleId && this.articleVersion == routedArticleVersion)) {\r\n\t\t\t\t\t\t// nothing to do if article id was not specified or nothing has changed\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tthis.articleId = routedArticleId;\r\n\t\t\t\t\tthis.articleVersion = routedArticleVersion;\r\n\r\n\t\t\t\t\tthis.loadArticleData();\r\n\t\t\t\t})\r\n\t\t\t);\r\n\t\t}\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis._subscription.unsubscribe();\r\n\t}\r\n\r\n\tpublic checkEditDisabled(): void {\r\n\t\tthis.editDisabled = false;\r\n\r\n\t\tif (this.article && (this.article.deletionId || this.article.version != this.latestVersion)) {\r\n\t\t\tthis.editDisabled = true;\r\n\t\t}\r\n\t}\r\n\r\n\tpublic refresh(): void {\r\n\t\tthis.loadArticleData();\r\n\t\tthis._articleVotingComponent.getArticleQualityVoteById();\r\n\t\tthis._commentThreadsComponent.getComments();\r\n\t}\r\n\r\n\tpublic refreshComment(): void {\r\n\t\tthis._commentThreadsComponent.getComments();\r\n\t}\r\n\r\n\tpublic unpublish(): void {\r\n\t\tthis._articleService.unpublish(this.article.articleId).subscribe(response => {\r\n\t\t\tthis._router.navigate([`/article/details/${response.articleId}/${response.version}`]);\r\n\t\t});\r\n\t}\r\n\r\n\tpublic nominate(): void {\r\n\t\tthis._articleService.nominateAsSolution(this.article.articleId, this.article.version).subscribe(response => {\r\n\t\t\tthis.refresh();\r\n\t\t});\r\n\t}\r\n\r\n\tpublic share() {\r\n\t\tlet url = `${window.location.origin}/article/details/${this.article.articleId}/${this.article.version}`;\r\n\r\n\t\tconst initialState = {\r\n\t\t\tsubject: 'Article Shared',\r\n\t\t\ttype: 'Article',\r\n\t\t\turl: url\r\n\t\t};\r\n\r\n\t\tconst modalParams = { initialState, class: 'modal-lg' };\r\n\t\tthis._modalRef = this._modalService.show(ShareComponent, modalParams);\r\n\t}\r\n\r\n\tpublic delete(includePrevious: boolean = false): void {\r\n\t\tthis._articleService.deleteArticle(this.article.articleId, this.article.version, includePrevious)\r\n\t\t\t.subscribe(response => {\r\n\t\t\t\tthis._router.navigate(['/article/management']);\r\n\t\t\t});\r\n\t}\r\n\r\n\tpublic viewHistory() {\r\n\t\tconst initialState = {\r\n\t\t\tarticle: this.article,\r\n\t\t};\r\n\r\n\t\tconst modalParams = { initialState, class: 'modal-lg' };\r\n\t\tthis._modalRef = this._modalService.show(ArticleHistoryComponent, modalParams);\r\n\t}\r\n\r\n\tpublic hasProperty(obj: any, propertyName: string): boolean {\r\n\t\t// unlike in C#, you cannot check if an object has a property if it is null\r\n\t\tif (!obj) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\treturn propertyName in obj;\r\n\t}\r\n\r\n\tpublic articleHasProperty(propertyName: string): boolean {\r\n\t\treturn this.hasProperty(this.article, propertyName);\r\n\t}\r\n\r\n\tpublic metadataHasProperty(propertyName: string): boolean {\r\n\t\treturn this.hasProperty(this.metadata, propertyName);\r\n\t}\r\n\r\n\tpublic groupByMajorVersion(items: Array): any {\r\n\t\treturn items\r\n\t\t\t.reduce(\r\n\t\t\t\t(result, item) => ({\r\n\t\t\t\t\t...result,\r\n\t\t\t\t\t[item['versionMajor'] + ':' + item['versionApplicationId']]: [\r\n\t\t\t\t\t\t...(result[item['versionMajor'] + ':' + item['versionApplicationId']] || []), item,\r\n\t\t\t\t\t],\r\n\t\t\t\t}),\r\n\t\t\t\t{},\r\n\t\t\t);\r\n\t}\r\n\r\n\tpublic getArrayOfGroupedMajorVersions(items: Array): Array> {\r\n\t\tvar grps = this.groupByMajorVersion(items);\r\n\r\n\t\t// The value return is a single Object with each Group By key a property on the object.\r\n\t\t// Because we want to sort by Major DESC we need to convert to number, sort it, but then request values by string again...\r\n\r\n\t\treturn Object.keys(grps)\r\n\t\t\t.map(x => { return x; })\r\n\t\t\t.sort((a, b): number => {\r\n\t\t\t\tlet majorVersionNumberA = Number(a.split(':')[0]);\r\n\t\t\t\tlet majorVersionNumberB = Number(b.split(':')[0]);\r\n\r\n\t\t\t\tlet applicationNameA = '';\r\n\r\n\t\t\t\tif (a.split(':')[1] === this.applications[0].id) {\r\n\t\t\t\t\tapplicationNameA = this.applications[0].name;\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tapplicationNameA = this.applications[1].name;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tlet applicationNameB = '';\r\n\r\n\t\t\t\tif (b.split(':')[1] === this.applications[0].id) {\r\n\t\t\t\t\tapplicationNameB = this.applications[0].name;\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tapplicationNameB = this.applications[1].name;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (applicationNameA === applicationNameB) {\r\n\t\t\t\t\treturn majorVersionNumberB - majorVersionNumberA;\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\t// place Commvault versions first\r\n\t\t\t\t\treturn applicationNameA.localeCompare(applicationNameB);\r\n\t\t\t\t}\r\n\r\n\t\t\t})\r\n\t\t\t.map(x =>\r\n\t\t\t\tgrps[`${x}`]\r\n\t\t\t);\r\n\t}\r\n\r\n\tpublic getCombinedVersionsValue(items: Array): string {\r\n\t\tlet applicationName: string;\r\n\r\n\t\tlet targetedLabels = items.map(x => {\r\n\r\n\t\t\tfor (var i = 0; i < this.applications.length; i++) {\r\n\t\t\t\tif (this.applications[i].id === x.versionApplicationId) {\r\n\t\t\t\t\tapplicationName = this.applications[i].name;\r\n\t\t\t\t\treturn ArticleTargetedVersion.versionLabel(x).trim();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\treturn `${applicationName} ${targetedLabels.join(', ')}`;\r\n\t}\r\n\r\n\tprivate loadArticleData() {\r\n\t\tif (!this.articleId) {\r\n\t\t\t// nothing to do if article id was not specified or nothing has changed\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.getArticleData();\r\n\t\tthis.getArticleMetadata();\r\n\t}\r\n\r\n\tprivate getArticleMetadata() {\r\n\t\tthis._articleService.getArticleMetadata(this.articleId, this.articleVersion).subscribe(response => {\r\n\t\t\tif (response) {\r\n\t\t\t\tthis.metadata = response;\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tprivate getArticleData() {\r\n\t\tif (!this.articleId) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.isValid = true;\r\n\r\n\t\tthis._articleService.getLatestArticleVersion(this.articleId).subscribe(response => {\r\n\t\t\tif (response) {\r\n\t\t\t\tthis.latestVersion = response;\r\n\t\t\t\tthis.checkEditDisabled();\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tthis._articleService.getPublishedArticleVersion(this.articleId)\r\n\t\t\t.subscribe(response => {\r\n\t\t\t\tthis.publishedVersion = (response ? response : 0);\r\n\t\t\t});\r\n\r\n\t\tthis._articleService.getLatestArticleById(this.articleId, this.articleVersion)\r\n\t\t\t.subscribe(\r\n\t\t\t\tarticlesData => {\r\n\t\t\t\t\tthis.article = articlesData;\r\n\t\t\t\t\tthis.threadId = this.article.articleTypeLabel.replace(/\\s/g, '').toLowerCase() + this.article.articleId;\r\n\r\n\t\t\t\t\tthis.checkEditDisabled();\r\n\t\t\t\t\tif (this.article.articleDeflectedIncidents) {\r\n\t\t\t\t\t\tthis.article.articleDeflectedIncidents = this.article.articleDeflectedIncidents.sort((left, right): number => { return (left.incidentId > right.incidentId) ? -1 : ((right.incidentId > left.incidentId) ? 1 : 0); });\t// descending\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// check if the user can edit this article\r\n\t\t\t\t\tthis._articleService.getArticleTypes().subscribe(response => {\r\n\t\t\t\t\t\tthis.canEdit = !!response.filter(x => x.articleModelType.indexOf(this.article['@odata.type'].replace(\"#\", \"\")) > -1).length;\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\t// Role Check for Nominate - must be someone who cannot compose public articles\r\n\t\t\t\t\t// Role Check for Promote - must be someone who can compose public articles AND this article has not been promoted or denied\r\n\t\t\t\t\tthis._permissionService.hasPermission([\"compose-public-articles\"]).subscribe(hasPermission => {\r\n\t\t\t\t\t\tlet canCreateSolution: boolean = hasPermission;\r\n\r\n\t\t\t\t\t\t// STATUS Check for Nominate\r\n\t\t\t\t\t\tlet disallowedStatusValuesForNominate = [\r\n\t\t\t\t\t\t\t\"TechnotePendingPromotion\",\r\n\t\t\t\t\t\t\t\"TechnotePromoted\",\r\n\t\t\t\t\t\t\t\"TechnotePromotionDenied\",\r\n\t\t\t\t\t\t\t\"TechnotePendingPromotion_PartnerAccessible\",\r\n\t\t\t\t\t\t\t\"TechnotePromoted_PendingPartnerAccessible\",\r\n\t\t\t\t\t\t\t\"TechnotePromoted_PartnerAccessible\",\r\n\t\t\t\t\t\t];\r\n\t\t\t\t\t\tlet statusAllowsNominate: boolean = disallowedStatusValuesForNominate.indexOf(this.article.workflowState) == -1;\r\n\r\n\t\t\t\t\t\t// STATUS Check for Promote\r\n\t\t\t\t\t\tlet disallowedStatusValuesForPromote = [\r\n\t\t\t\t\t\t\t\"TechnotePromoted\",\r\n\t\t\t\t\t\t\t\"TechnotePromotionDenied\",\r\n\t\t\t\t\t\t\t\"TechnotePromoted_PendingPartnerAccessible\",\r\n\t\t\t\t\t\t\t\"TechnotePromoted_PartnerAccessible\",\r\n\t\t\t\t\t\t];\r\n\r\n\t\t\t\t\t\tlet statusAllowsPromote: boolean = disallowedStatusValuesForPromote.indexOf(this.article.workflowState) == -1;\r\n\r\n\t\t\t\t\t\tthis.canNominate = !canCreateSolution\r\n\t\t\t\t\t\t\t&& (this.article.articleTypeLabel === \"Technical Note\")\r\n\t\t\t\t\t\t\t&& statusAllowsNominate\r\n\t\t\t\t\t\t\t&& this.article.version % 512 == 0\r\n\t\t\t\t\t\t\t&& this.article.version == this.publishedVersion;\r\n\r\n\t\t\t\t\t\tthis.canPromote = canCreateSolution\r\n\t\t\t\t\t\t\t&& (this.article.articleTypeLabel === \"Technical Note\")\r\n\t\t\t\t\t\t\t&& statusAllowsPromote\r\n\t\t\t\t\t\t\t&& this.article.version % 512 == 0\r\n\t\t\t\t\t\t\t&& this.article.version == this.publishedVersion;\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\t// after a delay, log that the user has read the article. Whatever seconds we set is not enough for the user to\r\n\t\t\t\t\t// actually read an entire article in most cases, but it is long enough for them to not just go to an article get credit\r\n\t\t\t\t\tthis._profileService.getMyProfile()\r\n\t\t\t\t\t\t.pipe(\r\n\t\t\t\t\t\t\tdelay(15000),\r\n\t\t\t\t\t\t).subscribe(user => {\r\n\t\t\t\t\t\t\tthis._articleService.recordArticleInspection(this.articleId, user.id).subscribe()\r\n\t\t\t\t\t\t});\r\n\t\t\t\t},\r\n\t\t\t\terror => {\r\n\t\t\t\t\tthis.isValid = false;\r\n\t\t\t\t}\r\n\t\t\t);\r\n\t}\r\n\r\n}\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\modules\\\\content-viewer\\\\components\\\\articles\\\\toolbar\\\\article-history\\\\article-history.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvY29udGVudC12aWV3ZXIvY29tcG9uZW50cy9hcnRpY2xlcy90b29sYmFyL2FydGljbGUtaGlzdG9yeS9hcnRpY2xlLWhpc3RvcnkuY29tcG9uZW50LnNjc3MifQ== */\"","import { Component, OnInit, Input, OnDestroy } from '@angular/core';\r\nimport { BsModalRef } from 'ngx-bootstrap';\r\nimport { Subscription } from 'rxjs';\r\nimport { Article } from '../../../../../../core/models/articles/article.model';\r\nimport { ArticleHistory } from '../../../../../../core/models/articles/article-history.model';\r\nimport { ArticleService } from '../../../../../../core/services/articles/article.service';\r\nimport { ArticleFriendlyVersionPipe } from '../../../../../../shared/pipes/article-friendly.pipe';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n\tselector: 'app-article-history',\r\n\ttemplateUrl: './article-history.component.pug',\r\n\tstyleUrls: ['./article-history.component.scss']\r\n})\r\nexport class ArticleHistoryComponent implements OnInit, OnDestroy {\r\n\r\n\t@Input()\r\n\tpublic article: Article;\r\n\r\n\tpublic articleHistory: Array;\r\n\r\n\tprivate _compareFrom: ArticleHistory;\r\n\r\n\tprivate _compareTo: ArticleHistory;\r\n\r\n\tprivate _subscriptions = new Subscription();\r\n\r\n\tconstructor(private _bsModalRef: BsModalRef, private _articleService: ArticleService, private _friendlyVersionPipe: ArticleFriendlyVersionPipe, private _router: Router) { }\r\n\r\n\tngOnInit() {\r\n\t\tthis._subscriptions.add(\r\n\t\t\tthis._articleService.getArticleHistory(this.article.articleId)\r\n\t\t\t\t.subscribe(response => {\r\n\t\t\t\t\tthis.articleHistory = response;\r\n\t\t\t\t\tthis.resetButtonText();\r\n\t\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tpublic compare(compareArticle: ArticleHistory): void {\r\n\t\tif (this._compareFrom && this._compareFrom.version == compareArticle.version) {\r\n\t\t\tthis._compareFrom = null;\r\n\t\t\tthis.resetButtonText();\r\n\t\t} else if (this._compareFrom) {\r\n\t\t\tthis._router.navigate([\"article\", \"diff\", compareArticle.articleId, this._compareFrom.version, compareArticle.version]);\r\n\t\t\tthis._bsModalRef.hide();\r\n\t\t} else {\r\n\t\t\tthis._compareFrom = compareArticle;\r\n\r\n\t\t\tlet compareWithVersion = this._friendlyVersionPipe.transform(compareArticle.version);\r\n\t\t\tthis.articleHistory.map(x => {\r\n\t\t\t\tif (x.version == compareArticle.version) {\r\n\t\t\t\t\tx.buttonText = `v${compareWithVersion} selected`;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tlet compareFromVersion = this._friendlyVersionPipe.transform(x.version);\r\n\t\t\t\t\tx.buttonText = `Compare v${compareFromVersion} with v${compareWithVersion}`;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tpublic close(): void {\r\n\t\tthis._bsModalRef.hide();\r\n\t}\r\n\r\n\tprivate resetButtonText(): void {\r\n\t\tthis.articleHistory.map(x => x.buttonText = \"Select to compare\");\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis._subscriptions.unsubscribe();\r\n\t}\r\n\r\n}\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\modules\\\\content-viewer\\\\components\\\\articles\\\\toolbar\\\\article-voting\\\\article-voting.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvY29udGVudC12aWV3ZXIvY29tcG9uZW50cy9hcnRpY2xlcy90b29sYmFyL2FydGljbGUtdm90aW5nL2FydGljbGUtdm90aW5nLmNvbXBvbmVudC5zY3NzIn0= */\"","import { Component, OnInit, Input, OnDestroy, EventEmitter, Output } from '@angular/core';\r\nimport { Location } from '@angular/common';\r\nimport { Subscription } from 'rxjs';\r\nimport { ArticleQualityVote } from '../../../../../../core/models/articles/article-quality-vote.model';\r\nimport { ArticleService } from '../../../../../../core/services/articles/article.service';\r\nimport { Article } from '../../../../../../core/models/articles/article.model';\r\n\r\n@Component({\r\n\tselector: 'app-article-voting',\r\n\ttemplateUrl: './article-voting.component.pug',\r\n\tstyleUrls: ['./article-voting.component.scss']\r\n})\r\nexport class ArticleVotingComponent implements OnInit, OnDestroy {\r\n\r\n\t@Input()\r\n\tpublic article: Article;\r\n\r\n\t@Input()\r\n\tpublic disabled: boolean = true;\r\n\r\n\t@Output(\"refreshNeeded\")\r\n\tpublic refreshNeededEmitter = new EventEmitter();\r\n\r\n\tpublic articleQualityVote: ArticleQualityVote;\r\n\r\n\tpublic url: string;\r\n\r\n\tpublic userVote: number = 0;\r\n\r\n\tpublic votedCount: number = 0;\r\n\r\n\tpublic isDislikeComment: boolean = true;\r\n\r\n\tprivate _subscriptions = new Subscription();\r\n\r\n\tconstructor(private _location: Location, private _articleService: ArticleService) { }\r\n\r\n\tngOnInit() {\r\n\t\tthis.url = window.location.origin + this._location.path();\r\n\t\tthis.getArticleQualityVoteById();\r\n\t}\r\n\r\n\tpublic onVoted(voteDetail: any) {\r\n\t\tif (!voteDetail) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (voteDetail.isCancel) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.setUserVote(voteDetail.vote)\r\n\r\n\t\tthis.voteSubmitted(voteDetail);\r\n\t}\r\n\r\n\tpublic getArticleQualityVoteById() {\r\n\t\tif (!this.article.articleId) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis._subscriptions.add(this._articleService.getArticleQualityVote(this.article.articleId)\r\n\t\t\t.subscribe(result => {\r\n\t\t\t\tthis.articleQualityVote = result.articleQualityVote;\r\n\t\t\t\tthis.userVote = result.articleQualityVote ? result.articleQualityVote.vote : 0;\r\n\t\t\t\tthis.votedCount = result.totalScore;\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tprivate voteSubmitted(request: any) {\r\n\t\tlet voteRequest: ArticleQualityVote = {\r\n\t\t\tcomment: request.comment,\r\n\t\t\tvote: this.userVote,\r\n\t\t\tisAnonymous: request.isAnonymous\r\n\t\t};\r\n\r\n\t\tthis._subscriptions.add(\r\n\t\t\tthis._articleService.voteAsync(this.article.articleId, this.article.version, voteRequest)\r\n\t\t\t\t.subscribe(result => {\r\n\t\t\t\t\tthis.articleQualityVote = result.articleQualityVote;\r\n\t\t\t\t\tthis.userVote = result.articleQualityVote ? result.articleQualityVote.vote : 0;\r\n\t\t\t\t\tthis.votedCount = result.totalScore;\r\n\t\t\t\t\tthis.refreshNeededEmitter.emit(true);\r\n\t\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tprivate setUserVote(vote: boolean) {\r\n\t\tif (vote) {\r\n\t\t\tif (this.userVote <= 0) {\r\n\t\t\t\tthis.userVote = 1\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tthis.userVote = 0\r\n\t\t\t}\r\n\t\t}\r\n\t\telse {\r\n\t\t\tif (this.userVote >= 0) {\r\n\t\t\t\tthis.userVote = -1\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tthis.userVote = 0;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis._subscriptions.unsubscribe();\r\n\t}\r\n\r\n}\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\modules\\\\content-viewer\\\\components\\\\articles\\\\toolbar\\\\notices-and-confirmations\\\\accept-with-comment\\\\accept-with-comment.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvY29udGVudC12aWV3ZXIvY29tcG9uZW50cy9hcnRpY2xlcy90b29sYmFyL25vdGljZXMtYW5kLWNvbmZpcm1hdGlvbnMvYWNjZXB0LXdpdGgtY29tbWVudC9hY2NlcHQtd2l0aC1jb21tZW50LmNvbXBvbmVudC5zY3NzIn0= */\"","import { Component, ViewChild, AfterViewInit } from '@angular/core';\r\n\r\nimport { Subject } from 'rxjs';\r\n\r\nimport { Confirmation } from '../../../../../../content-manager/models/confirmation.model';\r\nimport { ConfirmationWithCommentComponent } from '../confirmation-with-comment/confirmation-with-comment.component';\r\n\r\n@Component({\r\n selector: 'app-accept-with-comment',\r\n templateUrl: './accept-with-comment.component.pug',\r\n styleUrls: ['./accept-with-comment.component.scss']\r\n})\r\nexport class AcceptWithCommentComponent implements AfterViewInit{\r\n\r\n public onClose: Subject;\r\n\r\n @ViewChild(ConfirmationWithCommentComponent)\r\n private child: ConfirmationWithCommentComponent;\r\n\r\n constructor() { }\r\n\r\n ngAfterViewInit() {\r\n\t this.onClose = new Subject();\r\n\r\n\t this.child.onClose.subscribe(result => {\r\n\t\t this.onClose.next(result);\r\n\t\t this.onClose.complete();\r\n\t })\r\n }\r\n\r\n}\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\modules\\\\content-viewer\\\\components\\\\articles\\\\toolbar\\\\notices-and-confirmations\\\\approve-partner-confirmation\\\\approve-partner-confirmation.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvY29udGVudC12aWV3ZXIvY29tcG9uZW50cy9hcnRpY2xlcy90b29sYmFyL25vdGljZXMtYW5kLWNvbmZpcm1hdGlvbnMvYXBwcm92ZS1wYXJ0bmVyLWNvbmZpcm1hdGlvbi9hcHByb3ZlLXBhcnRuZXItY29uZmlybWF0aW9uLmNvbXBvbmVudC5zY3NzIn0= */\"","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { BsModalRef } from 'ngx-bootstrap';\r\n\r\nimport { Article } from '../../../../../../../core/models/articles/article.model';\r\nimport { ArticleService } from '../../../../../../../core/services/articles/article.service';\r\n\r\n@Component({\r\n\tselector: 'app-approve-partner-confirmation',\r\n\ttemplateUrl: './approve-partner-confirmation.component.pug',\r\n\tstyleUrls: ['./approve-partner-confirmation.component.scss']\r\n})\r\nexport class ApprovePartnerConfirmationComponent implements OnInit {\r\n\r\n\t@Input()\r\n\tpublic article: Article;\r\n\r\n\tpublic submitted: boolean = false;\r\n\r\n\t@Output()\r\n\tpublic refreshNeeded = new EventEmitter();\r\n\r\n\tprivate _subscriptions = new Subscription();\r\n\r\n\tconstructor(private _bsModalRef: BsModalRef, private _articleService: ArticleService, private _router: Router) { }\r\n\r\n\tngOnInit() {\r\n\t}\r\n\r\n\tpublic approvePartner(): void {\r\n\t\tthis.submitted = true;\r\n\t\tif (this.article) {\r\n\t\t\tthis._subscriptions.add(\r\n\t\t\t\tthis._articleService.approvePartner(this.article.articleId, this.article.version).subscribe(response => {\r\n\t\t\t\t\tif (response && response.articleId && response.version) {\r\n\t\t\t\t\t\tthis.refreshNeeded.emit(true);\r\n\t\t\t\t\t\tthis._bsModalRef.hide();\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis.submitted = false;\r\n\t\t\t\t\t\t// this error should not happen as it should be caught by the global error handler. But adding this just in case\r\n\t\t\t\t\t\tthrow new Error(\"Article approval did not complete successfully\");\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t);\r\n\t\t}\r\n\t}\r\n\r\n\tpublic close(): void {\r\n\t\tthis._bsModalRef.hide();\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis._subscriptions.unsubscribe();\r\n\t}\r\n\r\n}\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\modules\\\\content-viewer\\\\components\\\\articles\\\\toolbar\\\\notices-and-confirmations\\\\approve-publish-confirmation\\\\approve-publish-confirmation.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvY29udGVudC12aWV3ZXIvY29tcG9uZW50cy9hcnRpY2xlcy90b29sYmFyL25vdGljZXMtYW5kLWNvbmZpcm1hdGlvbnMvYXBwcm92ZS1wdWJsaXNoLWNvbmZpcm1hdGlvbi9hcHByb3ZlLXB1Ymxpc2gtY29uZmlybWF0aW9uLmNvbXBvbmVudC5zY3NzIn0= */\"","import { Component, OnInit, Input, EventEmitter, OnDestroy, Output } from '@angular/core';\r\nimport { BsModalRef, BsModalService } from 'ngx-bootstrap';\r\nimport { Router } from '@angular/router';\r\nimport { Subscription } from 'rxjs';\r\nimport { Article } from '../../../../../../../core/models/articles/article.model';\r\nimport { ArticleService } from '../../../../../../../core/services/articles/article.service';\r\nimport { CommonIssueEditorComponent } from '../../../../../../classification/components/editors/common-issue-editor/common-issue-editor.component';\r\n\r\n@Component({\r\n\tselector: 'app-approve-publish-confirmation',\r\n\ttemplateUrl: './approve-publish-confirmation.component.pug',\r\n\tstyleUrls: ['./approve-publish-confirmation.component.scss']\r\n})\r\nexport class ApprovePublishConfirmationComponent implements OnInit, OnDestroy {\r\n\r\n\t@Input()\r\n\tpublic article: Article;\r\n\r\n\tpublic submitted: boolean = false;\r\n\r\n\t@Output()\r\n\tpublic refreshNeeded = new EventEmitter();\r\n\r\n\tprivate _subscriptions = new Subscription();\r\n\r\n\tconstructor(private _bsModalRef: BsModalRef, private _articleService: ArticleService, private _router: Router, private _modalService: BsModalService) { }\r\n\r\n\tngOnInit() {\r\n\t}\r\n\r\n\tpublic approvePublish(): void {\r\n\t\tthis.submitted = true;\r\n\t\tif (this.article && this.article.proposedCommonIssueTitle) {\r\n\t\t\tconst initialState = {\r\n\t\t\t\t'title': this.article.proposedCommonIssueTitle,\r\n\t\t\t\t'parentNodeId': this.article.classificationCode\r\n\t\t\t};\r\n\r\n\t\t\tthis._subscriptions.add(\r\n\t\t\t\tthis._modalService.show(CommonIssueEditorComponent, { initialState: initialState, class: 'modal-lg' })\r\n\t\t\t\t\t.content\r\n\t\t\t\t\t.nodeCreated\r\n\t\t\t\t\t.subscribe(response => {\r\n\t\t\t\t\t\tthis._subscriptions.add(\r\n\t\t\t\t\t\t\tthis._articleService.updateArticleClassification(this.article.articleId, this.article.version, response.id)\r\n\t\t\t\t\t\t\t\t.subscribe(updateClassificationResponse => {\r\n\t\t\t\t\t\t\t\t\tthis.article = updateClassificationResponse;\r\n\t\t\t\t\t\t\t\t\tthis.addApprovalSubscription();\r\n\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t})\r\n\t\t\t);\r\n\t\t}\r\n\t\telse if (this.article) {\r\n\t\t\tthis.addApprovalSubscription();\r\n\t\t}\r\n\t}\r\n\r\n\tpublic close(): void {\r\n\t\tthis._bsModalRef.hide();\r\n\t}\r\n\r\n\tpublic addApprovalSubscription() {\r\n\t\tthis._subscriptions.add(\r\n\t\t\tthis._articleService.approvePublish(this.article.articleId, this.article.version).subscribe(response => {\r\n\t\t\t\tif (response && response.articleId && response.version) {\r\n\t\t\t\t\tthis._router.navigate([`/article/details/${response.articleId}/${response.version}`]);\r\n\t\t\t\t\tthis._bsModalRef.hide();\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.submitted = false;\r\n\t\t\t\t\t// this error should not happen as it should be caught by the global error handler. But adding this just in case\r\n\t\t\t\t\tthrow new Error(\"Article approval did not complete successfully\");\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis._subscriptions.unsubscribe();\r\n\t}\r\n\r\n}\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\modules\\\\content-viewer\\\\components\\\\articles\\\\toolbar\\\\notices-and-confirmations\\\\approve-review-confirmation\\\\approve-review-confirmation.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvY29udGVudC12aWV3ZXIvY29tcG9uZW50cy9hcnRpY2xlcy90b29sYmFyL25vdGljZXMtYW5kLWNvbmZpcm1hdGlvbnMvYXBwcm92ZS1yZXZpZXctY29uZmlybWF0aW9uL2FwcHJvdmUtcmV2aWV3LWNvbmZpcm1hdGlvbi5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { Article } from '../../../../../../../core/models/articles/article.model';\r\nimport { Subscription } from 'rxjs';\r\nimport { BsModalRef } from 'ngx-bootstrap';\r\nimport { ArticleService } from '../../../../../../../core/services/articles/article.service';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n\tselector: 'app-approve-review-confirmation',\r\n\ttemplateUrl: './approve-review-confirmation.component.pug',\r\n\tstyleUrls: ['./approve-review-confirmation.component.scss']\r\n})\r\nexport class ApproveReviewConfirmationComponent implements OnInit {\r\n\r\n\t@Input()\r\n\tpublic article: Article;\r\n\r\n\tpublic submitted: boolean = false;\r\n\r\n\t@Output()\r\n\tpublic refreshNeeded = new EventEmitter();\r\n\r\n\tprivate _subscriptions = new Subscription();\r\n\r\n\tconstructor(private _bsModalRef: BsModalRef, private _articleService: ArticleService, private _router: Router) { }\r\n\r\n\tngOnInit() {\r\n\t}\r\n\r\n\tpublic approveReview(): void {\r\n\t\tthis.submitted = true;\r\n\t\tif (this.article) {\r\n\t\t\tthis._subscriptions.add(\r\n\t\t\t\tthis._articleService.approveReview(this.article.articleId, this.article.version)\r\n\t\t\t\t\t.subscribe(response => {\r\n\t\t\t\t\t\tif (response && response.articleId && response.version) {\r\n\t\t\t\t\t\t\tthis.refreshNeeded.emit(true);\r\n\t\t\t\t\t\t\tthis._bsModalRef.hide();\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tthis.submitted = false;\r\n\t\t\t\t\t\t\t// this error should not happen as it should be caught by the global error handler. But adding this just in case\r\n\t\t\t\t\t\t\tthrow new Error(\"Article approval did not complete successfully\");\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t);\r\n\t\t}\r\n\t}\r\n\r\n\tpublic close(): void {\r\n\t\tthis._bsModalRef.hide();\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis._subscriptions.unsubscribe();\r\n\t}\r\n}\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\modules\\\\content-viewer\\\\components\\\\articles\\\\toolbar\\\\notices-and-confirmations\\\\confirmation-with-comment\\\\confirmation-with-comment.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvY29udGVudC12aWV3ZXIvY29tcG9uZW50cy9hcnRpY2xlcy90b29sYmFyL25vdGljZXMtYW5kLWNvbmZpcm1hdGlvbnMvY29uZmlybWF0aW9uLXdpdGgtY29tbWVudC9jb25maXJtYXRpb24td2l0aC1jb21tZW50LmNvbXBvbmVudC5zY3NzIn0= */\"","import { Component, OnInit, Input } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\n\r\nimport { Subject } from 'rxjs';\r\nimport { BsModalRef } from 'ngx-bootstrap';\r\n\r\nimport { Confirmation } from '../../../../../../content-manager/models/confirmation.model';\r\n\r\n@Component({\r\n selector: 'app-confirmation-with-comment',\r\n templateUrl: './confirmation-with-comment.component.pug',\r\n styleUrls: ['./confirmation-with-comment.component.scss']\r\n})\r\nexport class ConfirmationWithCommentComponent implements OnInit {\r\n\r\n @Input()\r\n public title: string = 'Confirmation';\r\n\r\n @Input()\r\n public commentOptional: boolean = false;\r\n\r\n @Input()\r\n public confirmLabel: string = 'Confirm';\r\n\r\n @Input()\r\n public cancelLabel: string = 'Cancel';\r\n\r\n public onClose: Subject;\r\n\r\n public formGroup: FormGroup;\r\n\r\n public submittedOnce: boolean = false;\r\n\r\n constructor(private _bsModalRef: BsModalRef, private _fb: FormBuilder) { }\r\n\r\n ngOnInit() {\r\n\t //this.submittedOnce = false;\r\n\r\n\t var commentValidators = this.commentOptional ? [Validators.minLength(5)] : [Validators.required, Validators.minLength(5)];\r\n\r\n\t this.formGroup = this._fb.group({\r\n\t\t comment: ['', commentValidators]\r\n\t });\r\n\r\n\t this.onClose = new Subject();\r\n }\r\n\r\n public onConfirm(): void {\r\n\t this.submittedOnce = true;\r\n\r\n\t if (this.formGroup.invalid) {\r\n\t\t return;\r\n\t }\r\n\r\n\t const comment = this.formGroup.controls['comment'].value.replace(/<[^>]*>/g, '');\r\n\r\n\t this.onClose.next({ isCancelled: false, comment: comment });\r\n\t this.onClose.complete();\r\n\r\n\t this._bsModalRef.hide();\r\n }\r\n\r\n public onCancel(): void {\r\n\t this.onClose.next({ isCancelled: true, comment: null });\r\n\t this.onClose.complete();\r\n\r\n\t this._bsModalRef.hide();\r\n }\r\n\r\n}\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\modules\\\\content-viewer\\\\components\\\\articles\\\\toolbar\\\\notices-and-confirmations\\\\reject-partner-confirmation\\\\reject-partner-confirmation.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvY29udGVudC12aWV3ZXIvY29tcG9uZW50cy9hcnRpY2xlcy90b29sYmFyL25vdGljZXMtYW5kLWNvbmZpcm1hdGlvbnMvcmVqZWN0LXBhcnRuZXItY29uZmlybWF0aW9uL3JlamVjdC1wYXJ0bmVyLWNvbmZpcm1hdGlvbi5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { BsModalRef } from 'ngx-bootstrap';\r\n\r\nimport { Article } from '../../../../../../../core/models/articles/article.model';\r\nimport { ArticleService } from '../../../../../../../core/services/articles/article.service';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-reject-partner-confirmation',\r\n templateUrl: './reject-partner-confirmation.component.pug',\r\n styleUrls: ['./reject-partner-confirmation.component.scss']\r\n})\r\nexport class RejectPartnerConfirmationComponent implements OnInit {\r\n\r\n\t@Input()\r\n\tpublic article: Article;\r\n\r\n\tpublic formGroup: FormGroup;\r\n\r\n\tpublic submitted: boolean = false;\r\n\r\n\t@Output()\r\n\tpublic refreshNeeded = new EventEmitter();\r\n\r\n\tprivate _subscriptions = new Subscription();\r\n\r\n\tconstructor(private _fb: FormBuilder, private _bsModalRef: BsModalRef, private _articleService: ArticleService, private _router: Router) { }\r\n\r\n\tngOnInit() {\r\n\t\tthis.formGroup = this._fb.group({\r\n\t\t\tdenialReason: ['', [Validators.required, Validators.minLength(5)]]\r\n\t\t});\r\n\t}\r\n\r\n\tpublic close(): void {\r\n\t\tthis._bsModalRef.hide();\r\n\t}\r\n\r\n\tpublic submit(): void {\r\n\t\tif (this.formGroup.valid) {\r\n\t\t\tthis.submitted = true;\r\n\t\t\tthis._subscriptions.add(\r\n\t\t\t\tthis._articleService.denyPartner(this.article.articleId, this.article.version, this.formGroup.value[\"denialReason\"])\r\n\t\t\t\t\t.subscribe(response => {\r\n\t\t\t\t\t\tif (response && response.articleId && response.version) {\r\n\t\t\t\t\t\t\tthis.refreshNeeded.emit(true);\r\n\t\t\t\t\t\t\tthis._bsModalRef.hide();\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t// this error should not happen as it should be caught by the global error handler. But adding this just in case\r\n\t\t\t\t\t\t\tthis.submitted = false;\r\n\t\t\t\t\t\t\tthrow new Error(\"Article approval did not complete successfully\");\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t);\r\n\t\t}\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis._subscriptions.unsubscribe();\r\n\t}\r\n\r\n}\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\modules\\\\content-viewer\\\\components\\\\articles\\\\toolbar\\\\notices-and-confirmations\\\\reject-promotion-confirmation\\\\reject-promotion-confirmation.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvY29udGVudC12aWV3ZXIvY29tcG9uZW50cy9hcnRpY2xlcy90b29sYmFyL25vdGljZXMtYW5kLWNvbmZpcm1hdGlvbnMvcmVqZWN0LXByb21vdGlvbi1jb25maXJtYXRpb24vcmVqZWN0LXByb21vdGlvbi1jb25maXJtYXRpb24uY29tcG9uZW50LnNjc3MifQ== */\"","import { Component, OnInit, Input, Output, EventEmitter, OnDestroy } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { BsModalRef } from 'ngx-bootstrap';\r\nimport { Subscription } from 'rxjs';\r\nimport { ArticleService } from '../../../../../../../core/services/articles/article.service';\r\nimport { Article } from '../../../../../../../core/models/articles/article.model';\r\n\r\n@Component({\r\n\tselector: 'app-reject-promotion-confirmation',\r\n\ttemplateUrl: './reject-promotion-confirmation.component.pug',\r\n\tstyleUrls: ['./reject-promotion-confirmation.component.scss']\r\n})\r\nexport class RejectPromotionConfirmationComponent implements OnInit {\r\n\r\n\t@Input()\r\n\tpublic article: Article;\r\n\r\n\tpublic formGroup: FormGroup;\r\n\r\n\tpublic submitted: boolean = false;\r\n\r\n\t@Output()\r\n\tpublic refreshNeeded = new EventEmitter();\r\n\r\n\tprivate _subscriptions = new Subscription();\r\n\r\n\tconstructor(private _fb: FormBuilder, private _bsModalRef: BsModalRef, private _articleService: ArticleService, private _router: Router) { }\r\n\r\n\tngOnInit() {\r\n\t\tthis.formGroup = this._fb.group({\r\n\t\t\tdenialReason: ['', [Validators.required, Validators.minLength(5)]]\r\n\t\t});\r\n\t}\r\n\r\n\tpublic close(): void {\r\n\t\tthis._bsModalRef.hide();\r\n\t}\r\n\r\n\tpublic submit(): void {\r\n\t\tif (this.formGroup.valid) {\r\n\t\t\tthis.submitted = true;\r\n\t\t\tthis._subscriptions.add(\r\n\t\t\t\tthis._articleService.denyPromotion(this.article.articleId, this.article.version, this.formGroup.value[\"denialReason\"])\r\n\t\t\t\t\t.subscribe(response => {\r\n\t\t\t\t\t\tif (response && response.articleId && response.version) {\r\n\t\t\t\t\t\t\tthis.refreshNeeded.emit(true);\r\n\t\t\t\t\t\t\tthis._bsModalRef.hide();\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t// this error should not happen as it should be caught by the global error handler. But adding this just in case\r\n\t\t\t\t\t\t\tthis.submitted = false;\r\n\t\t\t\t\t\t\tthrow new Error(\"Article promotion denial did not complete successfully\");\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t);\r\n\t\t}\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis._subscriptions.unsubscribe();\r\n\t}\r\n\r\n}\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\modules\\\\content-viewer\\\\components\\\\articles\\\\toolbar\\\\notices-and-confirmations\\\\reject-publish-confirmation\\\\reject-publish-confirmation.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvY29udGVudC12aWV3ZXIvY29tcG9uZW50cy9hcnRpY2xlcy90b29sYmFyL25vdGljZXMtYW5kLWNvbmZpcm1hdGlvbnMvcmVqZWN0LXB1Ymxpc2gtY29uZmlybWF0aW9uL3JlamVjdC1wdWJsaXNoLWNvbmZpcm1hdGlvbi5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component, OnInit, Input, Output, EventEmitter, OnDestroy } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { BsModalRef } from 'ngx-bootstrap';\r\nimport { Subscription } from 'rxjs';\r\nimport { ArticleService } from '../../../../../../../core/services/articles/article.service';\r\nimport { Article } from '../../../../../../../core/models/articles/article.model';\r\n\r\n@Component({\r\n\tselector: 'app-reject-publish-confirmation',\r\n\ttemplateUrl: './reject-publish-confirmation.component.pug',\r\n\tstyleUrls: ['./reject-publish-confirmation.component.scss']\r\n})\r\nexport class RejectPublishConfirmationComponent implements OnInit, OnDestroy {\r\n\r\n\t@Input()\r\n\tpublic article: Article;\r\n\r\n\tpublic formGroup: FormGroup;\r\n\r\n\tpublic submitted: boolean = false;\r\n\r\n\t@Output()\r\n\tpublic refreshNeeded = new EventEmitter();\r\n\r\n\tprivate _subscriptions = new Subscription();\r\n\r\n\tconstructor(private _fb: FormBuilder, private _bsModalRef: BsModalRef, private _articleService: ArticleService, private _router: Router) { }\r\n\r\n\tngOnInit() {\r\n\t\tthis.formGroup = this._fb.group({\r\n\t\t\tdenialReason: ['', [Validators.required, Validators.minLength(5)]]\r\n\t\t});\r\n\t}\r\n\r\n\tpublic close(): void {\r\n\t\tthis._bsModalRef.hide();\r\n\t}\r\n\r\n\tpublic submit(): void {\r\n\t\tif (this.formGroup.valid) {\r\n\t\t\tthis.submitted = true;\r\n\t\t\tthis._subscriptions.add(\r\n\t\t\t\tthis._articleService.denyPublish(this.article.articleId, this.article.version, this.formGroup.value[\"denialReason\"])\r\n\t\t\t\t\t.subscribe(response => {\r\n\t\t\t\t\t\tif (response && response.articleId && response.version) {\r\n\t\t\t\t\t\t\tthis.refreshNeeded.emit(true);\r\n\t\t\t\t\t\t\tthis._bsModalRef.hide();\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t// this error should not happen as it should be caught by the global error handler. But adding this just in case\r\n\t\t\t\t\t\t\tthis.submitted = false;\r\n\t\t\t\t\t\t\tthrow new Error(\"Article approval did not complete successfully\");\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t);\r\n\t\t}\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis._subscriptions.unsubscribe();\r\n\t}\r\n\r\n}\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\modules\\\\content-viewer\\\\components\\\\articles\\\\toolbar\\\\notices-and-confirmations\\\\reject-review-confirmation\\\\reject-review-confirmation.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvY29udGVudC12aWV3ZXIvY29tcG9uZW50cy9hcnRpY2xlcy90b29sYmFyL25vdGljZXMtYW5kLWNvbmZpcm1hdGlvbnMvcmVqZWN0LXJldmlldy1jb25maXJtYXRpb24vcmVqZWN0LXJldmlldy1jb25maXJtYXRpb24uY29tcG9uZW50LnNjc3MifQ== */\"","import { Component, OnInit, Input, OnDestroy } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Subscription } from 'rxjs';\r\nimport { BsModalRef } from 'ngx-bootstrap';\r\nimport { ArticleService } from '../../../../../../../core/services/articles/article.service';\r\nimport { Article } from '../../../../../../../core/models/articles/article.model';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'app-reject-review-confirmation',\r\n templateUrl: './reject-review-confirmation.component.pug',\r\n styleUrls: ['./reject-review-confirmation.component.scss']\r\n})\r\nexport class RejectReviewConfirmationComponent implements OnInit, OnDestroy {\r\n\r\n\t@Input()\r\n\tpublic article: Article;\r\n\r\n\tpublic formGroup: FormGroup;\r\n\r\n\tpublic submitted: boolean = false;\r\n\r\n\tprivate _subscriptions = new Subscription();\r\n\r\n\tconstructor(private _fb: FormBuilder, private _bsModalRef: BsModalRef, private _articleService: ArticleService, private _router: Router) { }\r\n\r\n\tngOnInit() {\r\n\t\tthis.formGroup = this._fb.group({\r\n\t\t\tdenialReason: ['', [Validators.required, Validators.minLength(5)]]\r\n\t\t});\r\n\t}\r\n\r\n\tpublic rejectReview(): void {\r\n\t\tif (this.article) {\r\n\t\t\tthis.submitted = true;\r\n\t\t\tthis._subscriptions.add(\r\n\t\t\t\tthis._articleService.denyReview(this.article.articleId, this.article.version, this.formGroup.value[\"denialReason\"])\r\n\t\t\t\t\t.subscribe(response => {\r\n\t\t\t\t\t\tif (response && response.articleId && response.version) {\r\n\t\t\t\t\t\t\tthis._router.navigate([`/article/details/${response.articleId}/${response.version}`]);\r\n\t\t\t\t\t\t\tthis._bsModalRef.hide();\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t// this error should not happen as it should be caught by the global error handler. But adding this just in case\r\n\t\t\t\t\t\t\tthis.submitted = false;\r\n\t\t\t\t\t\t\tthrow new Error(\"Article approval did not complete successfully\");\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t);\r\n\t\t}\r\n\t}\r\n\r\n\tpublic close(): void {\r\n\t\tthis._bsModalRef.hide();\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis._subscriptions.unsubscribe();\r\n\t}\r\n\r\n}\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\modules\\\\content-viewer\\\\components\\\\articles\\\\toolbar\\\\notices-and-confirmations\\\\reject-with-comment\\\\reject-with-comment.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvY29udGVudC12aWV3ZXIvY29tcG9uZW50cy9hcnRpY2xlcy90b29sYmFyL25vdGljZXMtYW5kLWNvbmZpcm1hdGlvbnMvcmVqZWN0LXdpdGgtY29tbWVudC9yZWplY3Qtd2l0aC1jb21tZW50LmNvbXBvbmVudC5zY3NzIn0= */\"","import { Component, ViewChild, AfterViewInit } from '@angular/core';\r\n\r\nimport { Subject } from 'rxjs';\r\n\r\nimport { Confirmation } from '../../../../../../content-manager/models/confirmation.model';\r\nimport { ConfirmationWithCommentComponent } from '../confirmation-with-comment/confirmation-with-comment.component';\r\n\r\n@Component({\r\n selector: 'app-reject-with-comment',\r\n templateUrl: './reject-with-comment.component.pug',\r\n styleUrls: ['./reject-with-comment.component.scss']\r\n})\r\nexport class RejectWithCommentComponent implements AfterViewInit {\r\n\r\n public onClose: Subject;\r\n\r\n @ViewChild(ConfirmationWithCommentComponent)\r\n private child: ConfirmationWithCommentComponent;\r\n\r\n constructor() { }\r\n\r\n ngAfterViewInit() {\r\n\t this.onClose = new Subject();\r\n\r\n\t this.child.onClose.subscribe(result => {\r\n\t\t this.onClose.next(result);\r\n\t\t this.onClose.complete();\r\n\t })\r\n }\r\n\r\n}\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\modules\\\\content-viewer\\\\components\\\\articles\\\\toolbar\\\\partner-approval\\\\partner-approval.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvY29udGVudC12aWV3ZXIvY29tcG9uZW50cy9hcnRpY2xlcy90b29sYmFyL3BhcnRuZXItYXBwcm92YWwvcGFydG5lci1hcHByb3ZhbC5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component, OnInit, EventEmitter, Output, Input } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { BsModalService } from 'ngx-bootstrap';\r\n\r\nimport { Article } from '../../../../../../core/models/articles/article.model';\r\nimport { PermissionService } from '../../../../../../core/services/permissions/permission.service';\r\nimport { ApprovePartnerConfirmationComponent } from '../notices-and-confirmations/approve-partner-confirmation/approve-partner-confirmation.component';\r\nimport { RejectPartnerConfirmationComponent } from '../notices-and-confirmations/reject-partner-confirmation/reject-partner-confirmation.component';\r\n\r\n@Component({\r\n selector: 'app-partner-approval',\r\n templateUrl: './partner-approval.component.pug',\r\n styleUrls: ['./partner-approval.component.scss']\r\n})\r\nexport class PartnerApprovalComponent implements OnInit {\r\n\r\n\t@Input()\r\n\tpublic article: Article;\r\n\r\n\t@Output(\"refreshNeeded\")\r\n\tpublic refreshNeededEmitter = new EventEmitter();\r\n\r\n\tpublic canApprove: boolean;\r\n\r\n\tprivate _subscriptions = new Subscription();\r\n\r\n\tconstructor(private _modalService: BsModalService, private _permissions: PermissionService) { }\r\n\r\n\tngOnInit() {\r\n\t\tthis._subscriptions.add(\r\n\t\t\tthis._permissions.canApproveArticles()\r\n\t\t\t\t.subscribe(response => {\r\n\t\t\t\t\tthis.canApprove = response;\r\n\t\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tpublic confirmApprovePartner(): void {\r\n\t\tconst initialState = {\r\n\t\t\t'article': this.article\r\n\t\t};\r\n\r\n\t\tthis._subscriptions.add(\r\n\t\t\tthis._modalService.show(ApprovePartnerConfirmationComponent, { initialState: initialState, class: 'modal-lg' })\r\n\t\t\t\t.content\r\n\t\t\t\t.refreshNeeded\r\n\t\t\t\t.subscribe(response => {\r\n\t\t\t\t\tthis.refreshNeededEmitter.emit(true);\r\n\t\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tpublic confirmRejectPartner(): void {\r\n\t\tconst initialState = {\r\n\t\t\t'article': this.article\r\n\t\t};\r\n\r\n\t\tthis._subscriptions.add(\r\n\t\t\tthis._modalService.show(RejectPartnerConfirmationComponent, { initialState: initialState, class: 'modal-lg' })\r\n\t\t\t\t.content\r\n\t\t\t\t.refreshNeeded\r\n\t\t\t\t.subscribe(response => {\r\n\t\t\t\t\tthis.refreshNeededEmitter.emit(true);\r\n\t\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis._subscriptions.unsubscribe();\r\n\t}\r\n\r\n}\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\modules\\\\content-viewer\\\\components\\\\articles\\\\toolbar\\\\publish-approval\\\\publish-approval.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvY29udGVudC12aWV3ZXIvY29tcG9uZW50cy9hcnRpY2xlcy90b29sYmFyL3B1Ymxpc2gtYXBwcm92YWwvcHVibGlzaC1hcHByb3ZhbC5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component, OnInit, Input, Output, EventEmitter, OnDestroy } from '@angular/core';\r\nimport { BsModalService } from 'ngx-bootstrap';\r\nimport { Subscription } from 'rxjs';\r\nimport { Article } from '../../../../../../core/models/articles/article.model';\r\nimport { ApprovePublishConfirmationComponent } from '../notices-and-confirmations/approve-publish-confirmation/approve-publish-confirmation.component';\r\nimport { RejectPublishConfirmationComponent } from '../notices-and-confirmations/reject-publish-confirmation/reject-publish-confirmation.component';\r\nimport { PermissionService } from '../../../../../../core/services/permissions/permission.service';\r\n\r\n@Component({\r\n\tselector: 'app-publish-approval',\r\n\ttemplateUrl: './publish-approval.component.pug',\r\n\tstyleUrls: ['./publish-approval.component.scss']\r\n})\r\nexport class PublishApprovalComponent implements OnInit, OnDestroy {\r\n\r\n\t@Input()\r\n\tpublic article: Article;\r\n\r\n\t@Output(\"refreshNeeded\")\r\n\tpublic refreshNeededEmitter = new EventEmitter();\r\n\r\n\tpublic canApprove: boolean;\r\n\r\n\tprivate _subscriptions = new Subscription();\r\n\r\n\tconstructor(private _modalService: BsModalService, private _permissions: PermissionService) { }\r\n\r\n\tngOnInit() {\r\n\t\tthis._subscriptions.add(\r\n\t\t\tthis._permissions.canApproveArticles()\r\n\t\t\t\t.subscribe(response => {\r\n\t\t\t\t\tthis.canApprove = response;\r\n\t\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tpublic confirmApproval(): void {\r\n\t\tconst initialState = {\r\n\t\t\t'article': this.article\r\n\t\t};\r\n\r\n\t\tthis._modalService.show(ApprovePublishConfirmationComponent, { initialState: initialState, class: 'modal-lg' })\r\n\t\t\t.content\r\n\t\t\t.refreshNeeded\r\n\t\t\t.subscribe(response => {\r\n\t\t\t\tthis.refreshNeededEmitter.emit(true);\r\n\t\t\t})\r\n\t}\r\n\r\n\tpublic confirmRejection(): void {\r\n\t\tconst initialState = {\r\n\t\t\t'article': this.article\r\n\t\t};\r\n\r\n\t\tthis._subscriptions.add(\r\n\t\t\tthis._modalService.show(RejectPublishConfirmationComponent, { initialState: initialState, class: 'modal-lg' })\r\n\t\t\t\t.content\r\n\t\t\t\t.refreshNeeded\r\n\t\t\t\t.subscribe(response => {\r\n\t\t\t\t\tthis.refreshNeededEmitter.emit(true);\r\n\t\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis._subscriptions.unsubscribe();\r\n\t}\r\n\r\n}\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\modules\\\\content-viewer\\\\components\\\\articles\\\\toolbar\\\\reject-promotion\\\\reject-promotion.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvY29udGVudC12aWV3ZXIvY29tcG9uZW50cy9hcnRpY2xlcy90b29sYmFyL3JlamVjdC1wcm9tb3Rpb24vcmVqZWN0LXByb21vdGlvbi5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component, OnInit, Input, Output, EventEmitter, OnDestroy } from '@angular/core';\r\nimport { BsModalService } from 'ngx-bootstrap';\r\nimport { Subscription } from 'rxjs';\r\nimport { Article } from '../../../../../../core/models/articles/article.model';\r\nimport { PermissionService } from '../../../../../../core/services/permissions/permission.service';\r\nimport { RejectPromotionConfirmationComponent } from '../notices-and-confirmations/reject-promotion-confirmation/reject-promotion-confirmation.component';\r\n\r\n@Component({\r\n\tselector: 'app-reject-promotion',\r\n\ttemplateUrl: './reject-promotion.component.pug',\r\n\tstyleUrls: ['./reject-promotion.component.scss']\r\n})\r\nexport class RejectPromotionComponent implements OnInit {\r\n\r\n\t@Input()\r\n\tpublic article: Article;\r\n\r\n\t@Output(\"refreshNeeded\")\r\n\tpublic refreshNeededEmitter = new EventEmitter();\r\n\r\n\tpublic canApprove: boolean;\r\n\r\n\tprivate _subscriptions = new Subscription();\r\n\r\n\tconstructor(private _modalService: BsModalService, private _permissions: PermissionService) { }\r\n\r\n\tngOnInit() {\r\n\t\tthis._subscriptions.add(\r\n\t\t\t// Approve and Reject are a part of the same permission, make sure this user has this access\r\n\t\t\tthis._permissions.canApproveArticles()\r\n\t\t\t\t.subscribe(response => {\r\n\t\t\t\t\tthis.canApprove = response;\r\n\t\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tpublic confirmRejection(): void {\r\n\t\tconst initialState = {\r\n\t\t\t'article': this.article\r\n\t\t};\r\n\r\n\t\tthis._subscriptions.add(\r\n\t\t\tthis._modalService.show(RejectPromotionConfirmationComponent, { initialState: initialState, class: 'modal-lg' })\r\n\t\t\t\t.content\r\n\t\t\t\t.refreshNeeded\r\n\t\t\t\t.subscribe(response => {\r\n\t\t\t\t\tthis.refreshNeededEmitter.emit(true);\r\n\t\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis._subscriptions.unsubscribe();\r\n\t}\r\n\r\n}\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\modules\\\\content-viewer\\\\components\\\\articles\\\\toolbar\\\\review-approval\\\\review-approval.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvY29udGVudC12aWV3ZXIvY29tcG9uZW50cy9hcnRpY2xlcy90b29sYmFyL3Jldmlldy1hcHByb3ZhbC9yZXZpZXctYXBwcm92YWwuY29tcG9uZW50LnNjc3MifQ== */\"","import { Component, OnInit, Input, Output, EventEmitter, OnDestroy } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { BsModalService } from 'ngx-bootstrap';\r\nimport { Article } from '../../../../../../core/models/articles/article.model';\r\nimport { ApproveReviewConfirmationComponent } from '../notices-and-confirmations/approve-review-confirmation/approve-review-confirmation.component';\r\nimport { RejectReviewConfirmationComponent } from '../notices-and-confirmations/reject-review-confirmation/reject-review-confirmation.component';\r\nimport { PermissionService } from '../../../../../../core/services/permissions/permission.service';\r\n\r\n@Component({\r\n\tselector: 'app-review-approval',\r\n\ttemplateUrl: './review-approval.component.pug',\r\n\tstyleUrls: ['./review-approval.component.scss']\r\n})\r\nexport class ReviewApprovalComponent implements OnInit, OnDestroy {\r\n\r\n\t@Input()\r\n\tpublic article: Article;\r\n\r\n\t@Output(\"refreshNeeded\")\r\n\tpublic refreshNeededEmitter = new EventEmitter();\r\n\r\n\tpublic canReview: boolean = false;\r\n\r\n\tprivate _subscriptions = new Subscription();\r\n\r\n\tconstructor(private _modalService: BsModalService, private _permissions: PermissionService) { }\r\n\r\n\tngOnInit() {\r\n\t\tthis._subscriptions.add(\r\n\t\t\tthis._permissions.canReviewArticles()\r\n\t\t\t\t.subscribe(response => {\r\n\t\t\t\t\tthis.canReview = response;\r\n\t\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tpublic confirmApproveReview(): void {\r\n\t\tconst initialState = {\r\n\t\t\t'article': this.article\r\n\t\t};\r\n\r\n\t\tthis._subscriptions.add(\r\n\t\t\tthis._modalService.show(ApproveReviewConfirmationComponent, { initialState: initialState, class: 'modal-lg' })\r\n\t\t\t\t.content\r\n\t\t\t\t.refreshNeeded\r\n\t\t\t\t.subscribe(response => {\r\n\t\t\t\t\tthis.refreshNeededEmitter.emit(true);\r\n\t\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tpublic confirmRejectionReview(): void {\r\n\t\tconst initialState = {\r\n\t\t\t'article': this.article\r\n\t\t};\r\n\r\n\t\tthis._modalService.show(RejectReviewConfirmationComponent, { initialState: initialState, class: 'modal-lg' });\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis._subscriptions.unsubscribe();\r\n\t}\r\n\r\n}\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\modules\\\\content-viewer\\\\components\\\\articles\\\\toolbar\\\\workflow-transition\\\\workflow-transition.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvY29udGVudC12aWV3ZXIvY29tcG9uZW50cy9hcnRpY2xlcy90b29sYmFyL3dvcmtmbG93LXRyYW5zaXRpb24vd29ya2Zsb3ctdHJhbnNpdGlvbi5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component, OnInit, Input } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { finalize } from 'rxjs/operators';\r\nimport { BsModalService, BsModalRef } from 'ngx-bootstrap';\r\n\r\nimport { ArticleWorkflowService } from '../../../../../../core/services/articles/article-workflow.service';\r\n\r\nimport { AcceptWithCommentComponent } from '../notices-and-confirmations/accept-with-comment/accept-with-comment.component';\r\nimport { RejectWithCommentComponent } from '../notices-and-confirmations/reject-with-comment/reject-with-comment.component';\r\n\r\nimport { Article } from '../../../../../../core/models/articles/article.model';\r\nimport { WorkflowState } from '../../../../../../core/models/workflow/workflow-state.model';\r\nimport { WorkflowTransition } from '../../../../../../core/models/workflow/workflow-transition.model';\r\n\r\n@Component({\r\n selector: 'app-workflow-transition',\r\n templateUrl: './workflow-transition.component.pug',\r\n styleUrls: ['./workflow-transition.component.scss']\r\n})\r\nexport class WorkflowTransitionComponent implements OnInit {\r\n\r\n readonly confirmationWithCustomerDataWarningAndRequiredComment = 'customerDataWarningAndRequiredComment';\r\n readonly confirmationWithCustomerDataWarningAndOptionalComment = 'customerDataWarningAndOptionalComment';\r\n\r\n private _modalRef: BsModalRef;\r\n\r\n @Input()\r\n public article: Article;\r\n\r\n public states: Array;\r\n\r\n public disableAllActions: boolean = false;\r\n\r\n constructor(private _workflowService: ArticleWorkflowService, private _modalService: BsModalService, private _router: Router) { }\r\n\r\n ngOnInit() {\r\n\t // Considering that `article` is an `Input` I should probably put this logic in the event handler for changed values\r\n\t this.getAllowedTransitions();\r\n }\r\n\r\n private sanitizeAllowedTransitions(): void {\r\n\t if (!this.states) {\r\n\t\t return;\r\n\t }\r\n\r\n\t // Not all workflow states and transitions will be supported or go unaltered in this component.\r\n\t //\r\n\t // For some, the reason is because we offer \"non-workflow\" buttons for trigger actions (for\r\n\t // example, saving and publishing).\r\n\t //\r\n\t // For others, we need to hide \"legacy\" transitional states since only certain article types\r\n\t // can use this component.\r\n\r\n\t // filtering out States we do not support -- 1 Draft, 5 Reviewed (Published)\r\n\t this.states = this.states.filter(state => [1, 5].indexOf(state.id) === -1);\r\n\r\n\t // updating labels as needed\r\n\t this.states = this.states.map(state => {\r\n\t\t if (state.id === 4) {\r\n\t\t\tstate.name = 'Pending Publish';\r\n\t\t }\r\n\r\n\t\t return state;\r\n\t });\r\n }\r\n\r\n private getAllowedTransitions(): void {\r\n\t this.disableAllActions = true;\r\n\t this.states = null;\r\n\r\n\t if (this.article) {\r\n\t\t this._workflowService.getValidTransitions(this.article.articleId, this.article.version)\r\n\t\t\t.subscribe(response => {\r\n\t\t\t this.states = response;\r\n\t\t\t this.sanitizeAllowedTransitions();\r\n\r\n\t\t\t this.disableAllActions = false;\r\n\t\t\t});\r\n\t }\r\n }\r\n\r\n private updateConfirmationType(transition: WorkflowTransition): void {\r\n\t if (!transition) {\r\n\t\t return;\r\n\t }\r\n\r\n\t // Since displaying a specific type of confirmation dialog (or not one at all) is\r\n\t // strictly a client-side UI thing, the logic of determining which confirmation to\r\n\t // show based state/trigger combination will be mapped client-side too.\r\n\t //\r\n\t // As a future enhancement, instead of showing a specific confirmation we could\r\n\t // shift towards a pattern of letting the API tell the client which additional\r\n\t // fields are needed and then dynamically build the dialog.\r\n\r\n\t switch (transition.id) {\r\n\t\t case 1:\t\t// Approve\r\n\t\t\ttransition.confirmationType = this.confirmationWithCustomerDataWarningAndOptionalComment;\r\n\t\t\tbreak;\r\n\t\t case 2:\t\t// Reject\r\n\t\t\ttransition.confirmationType = this.confirmationWithCustomerDataWarningAndRequiredComment;\r\n\t\t\tbreak;\r\n\t }\r\n }\r\n\r\n private submitTransition(transition: WorkflowTransition, comment: string): void {\r\n\t if (!transition) {\r\n\t\t throw new Error(\"Argument `transition` cannot be null or empty\");\r\n\t }\r\n\r\n\t if (!this.article) {\r\n\t\t console.debug('No article was specified so unable to transition workflow state.');\r\n\t }\r\n\r\n\t // May need to add additional property to distinguish between button label and underlying trigger\r\n\r\n\t // May want to update method to accept optional model instead of hard-coded comment parameter\r\n\r\n\t this.disableAllActions = true;\r\n\t this._workflowService.setWorkflowTransition(this.article.articleId, this.article.version, transition.name, comment)\r\n\t\t .pipe(\r\n\t\t\tfinalize(() => { this.disableAllActions = false; })\r\n\t\t )\r\n\t\t .subscribe(response => {\r\n\t\t\tthis.getAllowedTransitions();\r\n\r\n\t\t\t// This approach seems really, really wrong... just seems dirty and presumptive\r\n\t\t\tthis._router.navigate([`/article/details/${response.articleId}/${response.version}`]);\r\n\t\t });\r\n }\r\n\r\n public onTransitionClick(transition: WorkflowTransition): void {\r\n\t if (!transition) {\r\n\t\t throw new Error('Argument `transition` cannot be null or empty');\r\n\t }\r\n\r\n\t this.disableAllActions = true;\r\n\r\n\t this.updateConfirmationType(transition);\r\n\r\n\t if (transition.confirmationType) {\r\n\t\t // Show confirmation modal before submitting transition\r\n\t\t switch (transition.confirmationType) {\r\n\t\t\tcase this.confirmationWithCustomerDataWarningAndOptionalComment:\r\n\t\t\t this._modalRef = this._modalService.show(AcceptWithCommentComponent, { class: 'modal-lg' });\r\n\t\t\t break;\r\n\t\t\tcase this.confirmationWithCustomerDataWarningAndRequiredComment:\r\n\t\t\t this._modalRef = this._modalService.show(RejectWithCommentComponent, { class: 'modal-lg' });\r\n\t\t\t break;\r\n\t\t\tdefault:\r\n\t\t\t throw new Error(`Confirmation type '${transition.confirmationType}' is not supported.`);\r\n\t\t }\r\n\r\n\t\t this._modalRef.content.onClose\r\n\t\t\t.pipe(\r\n\t\t\t finalize(() => {\r\n\t\t\t\t this.disableAllActions = false;\r\n\t\t\t\t this._modalRef = null;\r\n\t\t\t })\r\n\t\t\t)\r\n\t\t\t.subscribe(result => {\r\n\t\t\t if (!result.isCancelled) {\r\n\t\t\t\t this.submitTransition(transition, result.comment);\r\n\t\t\t }\r\n\t\t\t});\r\n\t }\r\n\t else {\r\n\t\t // Just submit transition\r\n\t\t this.submitTransition(transition, null);\r\n\t }\r\n }\r\n\r\n}\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\modules\\\\content-viewer\\\\components\\\\incidents\\\\incident-activities-header\\\\incident-activities-header.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvY29udGVudC12aWV3ZXIvY29tcG9uZW50cy9pbmNpZGVudHMvaW5jaWRlbnQtYWN0aXZpdGllcy1oZWFkZXIvaW5jaWRlbnQtYWN0aXZpdGllcy1oZWFkZXIuY29tcG9uZW50LnNjc3MifQ== */\"","import { Component, OnInit, Input } from '@angular/core';\r\nimport { IncidentActivity } from '../../../../../core/models/incidents/incident-activity.model';\r\nimport { IncidentService } from '../../../../../core/services/incidents/incident.service';\r\nimport { ConfigurationService } from '../../../../runtime-configuration/services/configuration.service';\r\n\r\n@Component({\r\n selector: 'incident-activities-header',\r\n templateUrl: './incident-activities-header.component.pug',\r\n styleUrls: ['./incident-activities-header.component.scss']\r\n})\r\nexport class IncidentActivitiesHeaderComponent implements OnInit {\r\n @Input()\r\n public id: string;\r\n\r\n @Input()\r\n public activity: IncidentActivity;\r\n\r\n @Input()\r\n public isEscalated: boolean = false;\r\n \r\n constructor() { }\r\n\r\n ngOnInit() {}\r\n}\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\modules\\\\content-viewer\\\\components\\\\incidents\\\\incident-activities-render\\\\incident-activities-render.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvY29udGVudC12aWV3ZXIvY29tcG9uZW50cy9pbmNpZGVudHMvaW5jaWRlbnQtYWN0aXZpdGllcy1yZW5kZXIvaW5jaWRlbnQtYWN0aXZpdGllcy1yZW5kZXIuY29tcG9uZW50LnNjc3MifQ== */\"","import { Component, OnInit, Input } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { IncidentActivity } from '../../../../../core/models/incidents/incident-activity.model';\r\nimport { IncidentService } from '../../../../../core/services/incidents/incident.service';\r\nimport { ConfigurationService } from '../../../../runtime-configuration/services/configuration.service';\r\n\r\n@Component({\r\n selector: 'incident-activities-render',\r\n templateUrl: './incident-activities-render.component.pug',\r\n styleUrls: ['./incident-activities-render.component.scss']\r\n})\r\nexport class IncidentActivitiesRenderComponent implements OnInit {\r\n\r\n @Input()\r\n\tpublic id: string;\r\n\r\n @Input()\r\n\tpublic activity: IncidentActivity;\r\n\r\n @Input()\r\n public isEscalated: boolean = false;\r\n\r\n @Input()\r\n\tpublic isMetallic: boolean = false;\r\n \r\n constructor(private _configSvc: ConfigurationService, private _incidentService: IncidentService) { }\r\n\r\n ngOnInit() {}\r\n\r\n public replaceLineBreaks(item: any) {\r\n if (item != null) {\r\n var strNoLineBreaks = item.replace(/>/g, \">\");\r\n strNoLineBreaks = strNoLineBreaks.replace(/\");\r\n strNoLineBreaks = strNoLineBreaks.replace(/\\n/g, \"
\");\r\n return strNoLineBreaks;\r\n }\r\n }\r\n\r\n public replaceImgSrc(item: any){\r\n let maBaseUrl = this._configSvc.configuration.maBaseUrl;\r\n if (item != null) {\r\n var imgMatches = item.match(new RegExp(\"\", 'gi'));\r\n if (imgMatches) {\r\n imgMatches.forEach(imgMatch => {\r\n if(this.isEscalated){\r\n item = item.replace(imgMatch, (imgMatch.slice(0, 5) + \"width=800px \" + imgMatch.slice(5)))\r\n }\r\n var regexSrc = /img.*?src=(\"|')(.*?)\\1/i;\r\n var regexAttach = /img.*?data-attachment-id=(\"|')(.*?)\\1/i;\r\n var srcToReplace = imgMatch.match(regexSrc)?imgMatch.match(regexSrc)[2]:\"\";\r\n var attachmentId = imgMatch.match(regexAttach)?imgMatch.match(regexAttach)[2]:null;\r\n if (attachmentId != \"undefined\" && attachmentId != null) {\r\n item = item.replace(srcToReplace, (maBaseUrl + '/crmNAorgff31b/Activities/Attachment/download.aspx?AttachmentId=' + attachmentId));\r\n }\r\n })\r\n }\r\n return item;\r\n }\r\n }\r\n}\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\modules\\\\content-viewer\\\\components\\\\incidents\\\\incident-activities-viewer\\\\incident-activities-viewer.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \"::ng-deep .card-header {\\n cursor: pointer; }\\n\\n::ng-deep .activity .panel-body p {\\n margin: 0; }\\n\\n.margin-btm {\\n margin-bottom: 10px !important; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9jb250ZW50LXZpZXdlci9jb21wb25lbnRzL2luY2lkZW50cy9pbmNpZGVudC1hY3Rpdml0aWVzLXZpZXdlci9DOlxcVXNlcnNcXG1qb3NoaVxcc291cmNlXFxyZXBvc1xcQWxleGFuZHJpYVxcQWxleGFuZHJpYVxcQWxleGFuZHJpYS5XZWJzaXRlXFxDbGllbnRBcHAvc3JjXFxhcHBcXG1vZHVsZXNcXGNvbnRlbnQtdmlld2VyXFxjb21wb25lbnRzXFxpbmNpZGVudHNcXGluY2lkZW50LWFjdGl2aXRpZXMtdmlld2VyXFxpbmNpZGVudC1hY3Rpdml0aWVzLXZpZXdlci5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUdFLGVBQWUsRUFBQTs7QUFIakI7RUFXSSxTQUFTLEVBQUE7O0FBTWI7RUFDQyw4QkFBOEIsRUFBQSIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvY29udGVudC12aWV3ZXIvY29tcG9uZW50cy9pbmNpZGVudHMvaW5jaWRlbnQtYWN0aXZpdGllcy12aWV3ZXIvaW5jaWRlbnQtYWN0aXZpdGllcy12aWV3ZXIuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyI6Om5nLWRlZXAge1xyXG5cclxuXHQuY2FyZC1oZWFkZXIge1xyXG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdH1cclxuXHJcblx0LmFjdGl2aXR5IHtcclxuXHJcblx0XHQucGFuZWwtYm9keSB7XHJcblxyXG5cdFx0XHRwIHtcclxuXHRcdFx0XHRtYXJnaW46IDA7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5tYXJnaW4tYnRtIHtcclxuXHRtYXJnaW4tYm90dG9tOiAxMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuIl19 */\"","import { Component, OnInit, Input, OnDestroy } from '@angular/core';\r\nimport { FormBuilder, FormGroup } from '@angular/forms';\r\nimport { forEach } from '@angular/router/src/utils/collection';\r\nimport { IncidentService } from '../../../../../core/services/incidents/incident.service';\r\nimport { IncidentActivity } from '../../../../../core/models/incidents/incident-activity.model';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { Subscription } from 'rxjs';\r\nimport { ConfigurationService } from '../../../../runtime-configuration/services/configuration.service';\r\n\r\n@Component({\r\n\tselector: 'incident-activities-viewer',\r\n\ttemplateUrl: './incident-activities-viewer.component.pug',\r\n\tstyleUrls: ['./incident-activities-viewer.component.scss']\r\n})\r\nexport class IncidentActivitiesViewerComponent implements OnInit, OnDestroy {\r\n\t@Input()\r\n\tpublic id: string;\r\n\r\n\t@Input()\r\n\tpublic searchTerms: string;\r\n\r\n\t@Input()\r\n\tpublic isMetallic: boolean = false;\r\n\r\n\tpublic showFriendlyTimestamps: boolean = true;\r\n\r\n\tpublic activityFilterForm: FormGroup;\r\n\r\n\tpublic activities: Array;\r\n\r\n\tpublic hasRemainingActivities: boolean = true;\r\n\r\n\tpublic internalExcludedTaskIds: number[];\r\n\r\n\tpublic internalFilter: string = \"(Type eq 'TaskActivity'\";\r\n\r\n\tpublic escalationFilter: string = \"(Type eq 'UpdateActivity' and CV.Common.Entities.Incidents.UpdateActivity/UpdateType eq 'Email')\";\r\n\r\n\tprivate _subscriptions = new Subscription();\r\n\r\n\tprivate _currentFilter: string = '';\r\n\r\n\tprivate _currentPageSize: number = 15;\r\n\r\n\tprivate readonly _defaultPageSize: number = 15;\r\n\r\n\tpublic isEscalated: boolean = false;\r\n\r\n\tconstructor(private _incidentService: IncidentService, private _formBuilder: FormBuilder, private _route: ActivatedRoute, private _configSvc: ConfigurationService) {\r\n\t\tthis.createForm();\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tlet queryParams = this._route.snapshot.queryParams;\r\n\r\n\t\tthis.searchTerms = this.searchTerms ? this.searchTerms : (queryParams['q'] ? queryParams['q'] : null);\r\n\t\tthis.updateActivityData(this._currentFilter);\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis._subscriptions.unsubscribe();\r\n\t}\r\n\r\n\tprivate createForm() {\r\n\t\t// setup the alternate values supplied to the activityFilter\r\n\t\tthis.internalExcludedTaskIds = this._configSvc.configuration.incidentInternalFilterExcludedTaskTypeIds;\r\n\r\n\t\tthis.internalExcludedTaskIds.forEach(taskId => {\r\n\t\t\tthis.internalFilter = `${this.internalFilter} and CV.Common.Entities.Incidents.TaskActivity/TaskTypeId ne ${taskId}`;\r\n\t\t});\r\n\r\n\t\tthis.internalFilter = `${this.internalFilter} or ${this.escalationFilter})`;\r\n\r\n\t\t// set the activityFilter to the default of All results\r\n\t\tthis.activityFilterForm = this._formBuilder.group({\r\n\t\t\tactivityFilter: ''\r\n\t\t});\r\n\r\n\t\tthis._subscriptions.add(\r\n\t\t\tthis.activityFilterForm.controls['activityFilter'].valueChanges.subscribe(filterChange => {\r\n\t\t\t\tthis._currentPageSize = this._defaultPageSize;\r\n\t\t\t\tthis._currentFilter = filterChange;\r\n\t\t\t\tthis.hasRemainingActivities = true;\r\n\t\t\t\tthis.updateActivityData(this._currentFilter);\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tprivate updateActivityData(filter: string): void {\r\n\t\tthis._subscriptions.add(\r\n\t\t\tthis._incidentService.getActivities(this.id, filter, this._currentPageSize, this.searchTerms)\r\n\t\t\t\t.subscribe(activityData => {\r\n\t\t\t\t\tthis.activities = activityData;\r\n\t\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tpublic timeToggle() {\r\n\t\tthis.showFriendlyTimestamps = !this.showFriendlyTimestamps;\r\n\t}\r\n\r\n\tpublic expandAllActivities(e: any) {\r\n\t\tthis.activities.forEach(activity => activity.isDisplayOpen = true);\r\n\t}\r\n\r\n\tpublic collapseAllActivities(e: any) {\r\n\t\tthis.activities.forEach(activity => activity.isDisplayOpen = false);\r\n\t}\r\n\r\n\tpublic retrieveAllActivities(e: any) {\r\n\t\tthis._currentPageSize = null; //do this to say we want to get everything\r\n\t\tthis.hasRemainingActivities = false;\r\n\t\tthis.updateActivityData(this._currentFilter);\r\n\t}\r\n\r\n\tpublic openChange(activity: IncidentActivity, e: any) {\r\n\t\tif (activity.isDisplayOpen != e) {\r\n\t\t\tactivity.isDisplayOpen = e;\r\n\t\t}\r\n\t}\t\r\n}\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\modules\\\\content-viewer\\\\components\\\\incidents\\\\incident-escalation-confirmation\\\\incident-escalation-confirmation.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvY29udGVudC12aWV3ZXIvY29tcG9uZW50cy9pbmNpZGVudHMvaW5jaWRlbnQtZXNjYWxhdGlvbi1jb25maXJtYXRpb24vaW5jaWRlbnQtZXNjYWxhdGlvbi1jb25maXJtYXRpb24uY29tcG9uZW50LnNjc3MifQ== */\"","import { Component, OnInit, Input, ViewChild } from '@angular/core';\r\nimport { FormGroup, Validators, FormControl } from '@angular/forms';\r\nimport { BsModalRef, BsModalService } from 'ngx-bootstrap';\r\nimport { Subscription } from 'rxjs';\r\nimport { IncidentActivity } from '../../../../../core/models/incidents/incident-activity.model';\r\nimport { IncidentService } from '../../../../../core/services/incidents/incident.service';\r\nimport { ConfigurationService } from '../../../../runtime-configuration/services/configuration.service';\r\nimport { IncidentEscalationComponent } from '../incident-escalation/incident-escalation.component';\r\n\r\n@Component({\r\n selector: 'app-incident-escalation-confirmation',\r\n templateUrl: './incident-escalation-confirmation.component.pug',\r\n styleUrls: ['./incident-escalation-confirmation.component.scss']\r\n})\r\nexport class IncidentEscalationConfirmationComponent implements OnInit {\r\n\r\n\t@Input()\r\n\tpublic id: string;\r\n\r\n\t@Input()\r\n\tpublic customerName: string;\r\n\r\n\t@Input()\r\n\tpublic title: string;\r\n\r\n\t@Input()\r\n\tpublic status: string;\r\n\r\n\t@Input()\r\n\tpublic description: string;\r\n\r\n\t@Input()\r\n\tpublic canEscalate: boolean = false;\r\n\r\n\tpublic isEscalated: boolean = true;\r\n\r\n\tpublic incidentDetailsUrl: string;\r\n\r\n\tprivate _subscriptions = new Subscription();\r\n\r\n\tpublic lastActivity: IncidentActivity;\r\n\r\n\tpublic formGroup = new FormGroup({\r\n\t\tisConfirmedChecked: new FormControl('', Validators.requiredTrue)\r\n\t});\r\n\r\n\tconstructor(private _bsModalRef: BsModalRef, private _modalService: BsModalService, private _configSvc: ConfigurationService, private _incidentService: IncidentService) { }\r\n\r\n\tngOnInit() {\r\n\t\tthis.incidentDetailsUrl = this._configSvc.configuration.baseUrl + `/incident/details/${this.id}`;\r\n\t\tthis._subscriptions.add(\r\n\t\t\tthis._incidentService.getActivities(this.id, null, 1, null)\r\n\t\t\t\t.subscribe(activityData => {\r\n\t\t\t\t\tthis.lastActivity = activityData[0];\r\n\t\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tpublic confirm(): void {\r\n\t\tthis._bsModalRef.hide();\r\n\t\tconst initialState = {\r\n\t\t\tid: this.id,\r\n\t\t\tdescription: this.description,\r\n\t\t\ttitle: this.title,\r\n\t\t\tcustomerName: this.customerName,\r\n\t\t\tcanEscalate: this.canEscalate\r\n\t\t};\r\n\t\tthis._bsModalRef = this._modalService.show(IncidentEscalationComponent, { initialState, class: 'modal-lg' });\r\n\t}\r\n\r\n\tpublic onCancel(): void {\r\n\t\tthis._bsModalRef.hide();\r\n\t}\r\n\r\n}\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\modules\\\\content-viewer\\\\components\\\\incidents\\\\incident-escalation\\\\incident-escalation.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \".email-cc .form-control.ng-invalid {\\n border-color: #ff4a6a !important;\\n box-shadow: 0 0 0 0.2rem rgba(255, 74, 106, 0.25) !important; }\\n\\n.help-text {\\n margin-bottom: 2rem; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9jb250ZW50LXZpZXdlci9jb21wb25lbnRzL2luY2lkZW50cy9pbmNpZGVudC1lc2NhbGF0aW9uL0M6XFxVc2Vyc1xcbWpvc2hpXFxzb3VyY2VcXHJlcG9zXFxBbGV4YW5kcmlhXFxBbGV4YW5kcmlhXFxBbGV4YW5kcmlhLldlYnNpdGVcXENsaWVudEFwcC9zcmNcXGFwcFxcbW9kdWxlc1xcY29udGVudC12aWV3ZXJcXGNvbXBvbmVudHNcXGluY2lkZW50c1xcaW5jaWRlbnQtZXNjYWxhdGlvblxcaW5jaWRlbnQtZXNjYWxhdGlvbi5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUdZLGdDQUFnQztFQUNoQyw0REFBNEQsRUFBQTs7QUFJeEU7RUFDSSxtQkFBbUIsRUFBQSIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvY29udGVudC12aWV3ZXIvY29tcG9uZW50cy9pbmNpZGVudHMvaW5jaWRlbnQtZXNjYWxhdGlvbi9pbmNpZGVudC1lc2NhbGF0aW9uLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmVtYWlsLWNjIHtcclxuICAgIC5mb3JtLWNvbnRyb2wge1xyXG4gICAgICAgICYubmctaW52YWxpZCB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogI2ZmNGE2YSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyNTUsIDc0LCAxMDYsIDAuMjUpICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi5oZWxwLXRleHQge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcclxufSJdfQ== */\"","import { Component, OnInit, Input, OnDestroy, EventEmitter, Output, ViewChild } from '@angular/core';\r\nimport { FormGroup, Validators, FormControl } from '@angular/forms';\r\nimport { BsModalRef } from 'ngx-bootstrap';\r\nimport { Subscription, Subject } from 'rxjs';\r\nimport { Contact } from '../../../../../core/models/incidents/incident-contact.model';\r\nimport { IncidentService } from '../../../../../core/services/incidents/incident.service';\r\n\r\n@Component({\r\n\tselector: 'app-incident-escalation',\r\n\ttemplateUrl: './incident-escalation.component.pug',\r\n\tstyleUrls: ['./incident-escalation.component.scss']\r\n})\r\nexport class IncidentEscalationComponent implements OnInit {\r\n\r\n\tprivate _subscription = new Subscription();\r\n\r\n\t@Input()\r\n\tpublic id: string;\r\n\r\n\t@Input()\r\n\tpublic customerName: string;\r\n\r\n\t@Input()\r\n\tpublic title: string;\r\n\r\n\t@Input()\r\n\tpublic description: string;\r\n\r\n\t@Input()\r\n\tpublic canEscalate: boolean = false;\r\n\r\n\t@Output()\r\n\tpublic isEscalated = new EventEmitter();\r\n\r\n\tpublic isError: boolean = false;\r\n\r\n public results: Contact[];\r\n\r\n\tpublic emailCCUsers = [];\r\n\r\n\tpublic uiElement: any;\r\n\r\n\t@ViewChild('dlelement') dlElementRef;\r\n\r\n\tpublic formGroup = new FormGroup({\r\n\t\temailCC: new FormControl(),\r\n\t\tescalationDescription: new FormControl('', Validators.required)\r\n\t});\r\n\r\n\tconstructor(private _bsModalRef: BsModalRef,\r\n\t\tprivate _incidentService: IncidentService) { }\r\n\r\n\tngOnInit() {\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis._subscription.unsubscribe();\r\n\t}\r\n\r\n search(event) {\r\n this._incidentService.getCCUsers(event.query).subscribe(data => {\r\n this.results = data;\r\n\t\t\tthis.results.forEach((item: any) => item.name = item.fullName + \" (\" + item.emailAddress + \")\");\r\n });\r\n }\r\n\r\n\tpublic removeDuplicates = (array, key) => {\r\n\t\treturn array.reduce((arr, item) => {\r\n\t\t const removed = arr.filter(i => i[key] !== item[key]);\r\n\t\t return [...removed, item];\r\n\t\t}, []);\r\n\t};\r\n\r\n\tpublic select(event) {\r\n\t\tevent.name = event.fullName;\r\n\t\tthis.uiElement = this.dlElementRef.value;\r\n\t\tthis.emailCCUsers.push(event);\r\n\t\tthis.dlElementRef.value = this.removeDuplicates(this.uiElement, 'id')\r\n\t\tthis.emailCCUsers = this.removeDuplicates(this.emailCCUsers, 'id');\r\n\t}\r\n\r\n\tpublic unselect(event){\r\n\t\tconst index = this.emailCCUsers.indexOf(event);\r\n\t\tif (index > -1) {\r\n\t\t\tthis.emailCCUsers.splice(index, 1);\r\n\t\t}\r\n\t}\r\n\t\r\n\tpublic submit(): void {\r\n\t\tthis.isError = false;\r\n\r\n\t\tthis._subscription.add(\r\n\t\t\tthis._incidentService\r\n\t\t\t\t.escalateIncident(this.id, this.emailCCUsers, this.formGroup.value.escalationDescription)\r\n\t\t\t\t.subscribe(response => {\r\n\t\t\t\t\tthis.isEscalated.emit(true);\r\n\t\t\t\t\tthis._bsModalRef.hide();\r\n\r\n\t\t\t\t},\r\n\t\t\t\t\terror => {\r\n\t\t\t\t\t\tthis.isEscalated.emit(false);\r\n\t\t\t\t\t\tthis.isError = true;\r\n\t\t\t\t\t}\r\n\t\t\t\t)\r\n\t\t);\r\n\t}\r\n\r\n\tpublic onCancel(): void {\r\n\t\tthis._bsModalRef.hide();\r\n\t}\r\n\r\n}\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\modules\\\\content-viewer\\\\components\\\\incidents\\\\incident-internal-note\\\\incident-internal-note.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \".button-row {\\n display: flex;\\n flex-wrap: nowrap;\\n justify-content: space-between;\\n align-items: center;\\n padding: 0px 15px; }\\n\\n.button-col {\\n display: flex;\\n height: 32px; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9jb250ZW50LXZpZXdlci9jb21wb25lbnRzL2luY2lkZW50cy9pbmNpZGVudC1pbnRlcm5hbC1ub3RlL0M6XFxVc2Vyc1xcbWpvc2hpXFxzb3VyY2VcXHJlcG9zXFxBbGV4YW5kcmlhXFxBbGV4YW5kcmlhXFxBbGV4YW5kcmlhLldlYnNpdGVcXENsaWVudEFwcC9zcmNcXGFwcFxcbW9kdWxlc1xcY29udGVudC12aWV3ZXJcXGNvbXBvbmVudHNcXGluY2lkZW50c1xcaW5jaWRlbnQtaW50ZXJuYWwtbm90ZVxcaW5jaWRlbnQtaW50ZXJuYWwtbm90ZS5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLGFBQWE7RUFDYixpQkFBaUI7RUFDakIsOEJBQThCO0VBQzlCLG1CQUFtQjtFQUNuQixpQkFBaUIsRUFBQTs7QUFHckI7RUFDSSxhQUFhO0VBQ2IsWUFBWSxFQUFBIiwiZmlsZSI6InNyYy9hcHAvbW9kdWxlcy9jb250ZW50LXZpZXdlci9jb21wb25lbnRzL2luY2lkZW50cy9pbmNpZGVudC1pbnRlcm5hbC1ub3RlL2luY2lkZW50LWludGVybmFsLW5vdGUuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuYnV0dG9uLXJvdyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiBub3dyYXA7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgcGFkZGluZzogMHB4IDE1cHg7XHJcbn1cclxuXHJcbi5idXR0b24tY29sIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBoZWlnaHQ6IDMycHg7XHJcbn0iXX0= */\"","import { Component, Input, OnInit } from '@angular/core';\r\nimport { FormGroup, Validators, FormControl } from '@angular/forms';\r\nimport { BsModalRef } from 'ngx-bootstrap';\r\nimport { Subscription } from 'rxjs';\r\nimport { InternalNote } from '../../../../../core/models/incidents/incident-internal-note.model';\r\nimport { UserProfile } from '../../../../../core/models/user-profiles/user-profile.model';\r\nimport { IncidentService } from '../../../../../core/services/incidents/incident.service';\r\nimport { UserProfileService } from '../../../../../core/services/user-profiles/user-profile.service';\r\nimport { ConfigurationService } from '../../../../runtime-configuration/services/configuration.service';\r\n\r\n@Component({\r\n selector: 'app-incident-internal-note',\r\n templateUrl: './incident-internal-note.component.pug',\r\n styleUrls: ['./incident-internal-note.component.scss']\r\n})\r\nexport class IncidentInternalNoteComponent implements OnInit {\r\n \r\n private _subscription = new Subscription();\r\n\r\n @Input()\r\n\tpublic id: string;\r\n \r\n public formGroup = new FormGroup({\r\n\t\tdescription: new FormControl('', Validators.required)\r\n\t});\r\n\r\n public profile: UserProfile;\r\n \r\n constructor(private _bsModalRef: BsModalRef, private _incidentService: IncidentService, private _configSvc: ConfigurationService, private _profileService: UserProfileService) { }\r\n\r\n ngOnInit() {\r\n this.getProfile();\r\n }\r\n\r\n public onCancel(): void {\r\n\t\tthis._bsModalRef.hide();\r\n\t}\r\n\r\n public getProfile():void {\r\n\t\tthis._subscription.add(\r\n\t\t this._profileService.getMyProfile()\r\n\t\t .subscribe(data => {\r\n\t\t\tthis.profile = data;\r\n\t\t })\r\n\t\t)\r\n\t}\r\n\r\n public submit(): void { \r\n let request = new InternalNote();\r\n request.description = this.formGroup.value.description;\r\n request.taskTypeId = this._configSvc.configuration.caseInternalNoteTaskTypeId;\r\n request.userFullName = this.profile.displayName;\r\n request.emailAddress = this.profile.email;\r\n this._subscription.add(\r\n this._incidentService.createInternalNote(this.id, request)\r\n .subscribe(data => {\r\n this._bsModalRef.hide();\r\n })\r\n )\r\n }\r\n \r\n ngOnDestroy() {\r\n\t\tthis._subscription.unsubscribe();\r\n\t}\r\n\r\n}\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\modules\\\\content-viewer\\\\components\\\\incidents\\\\incident-share\\\\incident-share.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvY29udGVudC12aWV3ZXIvY29tcG9uZW50cy9pbmNpZGVudHMvaW5jaWRlbnQtc2hhcmUvaW5jaWRlbnQtc2hhcmUuY29tcG9uZW50LnNjc3MifQ== */\"","import { Component, OnInit, Input } from '@angular/core';\r\n\r\n@Component({\r\n\tselector: 'incident-share',\r\n\ttemplateUrl: './incident-share.component.pug',\r\n\tstyleUrls: ['./incident-share.component.scss']\r\n})\r\nexport class IncidentShareComponent implements OnInit {\r\n\r\n\t@Input()\r\n\tpublic id: string;\r\n\r\n\tconstructor() { }\r\n\r\n\tngOnInit() {\r\n\t}\r\n\r\n}\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\modules\\\\content-viewer\\\\components\\\\incidents\\\\incident-viewer\\\\incident-viewer.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvY29udGVudC12aWV3ZXIvY29tcG9uZW50cy9pbmNpZGVudHMvaW5jaWRlbnQtdmlld2VyL2luY2lkZW50LXZpZXdlci5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component, OnInit, Input, Output, SimpleChange, OnDestroy } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\nimport { SpinnerService } from '../../../../../core/services/spinner/spinner.service';\r\nimport { IncidentService } from '../../../../../core/services/incidents/incident.service';\r\n\r\nimport { Incident } from '../../../../../core/models/incidents/incident.model';\r\nimport { Team } from '../../../../../core/models/teams/team.model';\r\n\r\nimport { Subscription } from 'rxjs';\r\nimport { BsModalService, BsModalRef } from 'ngx-bootstrap';\r\n\r\nimport { IncidentQualityVote } from '../../../../../core/models/incidents/incident-quality-vote.model';\r\nimport { ShareComponent } from '../../../../../shared/components/share/share.component';\r\nimport { CaseSubscription } from '../../../../../core/models/incidents/incident-subscription.model';\r\nimport { UserProfileService } from '../../../../../core/services/user-profiles/user-profile.service';\r\nimport { UserProfile } from '../../../../../core/models/user-profiles/user-profile.model';\r\nimport { Contact } from '../../../../../core/models/incidents/incident-contact.model';\r\nimport { IncidentInternalNoteComponent } from '../incident-internal-note/incident-internal-note.component';\r\nimport { IncidentEscalationConfirmationComponent } from '../incident-escalation-confirmation/incident-escalation-confirmation.component';\r\n\r\n@Component({\r\n\tselector: 'app-incident-viewer',\r\n\ttemplateUrl: './incident-viewer.component.pug',\r\n\tstyleUrls: ['./incident-viewer.component.scss']\r\n})\r\nexport class IncidentViewerComponent implements OnInit, OnDestroy {\r\n\r\n\tprivate _subscription = new Subscription();\r\n\r\n\tprivate _modalRef: BsModalRef;\r\n\r\n\t@Input()\r\n\tpublic incidentId: string;\r\n\r\n\t@Input()\r\n\tpublic searchTerms: string;\r\n\r\n\tpublic isValid: boolean = true;\r\n\r\n\tpublic lastUpdated: Date;\r\n\r\n\tpublic incident: Incident;\r\n\r\n\tpublic isFieldEscalated: boolean = false;\r\n\r\n\tpublic isActiveState: boolean = false;\r\n\r\n\tpublic userVote: number = 0;\r\n\r\n\tpublic votedCount: number = 0;\r\n\t\r\n\tpublic profile: UserProfile;\r\n\r\n\tpublic isCaseSubscribe:boolean = false;\r\n\r\n\tpublic isAccountSubscribe:boolean = false;\r\n\r\n\tpublic contactId: string;\r\n\r\n\tpublic fullName: string[];\r\n\r\n\tpublic isMetallic: boolean = false;\r\n\r\n\tconstructor(private _route: ActivatedRoute, private _profileService: UserProfileService, \r\n\t\tprivate _incidentService: IncidentService,\r\n\t\tprivate _modalService: BsModalService) {\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tthis.getProfile();\r\n\t\tif (this.incidentId) {\r\n\t\t\tthis.getData();\r\n\t\t} else {\r\n\t\t\tthis._subscription.add(\r\n\t\t\t\tthis._route.params.subscribe(params => {\r\n\t\t\t\t\tthis.incidentId = (params['incidentId'] ? params['incidentId'] : null);\r\n\r\n\t\t\t\t\tthis.getData();\r\n\t\t\t\t})\r\n\t\t\t);\r\n\t\t}\r\n\t}\r\n\r\n\tprivate refresh(): void {\r\n\t\tthis.getData();\r\n\t}\r\n\r\n\tprivate getData(): void {\r\n\t\tif (!this.incidentId) {\r\n\t\t\tconsole.log('No incident id has been specified. Aborting call.');\r\n\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.isValid = true;\r\n\r\n\t\tthis.getIncidentData();\r\n\t\tthis.getUsersQualityVote();\r\n\t\tthis.getQualityVoteScore();\r\n\t\tthis.isLastActivityFieldEscalation();\r\n\t\tthis.getCaseSubscriptions();\r\n\t}\r\n\r\n\tprivate getIncidentData(): void {\r\n\t\tif (!this.incidentId) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis._incidentService.getIncident(this.incidentId).subscribe(\r\n\t\t\tresponse => {\r\n\t\t\t\tthis.incident = response;\r\n\r\n\t\t\t\tthis.isActiveState = this.incident.state.toLowerCase() == 'active' ? true : false;\r\n\t\t\t\tlet metallicCase = this.incident.supportType && this.incident.supportType.match(/Metallic/i);\r\n\t\t\t\tthis.isMetallic = metallicCase && metallicCase.length > 0 ? true : false;\r\n\r\n\t\t\t\tif (!this.isActiveState) {\r\n\t\t\t\t\t// go get the Resolution\r\n\t\t\t\t\tthis._incidentService.getResolution(this.incidentId).subscribe(\r\n\t\t\t\t\t\tresolutionResponse => {\r\n\t\t\t\t\t\t\tthis.incident.resolution = resolutionResponse;\r\n\t\t\t\t\t\t\tif (this.incident.resolution.classificationText !== null) {\r\n\t\t\t\t\t\t\t\tthis.incident.resolution.classificationText = this.incident.resolution.classificationText.split(\"\\\\\").join(\">\");\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\telse if (this.incident.taxonomyPath !== null) {\r\n\t\t\t\t\t\tthis.incident.taxonomyPath = this.incident.taxonomyPath.split(\"\\\\\").join(\">\");\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\tthis.lastUpdated = new Date();\r\n\t\t\t\tthis.getAccountSubscriptions();\r\n\t\t\t},\r\n\t\t\terror => {\r\n\t\t\t\tthis.isValid = false;\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tprivate isLastActivityFieldEscalation(): void {\r\n\t\tif (!this.incidentId) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis._subscription.add(\r\n\t\t\tthis._incidentService.isLastActivityFieldEscalation(this.incidentId).subscribe(result => {\r\n\t\t\t\tthis.isFieldEscalated = result;\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tprivate getUsersQualityVote() {\r\n\t\tif (!this.incidentId) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis._subscription.add(\r\n\t\t\tthis._incidentService.getIncidentQualityVote(this.incidentId)\r\n\t\t\t\t.subscribe(response => {\r\n\t\t\t\t\tif (response) {\r\n\t\t\t\t\t\tthis.userVote = response.vote;\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tprivate getQualityVoteScore() {\r\n\t\tif (!this.incidentId) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis._subscription.add(\r\n\t\t\tthis._incidentService.getIncidentQualityVoteScore(this.incidentId)\r\n\t\t\t\t.subscribe(result => {\r\n\t\t\t\t\tthis.votedCount = result;\r\n\t\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tprivate voteSubmitted(liked: boolean) {\r\n\t\tthis._subscription.add(\r\n\t\t\tthis._incidentService.voteAsync(this.incidentId, this.userVote)\r\n\t\t\t\t.subscribe(result => {\r\n\t\t\t\t\tthis.userVote = result.vote;\r\n\r\n\t\t\t\t\t// check if the user can edit this article\r\n\t\t\t\t\tthis._subscription.add(\r\n\t\t\t\t\t\tthis._incidentService.getIncidentQualityVoteScore(this.incidentId)\r\n\t\t\t\t\t\t\t.subscribe(result => {\r\n\t\t\t\t\t\t\t\tthis.votedCount = result;\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t);\r\n\t\t\t\t})\r\n\t\t);\r\n\r\n\t}\r\n\r\n\tprivate setUserVote(liked: boolean) {\r\n\t\tif (liked) {\r\n\t\t\tif (this.userVote <= 0) {\r\n\t\t\t\tthis.userVote = 1\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tthis.userVote = 0\r\n\t\t\t}\r\n\t\t}\r\n\t\telse {\r\n\t\t\tif (this.userVote >= 0) {\r\n\t\t\t\tthis.userVote = -1\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tthis.userVote = 0;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tpublic escalation() {\r\n\t\tconst initialState = {\r\n\t\t\tid: this.incidentId,\r\n\t\t\tcustomerName: this.incident.contactName,\r\n\t\t\tcanEscalate: !this.isFieldEscalated && this.isActiveState,\r\n\t\t\ttitle: this.incident.title,\r\n\t\t\tdescription: this.incident.description,\r\n\t\t\tstatus: this.incident.status\r\n\t\t};\r\n\r\n\t\tthis._modalRef = this._modalService.show(IncidentEscalationConfirmationComponent, { initialState, class: 'modal-lg' });\r\n\t\tthis._subscription.add(this._modalRef.content.isEscalated.subscribe(result => {\r\n\t\t\tthis.isFieldEscalated = result;\r\n\t\t}));\r\n\t}\r\n\r\n\tpublic onVoted(liked: any) {\r\n\t\tconsole.log(\"incident-viewer.component.onVoted\");\r\n\r\n\t\tthis.setUserVote(liked);\r\n\r\n\t\tthis.voteSubmitted(liked);\r\n\r\n\t}\r\n\r\n\tpublic share() {\r\n\t\tlet url = `${window.location.origin}/incident/details/${this.incident.ticketNumber}`;\r\n\r\n\t\tconst initialState = {\r\n\t\t\tsubject: 'Incident Shared',\r\n\t\t\ttype: 'Incident',\r\n\t\t\turl: url\r\n\t\t};\r\n\r\n\t\tconst modalParams = { initialState, class: 'modal-lg' };\r\n\t\tthis._modalRef = this._modalService.show(ShareComponent, modalParams);\r\n\t}\r\n\r\n\tpublic reindex(): void {\r\n\t\tif (!this.incidentId) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis._incidentService.reindexIncident(this.incidentId).subscribe();\r\n\t}\r\n\r\n\tpublic getProfile():void {\r\n\t\tthis._subscription.add(\r\n\t\t this._profileService.getMyProfile()\r\n\t\t .subscribe(data => {\r\n\t\t\tthis.profile = data;\r\n\t\t\tthis.getSecondaryContact();\r\n\t\t })\r\n\t\t)\r\n\t }\r\n\r\n\tpublic getSecondaryContact() {\r\n\t\tlet response = this._incidentService.getSecondaryContacts(this.profile.email).then(data => {\r\n\t\t if(data.isSuccess){\r\n\t\t\tif(data.response && data.response.length !== 0){\r\n\t\t\t this.contactId = data.response[0].id;\r\n\t\t\t}else {\r\n\t\t\t this.addSecondaryContact();\r\n\t\t\t}\r\n\t\t }else {\r\n\t\t\tthrow new Error(data.error[0]);\r\n\t\t }\r\n\t\t})\r\n\t}\r\n\r\n\tpublic addSecondaryContact(){\r\n\t\tlet contact = new Contact();\r\n\t\tthis.fullName = this.profile.displayName && this.profile.displayName.split(\" \");\r\n\t\tif(this.fullName[0]){\r\n\t\t contact.firstName = this.fullName[0];\r\n\t\t}\r\n\t\tif(this.fullName[1]){\r\n\t\t contact.lastName = this.fullName[1];\r\n\t\t}\r\n\t\tcontact.emailAddress = this.profile.email;\r\n\t\r\n\t\tlet response = this._incidentService.createContact(contact).then(data => {\r\n\t\t if(data.isSuccess){\r\n\t\t\tif(data.response){\r\n\t\t\t this.contactId = data.response;\r\n\t\t\t}\r\n\t\t }else {\r\n\t\t\tthrow new Error(data.error[0]);\r\n\t\t }\r\n\t\t});\r\n\t }\r\n\r\n\tpublic getCaseSubscriptions(){\r\n\t\tif (!this.incidentId) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis._subscription.add(\r\n\t\t\tthis._incidentService.getCaseSubscriptions(this.incidentId)\r\n\t\t\t\t.subscribe(result => {\r\n\t\t\t\t\tlet obj = result.value.find(item => item.emailAddress === this.profile.email);\r\n\t\t\t\t\tif(obj){\r\n\t\t\t\t\t\tthis.isCaseSubscribe = true;\r\n\t\t\t\t\t}\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tpublic subscribeToCase() {\r\n\t\tlet request = new CaseSubscription();\r\n\t\trequest.id = this.contactId;\r\n\t\tthis._subscription.add(\r\n\t\t\tthis._incidentService.subscribeToCase(this.incident.id, request)\r\n\t\t\t\t.subscribe(result => {\r\n\t\t\t\t\tthis.isCaseSubscribe = true;\r\n\t\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tpublic unsubscribeToCase() {\r\n\t\tlet request = new CaseSubscription();\r\n\t\trequest.id = this.contactId;\r\n\t\tthis._subscription.add(\r\n\t\t\tthis._incidentService.unsubscribeToCase(this.incident.id, request)\r\n\t\t\t\t.subscribe(result => {\r\n\t\t\t\t\tthis.isCaseSubscribe = false;\r\n\t\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tpublic getAccountSubscriptions(){\r\n\t\tthis._subscription.add(\r\n\t\t\tthis._incidentService.getAccountSubscriptions(this.incident.accountId)\r\n\t\t\t\t.subscribe(result => {\r\n\t\t\t\t\tlet obj = result.value.find(item => item.emailAddress === this.profile.email);\r\n\t\t\t\t\tif(obj){\r\n\t\t\t\t\t\tthis.isAccountSubscribe = true;\r\n\t\t\t\t\t}\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tpublic subscribeToAccount() {\r\n\t\tlet request = new CaseSubscription();\r\n\t\trequest.id = this.contactId;\r\n\t\tthis._subscription.add(\r\n\t\t\tthis._incidentService.subscribeToAccount(this.incident.accountId, request)\r\n\t\t\t\t.subscribe(result => {\r\n\t\t\t\t\tthis.isAccountSubscribe = true;\r\n\t\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tpublic unsubscribeToAccount() {\r\n\t\tlet request = new CaseSubscription();\r\n\t\trequest.id = this.contactId;\r\n\t\tthis._subscription.add(\r\n\t\t\tthis._incidentService.unsubscribeToAccount(this.incident.accountId, request)\r\n\t\t\t\t.subscribe(result => {\r\n\t\t\t\t\tthis.isAccountSubscribe = false;\r\n\t\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tpublic internalNote(){\r\n\t\tconst initialState = {\r\n\t\t\tid: this.incidentId\r\n\t\t};\r\n\t\tthis._modalRef = this._modalService.show(IncidentInternalNoteComponent, {initialState, class: 'modal-lg' });\r\n\t}\r\n\t\r\n\tngOnDestroy() {\r\n\t\tthis._subscription.unsubscribe();\r\n\t}\r\n\r\n}\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\modules\\\\content-viewer\\\\components\\\\psrs\\\\psr-activities-viewer\\\\psr-activities-viewer.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \"::ng-deep .card-header {\\n cursor: pointer; }\\n\\n::ng-deep .activity .panel-body p {\\n margin: 0; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9jb250ZW50LXZpZXdlci9jb21wb25lbnRzL3BzcnMvcHNyLWFjdGl2aXRpZXMtdmlld2VyL0M6XFxVc2Vyc1xcbWpvc2hpXFxzb3VyY2VcXHJlcG9zXFxBbGV4YW5kcmlhXFxBbGV4YW5kcmlhXFxBbGV4YW5kcmlhLldlYnNpdGVcXENsaWVudEFwcC9zcmNcXGFwcFxcbW9kdWxlc1xcY29udGVudC12aWV3ZXJcXGNvbXBvbmVudHNcXHBzcnNcXHBzci1hY3Rpdml0aWVzLXZpZXdlclxccHNyLWFjdGl2aXRpZXMtdmlld2VyLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBRUUsZUFBZSxFQUFBOztBQUZqQjtFQVNJLFNBQVMsRUFBQSIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvY29udGVudC12aWV3ZXIvY29tcG9uZW50cy9wc3JzL3Bzci1hY3Rpdml0aWVzLXZpZXdlci9wc3ItYWN0aXZpdGllcy12aWV3ZXIuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyI6Om5nLWRlZXAge1xyXG5cdC5jYXJkLWhlYWRlciB7XHJcblx0XHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0fVxyXG5cclxuXHQuYWN0aXZpdHkge1xyXG5cdFx0LnBhbmVsLWJvZHkge1xyXG5cclxuXHRcdFx0cCB7XHJcblx0XHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbiJdfQ== */\"","import { Component, OnInit, Input, OnDestroy } from '@angular/core';\r\nimport { FormBuilder, FormGroup } from '@angular/forms';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\n\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { PartnerService } from '../../../../../core/services/psrs/psrs.service';\r\nimport { AlertService } from '../../../../../core/services/alert/alert.service';\r\n\r\nimport { PartnerServiceRequestActivity } from '../../../../../core/models/psrs/psrs-activity.model';\r\n\r\n@Component({\r\n\tselector: 'app-psr-activities-viewer',\r\n\ttemplateUrl: './psr-activities-viewer.component.pug',\r\n\tstyleUrls: ['./psr-activities-viewer.component.scss']\r\n})\r\nexport class PsrActivitiesViewerComponent implements OnInit, OnDestroy {\r\n\r\n\t@Input()\r\n\tpublic id: string;\r\n\r\n\t@Input()\r\n\tpublic searchTerms: string;\r\n\r\n\tpublic showFriendlyTimestamps: boolean = true;\r\n\r\n\tpublic activityFilterForm: FormGroup;\r\n\r\n\tpublic activities: Array;\r\n\r\n\tpublic hasRemainingActivities: boolean = true;\r\n\r\n\t// Used to indicate when the entity does not exist OR the user does not have access\r\n\tpublic wasNotFound: boolean;\r\n\r\n\tprivate _subscriptions = new Subscription();\r\n\r\n\tprivate _currentPageSize: number = 15;\r\n\r\n\tprivate readonly _defaultPageSize: number = 15;\r\n\r\n\tconstructor(private _psrsService: PartnerService, private _formBuilder: FormBuilder, private _alertService: AlertService) {\r\n\t\tthis.createForm();\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tthis.updateActivityData();\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis._subscriptions.unsubscribe();\r\n\t}\r\n\r\n\tprivate createForm() {\r\n\t\tthis.activityFilterForm = this._formBuilder.group({\r\n\t\t\tactivityFilter: ''\r\n\t\t});\r\n\r\n\t\tthis._subscriptions.add(\r\n\t\t\tthis.activityFilterForm.controls['activityFilter'].valueChanges.subscribe(() => {\r\n\t\t\t\tthis._currentPageSize = this._defaultPageSize;\r\n\t\t\t\tthis.hasRemainingActivities = true;\r\n\t\t\t\tthis.updateActivityData();\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tprivate updateActivityData(): void {\r\n\t\tthis._subscriptions.add(\r\n\t\t\tthis._psrsService.getPartnerServiceRequestActivities(this.id)\r\n\t\t\t\t.subscribe(\r\n\t\t\t\t\tresponse => {\r\n\t\t\t\t\t\tthis.wasNotFound = false;\r\n\r\n\t\t\t\t\t\tthis.activities = response;\r\n\t\t\t\t\t},\r\n\t\t\t\t\terr => {\r\n\t\t\t\t\t\t// Hate the idea of having to add code to **conditionally** handle this...specifically show an error if **not** a 401 or 404. Ideally,\r\n\t\t\t\t\t\t// we would only get here if we needed to handle the 401 or 404...\r\n\t\t\t\t\t\tif (err instanceof HttpErrorResponse && (err.status == 401 || err.status == 404)) {\r\n\t\t\t\t\t\t\tthis.wasNotFound = true;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\tthis._alertService.show('An unexpected error seems to have occurred. Please try the action again or refresh your page. If the problem continues, you can contact the BATS-Alexandria team for assistance.');\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t)\r\n\t\t);\r\n\t}\r\n\r\n\tpublic timeToggle() {\r\n\t\tthis.showFriendlyTimestamps = !this.showFriendlyTimestamps;\r\n\t}\r\n\r\n\tpublic expandAllActivities(e: any) {\r\n\t\tthis.activities.forEach(activity => activity.isDisplayOpen = true);\r\n\t}\r\n\r\n\tpublic collapseAllActivities(e: any) {\r\n\t\tthis.activities.forEach(activity => activity.isDisplayOpen = false);\r\n\t}\r\n\r\n\tpublic retrieveAllActivities(e: any) {\r\n\t\tthis._currentPageSize = null; //do this to say we want to get everything\r\n\t\tthis.hasRemainingActivities = false;\r\n\t\tthis.updateActivityData();\r\n\t}\r\n\r\n\tpublic openChange(activity: PartnerServiceRequestActivity, e: any) {\r\n\t\tif (activity.isDisplayOpen != e) {\r\n\t\t\tactivity.isDisplayOpen = e;\r\n\t\t}\r\n\t}\r\n\r\n}\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\modules\\\\content-viewer\\\\components\\\\psrs\\\\psr-viewer\\\\psr-viewer.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvY29udGVudC12aWV3ZXIvY29tcG9uZW50cy9wc3JzL3Bzci12aWV3ZXIvcHNyLXZpZXdlci5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component, OnInit, Input } from '@angular/core';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { PartnerService } from '../../../../../core/services/psrs/psrs.service';\r\nimport { AlertService } from '../../../../../core/services/alert/alert.service';\r\n\r\nimport { PartnerServiceRequest } from '../../../../../core/models/psrs/psrs.model';\r\n\r\n@Component({\r\n\tselector: 'app-psr-viewer',\r\n\ttemplateUrl: './psr-viewer.component.pug',\r\n\tstyleUrls: ['./psr-viewer.component.scss']\r\n})\r\nexport class PsrViewerComponent implements OnInit {\r\n\tprivate _subscription = new Subscription();\r\n\r\n\tpublic request: PartnerServiceRequest;\r\n\r\n\t@Input()\r\n\tpublic id: string;\r\n\r\n\t@Input()\r\n\tpublic searchTerms: string;\r\n\r\n\t// Used to indicate when the entity does not exist OR the user does not have access\r\n\tpublic wasNotFound: boolean;\r\n\r\n\tconstructor(private _route: ActivatedRoute, private _partnerService: PartnerService, private _alertService: AlertService) {\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tif (this.id) {\r\n\t\t\tthis.getPartnerServiceRequestData();\r\n\t\t}\r\n\t\telse {\r\n\t\t\tthis._subscription.add(\r\n\t\t\t\tthis._route.params.subscribe(params => {\r\n\t\t\t\t\tthis.id = (params['id'] ? params['id'] : null);\r\n\t\t\t\t\tthis.getPartnerServiceRequestData();\r\n\t\t\t\t})\r\n\t\t\t);\r\n\t\t}\r\n\t}\r\n\r\n\tprivate getPartnerServiceRequestData(): void {\r\n\t\tif (!this.id) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis._subscription.add(\r\n\t\t\tthis._partnerService.getPartnerServiceRequest(this.id)\r\n\t\t\t\t.subscribe(\r\n\t\t\t\t\tresponse => {\r\n\t\t\t\t\t\tthis.wasNotFound = false;\r\n\r\n\t\t\t\t\t\tthis.request = response;\r\n\r\n\t\t\t\t\t\tif (this.request) {\r\n\t\t\t\t\t\t\tthis.request.description = (this.request.description ? this.request.description.trim() : null);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t},\r\n\t\t\t\t\terr => {\r\n\t\t\t\t\t\t// Hate the idea of having to add code to **conditionally** handle this...specifically show an error if **not** a 401 or 404. Ideally,\r\n\t\t\t\t\t\t// we would only get here if we needed to handle the 401 or 404...\r\n\t\t\t\t\t\tif (err instanceof HttpErrorResponse && (err.status == 401 || err.status == 404)) {\r\n\t\t\t\t\t\t\tthis.wasNotFound = true;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\tthis._alertService.show('An unexpected error seems to have occurred. Please try the action again or refresh your page. If the problem continues, you can contact the BATS-Alexandria team for assistance.');\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t)\r\n\t\t);\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis._subscription.unsubscribe();\r\n\t}\r\n\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { RouterModule, Routes } from \"@angular/router\";\r\n\r\nimport { ArticlesViewerComponent } from \"./components/articles/articles-viewer/articles-viewer.component\";\r\nimport { IncidentViewerComponent } from \"./components/incidents/incident-viewer/incident-viewer.component\";\r\nimport { AuthPermissionsGuard } from \"../../core/services/permissions/auth-permissions.guard\";\r\nimport { ArticlesCompareComponent } from \"./components/articles/articles-compare/articles-compare.component\";\r\nimport { PsrViewerComponent } from \"./components/psrs/psr-viewer/psr-viewer.component\";\r\n\r\nconst routes: Routes = [\r\n\t{ path: 'incident/details/:incidentId', component: IncidentViewerComponent, canActivate: [AuthPermissionsGuard] },\r\n\t{ path: \"article/details/:id\", component: ArticlesViewerComponent, canActivate: [AuthPermissionsGuard], runGuardsAndResolvers: 'always' },\t\t\t// version is optional\r\n\t{ path: \"article/details/:id/:version\", component: ArticlesViewerComponent, canActivate: [AuthPermissionsGuard], runGuardsAndResolvers: 'always' },\r\n\t{ path: \"article/diff/:id/:version1/:version2\", component: ArticlesCompareComponent, canActivate: [AuthPermissionsGuard] },\r\n\t{ path: 'psr/details/:id', component: PsrViewerComponent, canActivate: [AuthPermissionsGuard], data: { roles: ['view-psr'] } },\r\n]\r\n\r\n@NgModule({\r\n\timports: [RouterModule.forRoot(routes)],\r\n\texports: [RouterModule]\r\n})\r\nexport class ContentViewerRoutingModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule, DatePipe } from '@angular/common';\r\nimport { ReactiveFormsModule, FormsModule } from '@angular/forms';\r\n\r\nimport { MomentModule } from 'ngx-moment';\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\nimport { AccordionModule, ButtonsModule, BsDropdownModule } from 'ngx-bootstrap';\r\nimport { DiffMatchPatchModule } from \"ng-diff-match-patch\";\r\n\r\nimport { SharedModule } from '../../shared/shared.module';\r\nimport { ContentViewerRoutingModule } from './content-viewer-routing.module';\r\n\r\nimport { ArticleFriendlyVersionPipe } from '../../shared/pipes/article-friendly.pipe';\r\n\r\nimport { ArticlesViewerComponent } from './components/articles/articles-viewer/articles-viewer.component';\r\nimport { ArticlesViewerTechnicalNoteComponent } from './components/articles/articles-viewer-technicalnote/articles-viewer-technicalnote.component';\r\nimport { ArticlesViewerSolutionComponent } from './components/articles/articles-viewer-solution/articles-viewer-solution.component';\r\nimport { ArticlesViewerTroubleshootingComponent } from './components/articles/articles-viewer-troubleshooting/articles-viewer-troubleshooting.component';\r\nimport { ArticlesViewerTechnicalReferenceComponent } from './components/articles/articles-viewer-technical-reference/articles-viewer-technical-reference.component';\r\nimport { ArticlesViewerBestPracticesComponent } from './components/articles/articles-viewer-best-practices/articles-viewer-best-practices.component';\r\nimport { ArticlesViewerFrequentlyAskedQuestionComponent } from './components/articles/articles-viewer-frequently-asked-question/articles-viewer-frequently-asked-question.component';\r\nimport { ArticlesViewerModalPreviewComponent } from './components/articles/articles-viewer-modal-preview/articles-viewer-modal-preview.component';\r\n\r\nimport { IncidentViewerComponent } from './components/incidents/incident-viewer/incident-viewer.component';\r\nimport { IncidentActivitiesViewerComponent } from './components/incidents/incident-activities-viewer/incident-activities-viewer.component';\r\nimport { IncidentEscalationComponent } from './components/incidents/incident-escalation/incident-escalation.component';\r\nimport { IncidentShareComponent } from './components/incidents/incident-share/incident-share.component';\r\nimport { ArticleVersionIndicatorComponent } from './components/articles/article-version-indicator/article-version-indicator.component';\r\nimport { ApprovePublishConfirmationComponent } from './components/articles/toolbar/notices-and-confirmations/approve-publish-confirmation/approve-publish-confirmation.component';\r\nimport { RejectPublishConfirmationComponent } from './components/articles/toolbar/notices-and-confirmations/reject-publish-confirmation/reject-publish-confirmation.component';\r\nimport { ApproveReviewConfirmationComponent } from './components/articles/toolbar/notices-and-confirmations/approve-review-confirmation/approve-review-confirmation.component';\r\nimport { RejectReviewConfirmationComponent } from './components/articles/toolbar/notices-and-confirmations/reject-review-confirmation/reject-review-confirmation.component';\r\nimport { ReviewApprovalComponent } from './components/articles/toolbar/review-approval/review-approval.component';\r\nimport { PublishApprovalComponent } from './components/articles/toolbar/publish-approval/publish-approval.component';\r\nimport { ArticleVotingComponent } from './components/articles/toolbar/article-voting/article-voting.component';\r\nimport { ArticleHistoryComponent } from './components/articles/toolbar/article-history/article-history.component';\r\nimport { ArticlesCompareComponent } from './components/articles/articles-compare/articles-compare.component';\r\nimport { PartnerApprovalComponent } from './components/articles/toolbar/partner-approval/partner-approval.component';\r\nimport { ApprovePartnerConfirmationComponent } from './components/articles/toolbar/notices-and-confirmations/approve-partner-confirmation/approve-partner-confirmation.component';\r\nimport { RejectPartnerConfirmationComponent } from './components/articles/toolbar/notices-and-confirmations/reject-partner-confirmation/reject-partner-confirmation.component';\r\nimport { PsrViewerComponent } from './components/psrs/psr-viewer/psr-viewer.component';\r\nimport { PsrActivitiesViewerComponent } from './components/psrs/psr-activities-viewer/psr-activities-viewer.component';\r\nimport { WorkflowTransitionComponent } from './components/articles/toolbar/workflow-transition/workflow-transition.component';\r\nimport { ConfirmationWithCommentComponent } from './components/articles/toolbar/notices-and-confirmations/confirmation-with-comment/confirmation-with-comment.component';\r\nimport { AcceptWithCommentComponent } from './components/articles/toolbar/notices-and-confirmations/accept-with-comment/accept-with-comment.component';\r\nimport { RejectWithCommentComponent } from './components/articles/toolbar/notices-and-confirmations/reject-with-comment/reject-with-comment.component';\r\nimport { RejectPromotionComponent } from './components/articles/toolbar/reject-promotion/reject-promotion.component';\r\nimport { RejectPromotionConfirmationComponent } from './components/articles/toolbar/notices-and-confirmations/reject-promotion-confirmation/reject-promotion-confirmation.component';\r\nimport { IncidentInternalNoteComponent } from './components/incidents/incident-internal-note/incident-internal-note.component';\r\nimport {AutoCompleteModule} from 'primeng/autocomplete';\r\nimport { IncidentEscalationConfirmationComponent } from './components/incidents/incident-escalation-confirmation/incident-escalation-confirmation.component';\r\nimport { IncidentActivitiesRenderComponent } from './components/incidents/incident-activities-render/incident-activities-render.component';\r\nimport { IncidentActivitiesHeaderComponent } from './components/incidents/incident-activities-header/incident-activities-header.component';\r\n\r\n@NgModule({\r\n imports: [\r\n\t CommonModule,\r\n\t ReactiveFormsModule,\r\n\t FormsModule,\r\n\t MomentModule,\r\n\t FontAwesomeModule,\r\n\t AccordionModule,\r\n\t ButtonsModule,\r\n\t DiffMatchPatchModule,\r\n\t BsDropdownModule,\r\n\t AutoCompleteModule,\r\n\r\n\t // ** App\r\n\t SharedModule,\r\n\t ContentViewerRoutingModule\r\n ],\r\n declarations: [\r\n\t ArticlesViewerComponent,\r\n\t ArticlesViewerTechnicalNoteComponent,\r\n\t ArticlesViewerSolutionComponent,\r\n\t ArticlesViewerTroubleshootingComponent,\r\n\t ArticlesViewerTechnicalReferenceComponent,\r\n\t ArticlesViewerBestPracticesComponent,\r\n\t ArticlesViewerFrequentlyAskedQuestionComponent,\r\n\t ArticlesViewerModalPreviewComponent,\r\n\t IncidentViewerComponent,\r\n\t PsrViewerComponent,\r\n\t IncidentActivitiesViewerComponent,\r\n\t IncidentEscalationComponent,\r\n\t IncidentShareComponent,\r\n\t ArticleVersionIndicatorComponent,\r\n\t ApprovePublishConfirmationComponent,\r\n\t RejectPublishConfirmationComponent,\r\n\t ApproveReviewConfirmationComponent,\r\n\t RejectReviewConfirmationComponent,\r\n\t ReviewApprovalComponent,\r\n\t PublishApprovalComponent,\r\n\t ArticleVotingComponent,\r\n\t ArticleHistoryComponent,\r\n\t ArticlesCompareComponent,\r\n\t PartnerApprovalComponent,\r\n\t ApprovePartnerConfirmationComponent,\r\n\t RejectPartnerConfirmationComponent,\r\n\t PsrActivitiesViewerComponent,\r\n\t WorkflowTransitionComponent,\r\n\t ConfirmationWithCommentComponent,\r\n\t AcceptWithCommentComponent,\r\n\t RejectWithCommentComponent,\r\n\t RejectPromotionComponent,\r\n\t RejectPromotionConfirmationComponent,\r\n\t IncidentInternalNoteComponent,\r\n\t IncidentEscalationConfirmationComponent,\r\n\t IncidentActivitiesRenderComponent,\r\n\t IncidentActivitiesHeaderComponent\r\n ],\r\n // the pipe is needed to be delcared here so we can use it in a component\r\n providers: [\r\n\t ArticleFriendlyVersionPipe\r\n ],\r\n exports: [\r\n\t IncidentViewerComponent,\r\n\t PsrViewerComponent,\r\n\t ArticlesViewerComponent\r\n ],\r\n entryComponents: [\r\n\t ApprovePublishConfirmationComponent,\r\n\t RejectPublishConfirmationComponent,\r\n\t ApproveReviewConfirmationComponent,\r\n\t RejectReviewConfirmationComponent,\r\n\t ApprovePartnerConfirmationComponent,\r\n\t RejectPartnerConfirmationComponent,\r\n\t AcceptWithCommentComponent,\r\n\t RejectWithCommentComponent,\r\n\t ArticleHistoryComponent,\r\n\t ArticlesViewerModalPreviewComponent,\r\n\t IncidentEscalationComponent,\r\n\t RejectPromotionComponent,\r\n\t RejectPromotionConfirmationComponent,\r\n\t IncidentInternalNoteComponent,\r\n\t IncidentEscalationConfirmationComponent\r\n ]\r\n})\r\nexport class ContentViewerModule { }\r\n","module.exports = \"/* BASICS */\\n.CodeMirror {\\n /* Set height, width, borders, and global font properties here */\\n font-family: monospace;\\n height: 300px;\\n color: black;\\n direction: ltr; }\\n/* PADDING */\\n.CodeMirror-lines {\\n padding: 4px 0;\\n /* Vertical padding around content */ }\\n.CodeMirror pre {\\n padding: 0 4px;\\n /* Horizontal padding of content */ }\\n.CodeMirror-scrollbar-filler,\\n.CodeMirror-gutter-filler {\\n background-color: white;\\n /* The little square between H and V scrollbars */ }\\n/* GUTTER */\\n.CodeMirror-gutters {\\n border-right: 1px solid #ddd;\\n background-color: #f7f7f7;\\n white-space: nowrap; }\\n.CodeMirror-linenumber {\\n padding: 0 3px 0 5px;\\n min-width: 20px;\\n text-align: right;\\n color: #999;\\n white-space: nowrap; }\\n.CodeMirror-guttermarker {\\n color: black; }\\n.CodeMirror-guttermarker-subtle {\\n color: #999; }\\n/* CURSOR */\\n.CodeMirror-cursor {\\n border-left: 1px solid black;\\n border-right: none;\\n width: 0; }\\n/* Shown when moving in bi-directional text */\\n.CodeMirror div.CodeMirror-secondarycursor {\\n border-left: 1px solid silver; }\\n.cm-fat-cursor .CodeMirror-cursor {\\n width: auto;\\n border: 0 !important;\\n background: #7e7; }\\n.cm-fat-cursor div.CodeMirror-cursors {\\n z-index: 1; }\\n.cm-fat-cursor-mark {\\n background-color: rgba(20, 255, 20, 0.5);\\n -webkit-animation: blink 1.06s steps(1) infinite;\\n animation: blink 1.06s steps(1) infinite; }\\n.cm-animate-fat-cursor {\\n width: auto;\\n border: 0;\\n -webkit-animation: blink 1.06s steps(1) infinite;\\n animation: blink 1.06s steps(1) infinite;\\n background-color: #7e7; }\\n@-webkit-keyframes blink {\\n 0% { }\\n 50% {\\n background-color: transparent; }\\n 100% { } }\\n@keyframes blink {\\n 0% { }\\n 50% {\\n background-color: transparent; }\\n 100% { } }\\n/* Can style cursor different in overwrite (non-insert) mode */\\n.cm-tab {\\n display: inline-block;\\n text-decoration: inherit; }\\n.CodeMirror-rulers {\\n position: absolute;\\n left: 0;\\n right: 0;\\n top: -50px;\\n bottom: -20px;\\n overflow: hidden; }\\n.CodeMirror-ruler {\\n border-left: 1px solid #ccc;\\n top: 0;\\n bottom: 0;\\n position: absolute; }\\n/* DEFAULT THEME */\\n.cm-s-default .cm-header {\\n color: blue; }\\n.cm-s-default .cm-quote {\\n color: #090; }\\n.cm-negative {\\n color: #d44; }\\n.cm-positive {\\n color: #292; }\\n.cm-header,\\n.cm-strong {\\n font-weight: bold; }\\n.cm-em {\\n font-style: italic; }\\n.cm-link {\\n text-decoration: underline; }\\n.cm-strikethrough {\\n text-decoration: line-through; }\\n.cm-s-default .cm-keyword {\\n color: #708; }\\n.cm-s-default .cm-atom {\\n color: #219; }\\n.cm-s-default .cm-number {\\n color: #164; }\\n.cm-s-default .cm-def {\\n color: #00f; }\\n.cm-s-default .cm-variable-2 {\\n color: #05a; }\\n.cm-s-default .cm-variable-3,\\n.cm-s-default .cm-type {\\n color: #085; }\\n.cm-s-default .cm-comment {\\n color: #a50; }\\n.cm-s-default .cm-string {\\n color: #a11; }\\n.cm-s-default .cm-string-2 {\\n color: #f50; }\\n.cm-s-default .cm-meta {\\n color: #555; }\\n.cm-s-default .cm-qualifier {\\n color: #555; }\\n.cm-s-default .cm-builtin {\\n color: #30a; }\\n.cm-s-default .cm-bracket {\\n color: #997; }\\n.cm-s-default .cm-tag {\\n color: #170; }\\n.cm-s-default .cm-attribute {\\n color: #00c; }\\n.cm-s-default .cm-hr {\\n color: #999; }\\n.cm-s-default .cm-link {\\n color: #00c; }\\n.cm-s-default .cm-error {\\n color: #f00; }\\n.cm-invalidchar {\\n color: #f00; }\\n.CodeMirror-composing {\\n border-bottom: 2px solid; }\\n/* Default styles for common addons */\\ndiv.CodeMirror span.CodeMirror-matchingbracket {\\n color: #0b0; }\\ndiv.CodeMirror span.CodeMirror-nonmatchingbracket {\\n color: #a22; }\\n.CodeMirror-matchingtag {\\n background: rgba(255, 150, 0, 0.3); }\\n.CodeMirror-activeline-background {\\n background: #e8f2ff; }\\n/* STOP */\\n/* The rest of this file contains styles related to the mechanics of\\r\\n the editor. You probably shouldn't touch them. */\\n.CodeMirror {\\n position: relative;\\n overflow: hidden;\\n background: white; }\\n.CodeMirror-scroll {\\n overflow: scroll !important;\\n /* Things will break if this is overridden */\\n /* 30px is the magic margin used to hide the element's real scrollbars */\\n /* See overflow: hidden in .CodeMirror */\\n margin-bottom: -30px;\\n margin-right: -30px;\\n padding-bottom: 30px;\\n height: 100%;\\n outline: none;\\n /* Prevent dragging from highlighting the element */\\n position: relative; }\\n.CodeMirror-sizer {\\n position: relative;\\n border-right: 30px solid transparent; }\\n/* The fake, visible scrollbars. Used to force redraw during scrolling\\r\\n before actual scrolling happens, thus preventing shaking and\\r\\n flickering artifacts. */\\n.CodeMirror-vscrollbar,\\n.CodeMirror-hscrollbar,\\n.CodeMirror-scrollbar-filler,\\n.CodeMirror-gutter-filler {\\n position: absolute;\\n z-index: 6;\\n display: none; }\\n.CodeMirror-vscrollbar {\\n right: 0;\\n top: 0;\\n overflow-x: hidden;\\n overflow-y: scroll; }\\n.CodeMirror-hscrollbar {\\n bottom: 0;\\n left: 0;\\n overflow-y: hidden;\\n overflow-x: scroll; }\\n.CodeMirror-scrollbar-filler {\\n right: 0;\\n bottom: 0; }\\n.CodeMirror-gutter-filler {\\n left: 0;\\n bottom: 0; }\\n.CodeMirror-gutters {\\n position: absolute;\\n left: 0;\\n top: 0;\\n min-height: 100%;\\n z-index: 3; }\\n.CodeMirror-gutter {\\n white-space: normal;\\n height: 100%;\\n display: inline-block;\\n vertical-align: top;\\n margin-bottom: -30px; }\\n.CodeMirror-gutter-wrapper {\\n position: absolute;\\n z-index: 4;\\n background: none !important;\\n border: none !important; }\\n.CodeMirror-gutter-background {\\n position: absolute;\\n top: 0;\\n bottom: 0;\\n z-index: 4; }\\n.CodeMirror-gutter-elt {\\n position: absolute;\\n cursor: default;\\n z-index: 4; }\\n.CodeMirror-gutter-wrapper ::-moz-selection {\\n background-color: transparent; }\\n.CodeMirror-gutter-wrapper ::selection {\\n background-color: transparent; }\\n.CodeMirror-gutter-wrapper ::-moz-selection {\\n background-color: transparent; }\\n.CodeMirror-lines {\\n cursor: text;\\n min-height: 1px;\\n /* prevents collapsing before first draw */ }\\n.CodeMirror pre {\\n /* Reset some styles that the rest of the page might have set */\\n border-radius: 0;\\n border-width: 0;\\n background: transparent;\\n font-family: inherit;\\n font-size: inherit;\\n margin: 0;\\n white-space: pre;\\n word-wrap: normal;\\n line-height: inherit;\\n color: inherit;\\n z-index: 2;\\n position: relative;\\n overflow: visible;\\n -webkit-tap-highlight-color: transparent;\\n font-variant-ligatures: contextual; }\\n.CodeMirror-wrap pre {\\n word-wrap: break-word;\\n white-space: pre-wrap;\\n word-break: normal; }\\n.CodeMirror-linebackground {\\n position: absolute;\\n left: 0;\\n right: 0;\\n top: 0;\\n bottom: 0;\\n z-index: 0; }\\n.CodeMirror-linewidget {\\n position: relative;\\n z-index: 2;\\n padding: 0.1px;\\n /* Force widget margins to stay inside of the container */ }\\n.CodeMirror-rtl pre {\\n direction: rtl; }\\n.CodeMirror-code {\\n outline: none; }\\n/* Force content-box sizing for the elements where we expect it */\\n.CodeMirror-scroll,\\n.CodeMirror-sizer,\\n.CodeMirror-gutter,\\n.CodeMirror-gutters,\\n.CodeMirror-linenumber {\\n box-sizing: content-box; }\\n.CodeMirror-measure {\\n position: absolute;\\n width: 100%;\\n height: 0;\\n overflow: hidden;\\n visibility: hidden; }\\n.CodeMirror-cursor {\\n position: absolute;\\n pointer-events: none; }\\n.CodeMirror-measure pre {\\n position: static; }\\ndiv.CodeMirror-cursors {\\n visibility: hidden;\\n position: relative;\\n z-index: 3; }\\ndiv.CodeMirror-dragcursors {\\n visibility: visible; }\\n.CodeMirror-focused div.CodeMirror-cursors {\\n visibility: visible; }\\n.CodeMirror-selected {\\n background: #d9d9d9; }\\n.CodeMirror-focused .CodeMirror-selected {\\n background: #d7d4f0; }\\n.CodeMirror-crosshair {\\n cursor: crosshair; }\\n.CodeMirror-line::-moz-selection,\\n.CodeMirror-line > span::-moz-selection,\\n.CodeMirror-line > span > span::-moz-selection {\\n background: #d7d4f0; }\\n.CodeMirror-line::selection,\\n.CodeMirror-line > span::selection,\\n.CodeMirror-line > span > span::selection {\\n background: #d7d4f0; }\\n.CodeMirror-line::-moz-selection,\\n.CodeMirror-line > span::-moz-selection,\\n.CodeMirror-line > span > span::-moz-selection {\\n background: #d7d4f0; }\\n.cm-searching {\\n background-color: #ffa;\\n background-color: rgba(255, 255, 0, 0.4); }\\n/* Used to force a border model for a node */\\n.cm-force-border {\\n padding-right: .1px; }\\n@media print {\\n /* Hide the cursor when printing */\\n .CodeMirror div.CodeMirror-cursors {\\n visibility: hidden; } }\\n/* See issue #2901 */\\n.cm-tab-wrap-hack:after {\\n content: ''; }\\n/* Help users use markselection to safely style text background */\\nspan.CodeMirror-selectedtext {\\n background: none; }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9tYXJrZG93bi1lZGl0b3IvY29tcG9uZW50cy9tYXJrZG93bi1lZGl0b3IvQzpcXFVzZXJzXFxtam9zaGlcXHNvdXJjZVxccmVwb3NcXEFsZXhhbmRyaWFcXEFsZXhhbmRyaWFcXEFsZXhhbmRyaWEuV2Vic2l0ZVxcQ2xpZW50QXBwL3NyY1xcYXBwXFxtb2R1bGVzXFxtYXJrZG93bi1lZGl0b3JcXGNvbXBvbmVudHNcXG1hcmtkb3duLWVkaXRvclxcY29kZW1pcnJvci5zY3NzIiwic3JjL2FwcC9tb2R1bGVzL21hcmtkb3duLWVkaXRvci9jb21wb25lbnRzL21hcmtkb3duLWVkaXRvci9jb2RlbWlycm9yLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsV0FBQTtBQUVBO0VBQ0MsZ0VBQUE7RUFDQSxzQkFBc0I7RUFDdEIsYUFBYTtFQUNiLFlBQVk7RUFDWixjQUFjLEVBQUE7QUFJZixZQUFBO0FBRUE7RUFDQyxjQUFjO0VBQ2Qsb0NBQUEsRUFBcUM7QUFHdEM7RUFDQyxjQUFjO0VBQ2Qsa0NBQUEsRUFBbUM7QUFHcEM7O0VBRUMsdUJBQXVCO0VBQ3ZCLGlEQUFBLEVBQWtEO0FBSW5ELFdBQUE7QUFFQTtFQUNDLDRCQUE0QjtFQUM1Qix5QkFBeUI7RUFDekIsbUJBQW1CLEVBQUE7QUFNcEI7RUFDQyxvQkFBb0I7RUFDcEIsZUFBZTtFQUNmLGlCQUFpQjtFQUNqQixXQUFXO0VBQ1gsbUJBQW1CLEVBQUE7QUFHcEI7RUFDQyxZQUFZLEVBQUE7QUFHYjtFQUNDLFdBQVcsRUFBQTtBQUlaLFdBQUE7QUFFQTtFQUNDLDRCQUE0QjtFQUM1QixrQkFBa0I7RUFDbEIsUUFBUSxFQUFBO0FBSVQsNkNBQUE7QUFFQTtFQUNDLDZCQUE2QixFQUFBO0FBRzlCO0VBQ0MsV0FBVztFQUNYLG9CQUFvQjtFQUNwQixnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLFVBQVUsRUFBQTtBQUdYO0VBQ0Msd0NBQXdDO0VBQ3hDLGdEQUFnRDtFQUVo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QW1CLEVBQUE7QUFIcEI7OztFQUdDLG1CQUFtQixFQUFBO0FBR3BCOzs7RUFHQyxtQkFBbUIsRUFBQTtBQUdwQjtFQUNDLHNCQUFzQjtFQUN0Qix3Q0FBdUMsRUFBQTtBQUl4Qyw0Q0FBQTtBQUVBO0VBQ0MsbUJBQW1CLEVBQUE7QUFHcEI7RUFDQyxrQ0FBQTtFQUNBO0lBQ0Msa0JBQWtCLEVBQUEsRUFDbEI7QUFJRixvQkFBQTtBQUVBO0VBQ0MsV0FBVyxFQUFBO0FBSVosaUVBQUE7QUFFQTtFQUNDLGdCQUFnQixFQUFBIiwiZmlsZSI6InNyYy9hcHAvbW9kdWxlcy9tYXJrZG93bi1lZGl0b3IvY29tcG9uZW50cy9tYXJrZG93bi1lZGl0b3IvY29kZW1pcnJvci5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyogQkFTSUNTICovXHJcblxyXG4uQ29kZU1pcnJvciB7XHJcblx0LyogU2V0IGhlaWdodCwgd2lkdGgsIGJvcmRlcnMsIGFuZCBnbG9iYWwgZm9udCBwcm9wZXJ0aWVzIGhlcmUgKi9cclxuXHRmb250LWZhbWlseTogbW9ub3NwYWNlO1xyXG5cdGhlaWdodDogMzAwcHg7XHJcblx0Y29sb3I6IGJsYWNrO1xyXG5cdGRpcmVjdGlvbjogbHRyO1xyXG59XHJcblxyXG5cclxuLyogUEFERElORyAqL1xyXG5cclxuLkNvZGVNaXJyb3ItbGluZXMge1xyXG5cdHBhZGRpbmc6IDRweCAwO1xyXG5cdC8qIFZlcnRpY2FsIHBhZGRpbmcgYXJvdW5kIGNvbnRlbnQgKi9cclxufVxyXG5cclxuLkNvZGVNaXJyb3IgcHJlIHtcclxuXHRwYWRkaW5nOiAwIDRweDtcclxuXHQvKiBIb3Jpem9udGFsIHBhZGRpbmcgb2YgY29udGVudCAqL1xyXG59XHJcblxyXG4uQ29kZU1pcnJvci1zY3JvbGxiYXItZmlsbGVyLFxyXG4uQ29kZU1pcnJvci1ndXR0ZXItZmlsbGVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxuXHQvKiBUaGUgbGl0dGxlIHNxdWFyZSBiZXR3ZWVuIEggYW5kIFYgc2Nyb2xsYmFycyAqL1xyXG59XHJcblxyXG5cclxuLyogR1VUVEVSICovXHJcblxyXG4uQ29kZU1pcnJvci1ndXR0ZXJzIHtcclxuXHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZGRkO1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICNmN2Y3Zjc7XHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxufVxyXG5cclxuLkNvZGVNaXJyb3ItbGluZW51bWJlcnMge1xyXG59XHJcblxyXG4uQ29kZU1pcnJvci1saW5lbnVtYmVyIHtcclxuXHRwYWRkaW5nOiAwIDNweCAwIDVweDtcclxuXHRtaW4td2lkdGg6IDIwcHg7XHJcblx0dGV4dC1hbGlnbjogcmlnaHQ7XHJcblx0Y29sb3I6ICM5OTk7XHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxufVxyXG5cclxuLkNvZGVNaXJyb3ItZ3V0dGVybWFya2VyIHtcclxuXHRjb2xvcjogYmxhY2s7XHJcbn1cclxuXHJcbi5Db2RlTWlycm9yLWd1dHRlcm1hcmtlci1zdWJ0bGUge1xyXG5cdGNvbG9yOiAjOTk5O1xyXG59XHJcblxyXG5cclxuLyogQ1VSU09SICovXHJcblxyXG4uQ29kZU1pcnJvci1jdXJzb3Ige1xyXG5cdGJvcmRlci1sZWZ0OiAxcHggc29saWQgYmxhY2s7XHJcblx0Ym9yZGVyLXJpZ2h0OiBub25lO1xyXG5cdHdpZHRoOiAwO1xyXG59XHJcblxyXG5cclxuLyogU2hvd24gd2hlbiBtb3ZpbmcgaW4gYmktZGlyZWN0aW9uYWwgdGV4dCAqL1xyXG5cclxuLkNvZGVNaXJyb3IgZGl2LkNvZGVNaXJyb3Itc2Vjb25kYXJ5Y3Vyc29yIHtcclxuXHRib3JkZXItbGVmdDogMXB4IHNvbGlkIHNpbHZlcjtcclxufVxyXG5cclxuLmNtLWZhdC1jdXJzb3IgLkNvZGVNaXJyb3ItY3Vyc29yIHtcclxuXHR3aWR0aDogYXV0bztcclxuXHRib3JkZXI6IDAgIWltcG9ydGFudDtcclxuXHRiYWNrZ3JvdW5kOiAjN2U3O1xyXG59XHJcblxyXG4uY20tZmF0LWN1cnNvciBkaXYuQ29kZU1pcnJvci1jdXJzb3JzIHtcclxuXHR6LWluZGV4OiAxO1xyXG59XHJcblxyXG4uY20tZmF0LWN1cnNvci1tYXJrIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwLCAyNTUsIDIwLCAwLjUpO1xyXG5cdC13ZWJraXQtYW5pbWF0aW9uOiBibGluayAxLjA2cyBzdGVwcygxKSBpbmZpbml0ZTtcclxuXHQtbW96LWFuaW1hdGlvbjogYmxpbmsgMS4wNnMgc3RlcHMoMSkgaW5maW5pdGU7XHJcblx0YW5pbWF0aW9uOiBibGluayAxLjA2cyBzdGVwcygxKSBpbmZpbml0ZTtcclxufVxyXG5cclxuLmNtLWFuaW1hdGUtZmF0LWN1cnNvciB7XHJcblx0d2lkdGg6IGF1dG87XHJcblx0Ym9yZGVyOiAwO1xyXG5cdC13ZWJraXQtYW5pbWF0aW9uOiBibGluayAxLjA2cyBzdGVwcygxKSBpbmZpbml0ZTtcclxuXHQtbW96LWFuaW1hdGlvbjogYmxpbmsgMS4wNnMgc3RlcHMoMSkgaW5maW5pdGU7XHJcblx0YW5pbWF0aW9uOiBibGluayAxLjA2cyBzdGVwcygxKSBpbmZpbml0ZTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjN2U3O1xyXG59XHJcblxyXG5ALW1vei1rZXlmcmFtZXMgYmxpbmsge1xyXG5cdDAlIHtcclxuXHR9XHJcblxyXG5cdDUwJSB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHR9XHJcblxyXG5cdDEwMCUge1xyXG5cdH1cclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIGJsaW5rIHtcclxuXHQwJSB7XHJcblx0fVxyXG5cclxuXHQ1MCUge1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblx0fVxyXG5cclxuXHQxMDAlIHtcclxuXHR9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgYmxpbmsge1xyXG5cdDAlIHtcclxuXHR9XHJcblxyXG5cdDUwJSB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHR9XHJcblxyXG5cdDEwMCUge1xyXG5cdH1cclxufVxyXG5cclxuXHJcbi8qIENhbiBzdHlsZSBjdXJzb3IgZGlmZmVyZW50IGluIG92ZXJ3cml0ZSAobm9uLWluc2VydCkgbW9kZSAqL1xyXG5cclxuLkNvZGVNaXJyb3Itb3ZlcndyaXRlIC5Db2RlTWlycm9yLWN1cnNvciB7XHJcbn1cclxuXHJcbi5jbS10YWIge1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHR0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XHJcbn1cclxuXHJcbi5Db2RlTWlycm9yLXJ1bGVycyB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdGxlZnQ6IDA7XHJcblx0cmlnaHQ6IDA7XHJcblx0dG9wOiAtNTBweDtcclxuXHRib3R0b206IC0yMHB4O1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi5Db2RlTWlycm9yLXJ1bGVyIHtcclxuXHRib3JkZXItbGVmdDogMXB4IHNvbGlkICNjY2M7XHJcblx0dG9wOiAwO1xyXG5cdGJvdHRvbTogMDtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcbn1cclxuXHJcblxyXG4vKiBERUZBVUxUIFRIRU1FICovXHJcblxyXG4uY20tcy1kZWZhdWx0IC5jbS1oZWFkZXIge1xyXG5cdGNvbG9yOiBibHVlO1xyXG59XHJcblxyXG4uY20tcy1kZWZhdWx0IC5jbS1xdW90ZSB7XHJcblx0Y29sb3I6ICMwOTA7XHJcbn1cclxuXHJcbi5jbS1uZWdhdGl2ZSB7XHJcblx0Y29sb3I6ICNkNDQ7XHJcbn1cclxuXHJcbi5jbS1wb3NpdGl2ZSB7XHJcblx0Y29sb3I6ICMyOTI7XHJcbn1cclxuXHJcbi5jbS1oZWFkZXIsXHJcbi5jbS1zdHJvbmcge1xyXG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcblxyXG4uY20tZW0ge1xyXG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcclxufVxyXG5cclxuLmNtLWxpbmsge1xyXG5cdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG59XHJcblxyXG4uY20tc3RyaWtldGhyb3VnaCB7XHJcblx0dGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XHJcbn1cclxuXHJcbi5jbS1zLWRlZmF1bHQgLmNtLWtleXdvcmQge1xyXG5cdGNvbG9yOiAjNzA4O1xyXG59XHJcblxyXG4uY20tcy1kZWZhdWx0IC5jbS1hdG9tIHtcclxuXHRjb2xvcjogIzIxOTtcclxufVxyXG5cclxuLmNtLXMtZGVmYXVsdCAuY20tbnVtYmVyIHtcclxuXHRjb2xvcjogIzE2NDtcclxufVxyXG5cclxuLmNtLXMtZGVmYXVsdCAuY20tZGVmIHtcclxuXHRjb2xvcjogIzAwZjtcclxufVxyXG5cclxuLmNtLXMtZGVmYXVsdCAuY20tdmFyaWFibGUsXHJcbi5jbS1zLWRlZmF1bHQgLmNtLXB1bmN0dWF0aW9uLFxyXG4uY20tcy1kZWZhdWx0IC5jbS1wcm9wZXJ0eSxcclxuLmNtLXMtZGVmYXVsdCAuY20tb3BlcmF0b3Ige1xyXG59XHJcblxyXG4uY20tcy1kZWZhdWx0IC5jbS12YXJpYWJsZS0yIHtcclxuXHRjb2xvcjogIzA1YTtcclxufVxyXG5cclxuLmNtLXMtZGVmYXVsdCAuY20tdmFyaWFibGUtMyxcclxuLmNtLXMtZGVmYXVsdCAuY20tdHlwZSB7XHJcblx0Y29sb3I6ICMwODU7XHJcbn1cclxuXHJcbi5jbS1zLWRlZmF1bHQgLmNtLWNvbW1lbnQge1xyXG5cdGNvbG9yOiAjYTUwO1xyXG59XHJcblxyXG4uY20tcy1kZWZhdWx0IC5jbS1zdHJpbmcge1xyXG5cdGNvbG9yOiAjYTExO1xyXG59XHJcblxyXG4uY20tcy1kZWZhdWx0IC5jbS1zdHJpbmctMiB7XHJcblx0Y29sb3I6ICNmNTA7XHJcbn1cclxuXHJcbi5jbS1zLWRlZmF1bHQgLmNtLW1ldGEge1xyXG5cdGNvbG9yOiAjNTU1O1xyXG59XHJcblxyXG4uY20tcy1kZWZhdWx0IC5jbS1xdWFsaWZpZXIge1xyXG5cdGNvbG9yOiAjNTU1O1xyXG59XHJcblxyXG4uY20tcy1kZWZhdWx0IC5jbS1idWlsdGluIHtcclxuXHRjb2xvcjogIzMwYTtcclxufVxyXG5cclxuLmNtLXMtZGVmYXVsdCAuY20tYnJhY2tldCB7XHJcblx0Y29sb3I6ICM5OTc7XHJcbn1cclxuXHJcbi5jbS1zLWRlZmF1bHQgLmNtLXRhZyB7XHJcblx0Y29sb3I6ICMxNzA7XHJcbn1cclxuXHJcbi5jbS1zLWRlZmF1bHQgLmNtLWF0dHJpYnV0ZSB7XHJcblx0Y29sb3I6ICMwMGM7XHJcbn1cclxuXHJcbi5jbS1zLWRlZmF1bHQgLmNtLWhyIHtcclxuXHRjb2xvcjogIzk5OTtcclxufVxyXG5cclxuLmNtLXMtZGVmYXVsdCAuY20tbGluayB7XHJcblx0Y29sb3I6ICMwMGM7XHJcbn1cclxuXHJcbi5jbS1zLWRlZmF1bHQgLmNtLWVycm9yIHtcclxuXHRjb2xvcjogI2YwMDtcclxufVxyXG5cclxuLmNtLWludmFsaWRjaGFyIHtcclxuXHRjb2xvcjogI2YwMDtcclxufVxyXG5cclxuLkNvZGVNaXJyb3ItY29tcG9zaW5nIHtcclxuXHRib3JkZXItYm90dG9tOiAycHggc29saWQ7XHJcbn1cclxuXHJcblxyXG4vKiBEZWZhdWx0IHN0eWxlcyBmb3IgY29tbW9uIGFkZG9ucyAqL1xyXG5cclxuZGl2LkNvZGVNaXJyb3Igc3Bhbi5Db2RlTWlycm9yLW1hdGNoaW5nYnJhY2tldCB7XHJcblx0Y29sb3I6ICMwYjA7XHJcbn1cclxuXHJcbmRpdi5Db2RlTWlycm9yIHNwYW4uQ29kZU1pcnJvci1ub25tYXRjaGluZ2JyYWNrZXQge1xyXG5cdGNvbG9yOiAjYTIyO1xyXG59XHJcblxyXG4uQ29kZU1pcnJvci1tYXRjaGluZ3RhZyB7XHJcblx0YmFja2dyb3VuZDogcmdiYSgyNTUsIDE1MCwgMCwgLjMpO1xyXG59XHJcblxyXG4uQ29kZU1pcnJvci1hY3RpdmVsaW5lLWJhY2tncm91bmQge1xyXG5cdGJhY2tncm91bmQ6ICNlOGYyZmY7XHJcbn1cclxuXHJcblxyXG4vKiBTVE9QICovXHJcblxyXG5cclxuLyogVGhlIHJlc3Qgb2YgdGhpcyBmaWxlIGNvbnRhaW5zIHN0eWxlcyByZWxhdGVkIHRvIHRoZSBtZWNoYW5pY3Mgb2ZcclxuICAgdGhlIGVkaXRvci4gWW91IHByb2JhYmx5IHNob3VsZG4ndCB0b3VjaCB0aGVtLiAqL1xyXG5cclxuLkNvZGVNaXJyb3Ige1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdGJhY2tncm91bmQ6IHdoaXRlO1xyXG59XHJcblxyXG4uQ29kZU1pcnJvci1zY3JvbGwge1xyXG5cdG92ZXJmbG93OiBzY3JvbGwgIWltcG9ydGFudDtcclxuXHQvKiBUaGluZ3Mgd2lsbCBicmVhayBpZiB0aGlzIGlzIG92ZXJyaWRkZW4gKi9cclxuXHQvKiAzMHB4IGlzIHRoZSBtYWdpYyBtYXJnaW4gdXNlZCB0byBoaWRlIHRoZSBlbGVtZW50J3MgcmVhbCBzY3JvbGxiYXJzICovXHJcblx0LyogU2VlIG92ZXJmbG93OiBoaWRkZW4gaW4gLkNvZGVNaXJyb3IgKi9cclxuXHRtYXJnaW4tYm90dG9tOiAtMzBweDtcclxuXHRtYXJnaW4tcmlnaHQ6IC0zMHB4O1xyXG5cdHBhZGRpbmctYm90dG9tOiAzMHB4O1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHRvdXRsaW5lOiBub25lO1xyXG5cdC8qIFByZXZlbnQgZHJhZ2dpbmcgZnJvbSBoaWdobGlnaHRpbmcgdGhlIGVsZW1lbnQgKi9cclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi5Db2RlTWlycm9yLXNpemVyIHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0Ym9yZGVyLXJpZ2h0OiAzMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG59XHJcblxyXG5cclxuLyogVGhlIGZha2UsIHZpc2libGUgc2Nyb2xsYmFycy4gVXNlZCB0byBmb3JjZSByZWRyYXcgZHVyaW5nIHNjcm9sbGluZ1xyXG4gICBiZWZvcmUgYWN0dWFsIHNjcm9sbGluZyBoYXBwZW5zLCB0aHVzIHByZXZlbnRpbmcgc2hha2luZyBhbmRcclxuICAgZmxpY2tlcmluZyBhcnRpZmFjdHMuICovXHJcblxyXG4uQ29kZU1pcnJvci12c2Nyb2xsYmFyLFxyXG4uQ29kZU1pcnJvci1oc2Nyb2xsYmFyLFxyXG4uQ29kZU1pcnJvci1zY3JvbGxiYXItZmlsbGVyLFxyXG4uQ29kZU1pcnJvci1ndXR0ZXItZmlsbGVyIHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0ei1pbmRleDogNjtcclxuXHRkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4uQ29kZU1pcnJvci12c2Nyb2xsYmFyIHtcclxuXHRyaWdodDogMDtcclxuXHR0b3A6IDA7XHJcblx0b3ZlcmZsb3cteDogaGlkZGVuO1xyXG5cdG92ZXJmbG93LXk6IHNjcm9sbDtcclxufVxyXG5cclxuLkNvZGVNaXJyb3ItaHNjcm9sbGJhciB7XHJcblx0Ym90dG9tOiAwO1xyXG5cdGxlZnQ6IDA7XHJcblx0b3ZlcmZsb3cteTogaGlkZGVuO1xyXG5cdG92ZXJmbG93LXg6IHNjcm9sbDtcclxufVxyXG5cclxuLkNvZGVNaXJyb3Itc2Nyb2xsYmFyLWZpbGxlciB7XHJcblx0cmlnaHQ6IDA7XHJcblx0Ym90dG9tOiAwO1xyXG59XHJcblxyXG4uQ29kZU1pcnJvci1ndXR0ZXItZmlsbGVyIHtcclxuXHRsZWZ0OiAwO1xyXG5cdGJvdHRvbTogMDtcclxufVxyXG5cclxuLkNvZGVNaXJyb3ItZ3V0dGVycyB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdGxlZnQ6IDA7XHJcblx0dG9wOiAwO1xyXG5cdG1pbi1oZWlnaHQ6IDEwMCU7XHJcblx0ei1pbmRleDogMztcclxufVxyXG5cclxuLkNvZGVNaXJyb3ItZ3V0dGVyIHtcclxuXHR3aGl0ZS1zcGFjZTogbm9ybWFsO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0dmVydGljYWwtYWxpZ246IHRvcDtcclxuXHRtYXJnaW4tYm90dG9tOiAtMzBweDtcclxufVxyXG5cclxuLkNvZGVNaXJyb3ItZ3V0dGVyLXdyYXBwZXIge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR6LWluZGV4OiA0O1xyXG5cdGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcclxuXHRib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLkNvZGVNaXJyb3ItZ3V0dGVyLWJhY2tncm91bmQge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IDA7XHJcblx0Ym90dG9tOiAwO1xyXG5cdHotaW5kZXg6IDQ7XHJcbn1cclxuXHJcbi5Db2RlTWlycm9yLWd1dHRlci1lbHQge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRjdXJzb3I6IGRlZmF1bHQ7XHJcblx0ei1pbmRleDogNDtcclxufVxyXG5cclxuLkNvZGVNaXJyb3ItZ3V0dGVyLXdyYXBwZXIgOjpzZWxlY3Rpb24ge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50XHJcbn1cclxuXHJcbi5Db2RlTWlycm9yLWd1dHRlci13cmFwcGVyIDo6LW1vei1zZWxlY3Rpb24ge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50XHJcbn1cclxuXHJcbi5Db2RlTWlycm9yLWxpbmVzIHtcclxuXHRjdXJzb3I6IHRleHQ7XHJcblx0bWluLWhlaWdodDogMXB4O1xyXG5cdC8qIHByZXZlbnRzIGNvbGxhcHNpbmcgYmVmb3JlIGZpcnN0IGRyYXcgKi9cclxufVxyXG5cclxuLkNvZGVNaXJyb3IgcHJlIHtcclxuXHQvKiBSZXNldCBzb21lIHN0eWxlcyB0aGF0IHRoZSByZXN0IG9mIHRoZSBwYWdlIG1pZ2h0IGhhdmUgc2V0ICovXHJcblx0LW1vei1ib3JkZXItcmFkaXVzOiAwO1xyXG5cdC13ZWJraXQtYm9yZGVyLXJhZGl1czogMDtcclxuXHRib3JkZXItcmFkaXVzOiAwO1xyXG5cdGJvcmRlci13aWR0aDogMDtcclxuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuXHRmb250LWZhbWlseTogaW5oZXJpdDtcclxuXHRmb250LXNpemU6IGluaGVyaXQ7XHJcblx0bWFyZ2luOiAwO1xyXG5cdHdoaXRlLXNwYWNlOiBwcmU7XHJcblx0d29yZC13cmFwOiBub3JtYWw7XHJcblx0bGluZS1oZWlnaHQ6IGluaGVyaXQ7XHJcblx0Y29sb3I6IGluaGVyaXQ7XHJcblx0ei1pbmRleDogMjtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0b3ZlcmZsb3c6IHZpc2libGU7XHJcblx0LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHQtd2Via2l0LWZvbnQtdmFyaWFudC1saWdhdHVyZXM6IGNvbnRleHR1YWw7XHJcblx0Zm9udC12YXJpYW50LWxpZ2F0dXJlczogY29udGV4dHVhbDtcclxufVxyXG5cclxuLkNvZGVNaXJyb3Itd3JhcCBwcmUge1xyXG5cdHdvcmQtd3JhcDogYnJlYWstd29yZDtcclxuXHR3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XHJcblx0d29yZC1icmVhazogbm9ybWFsO1xyXG59XHJcblxyXG4uQ29kZU1pcnJvci1saW5lYmFja2dyb3VuZCB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdGxlZnQ6IDA7XHJcblx0cmlnaHQ6IDA7XHJcblx0dG9wOiAwO1xyXG5cdGJvdHRvbTogMDtcclxuXHR6LWluZGV4OiAwO1xyXG59XHJcblxyXG4uQ29kZU1pcnJvci1saW5ld2lkZ2V0IHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0ei1pbmRleDogMjtcclxuXHRwYWRkaW5nOiAwLjFweDtcclxuXHQvKiBGb3JjZSB3aWRnZXQgbWFyZ2lucyB0byBzdGF5IGluc2lkZSBvZiB0aGUgY29udGFpbmVyICovXHJcbn1cclxuXHJcbi5Db2RlTWlycm9yLXdpZGdldCB7XHJcbn1cclxuXHJcbi5Db2RlTWlycm9yLXJ0bCBwcmUge1xyXG5cdGRpcmVjdGlvbjogcnRsO1xyXG59XHJcblxyXG4uQ29kZU1pcnJvci1jb2RlIHtcclxuXHRvdXRsaW5lOiBub25lO1xyXG59XHJcblxyXG5cclxuLyogRm9yY2UgY29udGVudC1ib3ggc2l6aW5nIGZvciB0aGUgZWxlbWVudHMgd2hlcmUgd2UgZXhwZWN0IGl0ICovXHJcblxyXG4uQ29kZU1pcnJvci1zY3JvbGwsXHJcbi5Db2RlTWlycm9yLXNpemVyLFxyXG4uQ29kZU1pcnJvci1ndXR0ZXIsXHJcbi5Db2RlTWlycm9yLWd1dHRlcnMsXHJcbi5Db2RlTWlycm9yLWxpbmVudW1iZXIge1xyXG5cdC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XHJcblx0Ym94LXNpemluZzogY29udGVudC1ib3g7XHJcbn1cclxuXHJcbi5Db2RlTWlycm9yLW1lYXN1cmUge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRoZWlnaHQ6IDA7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHR2aXNpYmlsaXR5OiBoaWRkZW47XHJcbn1cclxuXHJcbi5Db2RlTWlycm9yLWN1cnNvciB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG59XHJcblxyXG4uQ29kZU1pcnJvci1tZWFzdXJlIHByZSB7XHJcblx0cG9zaXRpb246IHN0YXRpYztcclxufVxyXG5cclxuZGl2LkNvZGVNaXJyb3ItY3Vyc29ycyB7XHJcblx0dmlzaWJpbGl0eTogaGlkZGVuO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHR6LWluZGV4OiAzO1xyXG59XHJcblxyXG5kaXYuQ29kZU1pcnJvci1kcmFnY3Vyc29ycyB7XHJcblx0dmlzaWJpbGl0eTogdmlzaWJsZTtcclxufVxyXG5cclxuLkNvZGVNaXJyb3ItZm9jdXNlZCBkaXYuQ29kZU1pcnJvci1jdXJzb3JzIHtcclxuXHR2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG59XHJcblxyXG4uQ29kZU1pcnJvci1zZWxlY3RlZCB7XHJcblx0YmFja2dyb3VuZDogI2Q5ZDlkOTtcclxufVxyXG5cclxuLkNvZGVNaXJyb3ItZm9jdXNlZCAuQ29kZU1pcnJvci1zZWxlY3RlZCB7XHJcblx0YmFja2dyb3VuZDogI2Q3ZDRmMDtcclxufVxyXG5cclxuLkNvZGVNaXJyb3ItY3Jvc3NoYWlyIHtcclxuXHRjdXJzb3I6IGNyb3NzaGFpcjtcclxufVxyXG5cclxuLkNvZGVNaXJyb3ItbGluZTo6c2VsZWN0aW9uLFxyXG4uQ29kZU1pcnJvci1saW5lID4gc3Bhbjo6c2VsZWN0aW9uLFxyXG4uQ29kZU1pcnJvci1saW5lID4gc3BhbiA+IHNwYW46OnNlbGVjdGlvbiB7XHJcblx0YmFja2dyb3VuZDogI2Q3ZDRmMDtcclxufVxyXG5cclxuLkNvZGVNaXJyb3ItbGluZTo6LW1vei1zZWxlY3Rpb24sXHJcbi5Db2RlTWlycm9yLWxpbmUgPiBzcGFuOjotbW96LXNlbGVjdGlvbixcclxuLkNvZGVNaXJyb3ItbGluZSA+IHNwYW4gPiBzcGFuOjotbW96LXNlbGVjdGlvbiB7XHJcblx0YmFja2dyb3VuZDogI2Q3ZDRmMDtcclxufVxyXG5cclxuLmNtLXNlYXJjaGluZyB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogI2ZmYTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAwLCAuNCk7XHJcbn1cclxuXHJcblxyXG4vKiBVc2VkIHRvIGZvcmNlIGEgYm9yZGVyIG1vZGVsIGZvciBhIG5vZGUgKi9cclxuXHJcbi5jbS1mb3JjZS1ib3JkZXIge1xyXG5cdHBhZGRpbmctcmlnaHQ6IC4xcHg7XHJcbn1cclxuXHJcbkBtZWRpYSBwcmludCB7XHJcblx0LyogSGlkZSB0aGUgY3Vyc29yIHdoZW4gcHJpbnRpbmcgKi9cclxuXHQuQ29kZU1pcnJvciBkaXYuQ29kZU1pcnJvci1jdXJzb3JzIHtcclxuXHRcdHZpc2liaWxpdHk6IGhpZGRlbjtcclxuXHR9XHJcbn1cclxuXHJcblxyXG4vKiBTZWUgaXNzdWUgIzI5MDEgKi9cclxuXHJcbi5jbS10YWItd3JhcC1oYWNrOmFmdGVyIHtcclxuXHRjb250ZW50OiAnJztcclxufVxyXG5cclxuXHJcbi8qIEhlbHAgdXNlcnMgdXNlIG1hcmtzZWxlY3Rpb24gdG8gc2FmZWx5IHN0eWxlIHRleHQgYmFja2dyb3VuZCAqL1xyXG5cclxuc3Bhbi5Db2RlTWlycm9yLXNlbGVjdGVkdGV4dCB7XHJcblx0YmFja2dyb3VuZDogbm9uZTtcclxufVxyXG4iLCIvKiBCQVNJQ1MgKi9cbi5Db2RlTWlycm9yIHtcbiAgLyogU2V0IGhlaWdodCwgd2lkdGgsIGJvcmRlcnMsIGFuZCBnbG9iYWwgZm9udCBwcm9wZXJ0aWVzIGhlcmUgKi9cbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTtcbiAgaGVpZ2h0OiAzMDBweDtcbiAgY29sb3I6IGJsYWNrO1xuICBkaXJlY3Rpb246IGx0cjsgfVxuXG4vKiBQQURESU5HICovXG4uQ29kZU1pcnJvci1saW5lcyB7XG4gIHBhZGRpbmc6IDRweCAwO1xuICAvKiBWZXJ0aWNhbCBwYWRkaW5nIGFyb3VuZCBjb250ZW50ICovIH1cblxuLkNvZGVNaXJyb3IgcHJlIHtcbiAgcGFkZGluZzogMCA0cHg7XG4gIC8qIEhvcml6b250YWwgcGFkZGluZyBvZiBjb250ZW50ICovIH1cblxuLkNvZGVNaXJyb3Itc2Nyb2xsYmFyLWZpbGxlcixcbi5Db2RlTWlycm9yLWd1dHRlci1maWxsZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgLyogVGhlIGxpdHRsZSBzcXVhcmUgYmV0d2VlbiBIIGFuZCBWIHNjcm9sbGJhcnMgKi8gfVxuXG4vKiBHVVRURVIgKi9cbi5Db2RlTWlycm9yLWd1dHRlcnMge1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZGRkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdmN2Y3O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5Db2RlTWlycm9yLWxpbmVudW1iZXIge1xuICBwYWRkaW5nOiAwIDNweCAwIDVweDtcbiAgbWluLXdpZHRoOiAyMHB4O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgY29sb3I6ICM5OTk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLkNvZGVNaXJyb3ItZ3V0dGVybWFya2VyIHtcbiAgY29sb3I6IGJsYWNrOyB9XG5cbi5Db2RlTWlycm9yLWd1dHRlcm1hcmtlci1zdWJ0bGUge1xuICBjb2xvcjogIzk5OTsgfVxuXG4vKiBDVVJTT1IgKi9cbi5Db2RlTWlycm9yLWN1cnNvciB7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgYmxhY2s7XG4gIGJvcmRlci1yaWdodDogbm9uZTtcbiAgd2lkdGg6IDA7IH1cblxuLyogU2hvd24gd2hlbiBtb3ZpbmcgaW4gYmktZGlyZWN0aW9uYWwgdGV4dCAqL1xuLkNvZGVNaXJyb3IgZGl2LkNvZGVNaXJyb3Itc2Vjb25kYXJ5Y3Vyc29yIHtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCBzaWx2ZXI7IH1cblxuLmNtLWZhdC1jdXJzb3IgLkNvZGVNaXJyb3ItY3Vyc29yIHtcbiAgd2lkdGg6IGF1dG87XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kOiAjN2U3OyB9XG5cbi5jbS1mYXQtY3Vyc29yIGRpdi5Db2RlTWlycm9yLWN1cnNvcnMge1xuICB6LWluZGV4OiAxOyB9XG5cbi5jbS1mYXQtY3Vyc29yLW1hcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwLCAyNTUsIDIwLCAwLjUpO1xuICAtd2Via2l0LWFuaW1hdGlvbjogYmxpbmsgMS4wNnMgc3RlcHMoMSkgaW5maW5pdGU7XG4gIC1tb3otYW5pbWF0aW9uOiBibGluayAxLjA2cyBzdGVwcygxKSBpbmZpbml0ZTtcbiAgYW5pbWF0aW9uOiBibGluayAxLjA2cyBzdGVwcygxKSBpbmZpbml0ZTsgfVxuXG4uY20tYW5pbWF0ZS1mYXQtY3Vyc29yIHtcbiAgd2lkdGg6IGF1dG87XG4gIGJvcmRlcjogMDtcbiAgLXdlYmtpdC1hbmltYXRpb246IGJsaW5rIDEuMDZzIHN0ZXBzKDEpIGluZmluaXRlO1xuICAtbW96LWFuaW1hdGlvbjogYmxpbmsgMS4wNnMgc3RlcHMoMSkgaW5maW5pdGU7XG4gIGFuaW1hdGlvbjogYmxpbmsgMS4wNnMgc3RlcHMoMSkgaW5maW5pdGU7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3ZTc7IH1cblxuQC1tb3ota2V5ZnJhbWVzIGJsaW5rIHtcbiAgMCUgeyB9XG4gIDUwJSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgMTAwJSB7IH0gfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYmxpbmsge1xuICAwJSB7IH1cbiAgNTAlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAxMDAlIHsgfSB9XG5cbkBrZXlmcmFtZXMgYmxpbmsge1xuICAwJSB7IH1cbiAgNTAlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAxMDAlIHsgfSB9XG5cbi8qIENhbiBzdHlsZSBjdXJzb3IgZGlmZmVyZW50IGluIG92ZXJ3cml0ZSAobm9uLWluc2VydCkgbW9kZSAqL1xuLmNtLXRhYiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0OyB9XG5cbi5Db2RlTWlycm9yLXJ1bGVycyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogLTUwcHg7XG4gIGJvdHRvbTogLTIwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLkNvZGVNaXJyb3ItcnVsZXIge1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNjY2M7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cblxuLyogREVGQVVMVCBUSEVNRSAqL1xuLmNtLXMtZGVmYXVsdCAuY20taGVhZGVyIHtcbiAgY29sb3I6IGJsdWU7IH1cblxuLmNtLXMtZGVmYXVsdCAuY20tcXVvdGUge1xuICBjb2xvcjogIzA5MDsgfVxuXG4uY20tbmVnYXRpdmUge1xuICBjb2xvcjogI2Q0NDsgfVxuXG4uY20tcG9zaXRpdmUge1xuICBjb2xvcjogIzI5MjsgfVxuXG4uY20taGVhZGVyLFxuLmNtLXN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5jbS1lbSB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4uY20tbGluayB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi5jbS1zdHJpa2V0aHJvdWdoIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7IH1cblxuLmNtLXMtZGVmYXVsdCAuY20ta2V5d29yZCB7XG4gIGNvbG9yOiAjNzA4OyB9XG5cbi5jbS1zLWRlZmF1bHQgLmNtLWF0b20ge1xuICBjb2xvcjogIzIxOTsgfVxuXG4uY20tcy1kZWZhdWx0IC5jbS1udW1iZXIge1xuICBjb2xvcjogIzE2NDsgfVxuXG4uY20tcy1kZWZhdWx0IC5jbS1kZWYge1xuICBjb2xvcjogIzAwZjsgfVxuXG4uY20tcy1kZWZhdWx0IC5jbS12YXJpYWJsZS0yIHtcbiAgY29sb3I6ICMwNWE7IH1cblxuLmNtLXMtZGVmYXVsdCAuY20tdmFyaWFibGUtMyxcbi5jbS1zLWRlZmF1bHQgLmNtLXR5cGUge1xuICBjb2xvcjogIzA4NTsgfVxuXG4uY20tcy1kZWZhdWx0IC5jbS1jb21tZW50IHtcbiAgY29sb3I6ICNhNTA7IH1cblxuLmNtLXMtZGVmYXVsdCAuY20tc3RyaW5nIHtcbiAgY29sb3I6ICNhMTE7IH1cblxuLmNtLXMtZGVmYXVsdCAuY20tc3RyaW5nLTIge1xuICBjb2xvcjogI2Y1MDsgfVxuXG4uY20tcy1kZWZhdWx0IC5jbS1tZXRhIHtcbiAgY29sb3I6ICM1NTU7IH1cblxuLmNtLXMtZGVmYXVsdCAuY20tcXVhbGlmaWVyIHtcbiAgY29sb3I6ICM1NTU7IH1cblxuLmNtLXMtZGVmYXVsdCAuY20tYnVpbHRpbiB7XG4gIGNvbG9yOiAjMzBhOyB9XG5cbi5jbS1zLWRlZmF1bHQgLmNtLWJyYWNrZXQge1xuICBjb2xvcjogIzk5NzsgfVxuXG4uY20tcy1kZWZhdWx0IC5jbS10YWcge1xuICBjb2xvcjogIzE3MDsgfVxuXG4uY20tcy1kZWZhdWx0IC5jbS1hdHRyaWJ1dGUge1xuICBjb2xvcjogIzAwYzsgfVxuXG4uY20tcy1kZWZhdWx0IC5jbS1ociB7XG4gIGNvbG9yOiAjOTk5OyB9XG5cbi5jbS1zLWRlZmF1bHQgLmNtLWxpbmsge1xuICBjb2xvcjogIzAwYzsgfVxuXG4uY20tcy1kZWZhdWx0IC5jbS1lcnJvciB7XG4gIGNvbG9yOiAjZjAwOyB9XG5cbi5jbS1pbnZhbGlkY2hhciB7XG4gIGNvbG9yOiAjZjAwOyB9XG5cbi5Db2RlTWlycm9yLWNvbXBvc2luZyB7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZDsgfVxuXG4vKiBEZWZhdWx0IHN0eWxlcyBmb3IgY29tbW9uIGFkZG9ucyAqL1xuZGl2LkNvZGVNaXJyb3Igc3Bhbi5Db2RlTWlycm9yLW1hdGNoaW5nYnJhY2tldCB7XG4gIGNvbG9yOiAjMGIwOyB9XG5cbmRpdi5Db2RlTWlycm9yIHNwYW4uQ29kZU1pcnJvci1ub25tYXRjaGluZ2JyYWNrZXQge1xuICBjb2xvcjogI2EyMjsgfVxuXG4uQ29kZU1pcnJvci1tYXRjaGluZ3RhZyB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAxNTAsIDAsIDAuMyk7IH1cblxuLkNvZGVNaXJyb3ItYWN0aXZlbGluZS1iYWNrZ3JvdW5kIHtcbiAgYmFja2dyb3VuZDogI2U4ZjJmZjsgfVxuXG4vKiBTVE9QICovXG4vKiBUaGUgcmVzdCBvZiB0aGlzIGZpbGUgY29udGFpbnMgc3R5bGVzIHJlbGF0ZWQgdG8gdGhlIG1lY2hhbmljcyBvZlxyXG4gICB0aGUgZWRpdG9yLiBZb3UgcHJvYmFibHkgc2hvdWxkbid0IHRvdWNoIHRoZW0uICovXG4uQ29kZU1pcnJvciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogd2hpdGU7IH1cblxuLkNvZGVNaXJyb3Itc2Nyb2xsIHtcbiAgb3ZlcmZsb3c6IHNjcm9sbCAhaW1wb3J0YW50O1xuICAvKiBUaGluZ3Mgd2lsbCBicmVhayBpZiB0aGlzIGlzIG92ZXJyaWRkZW4gKi9cbiAgLyogMzBweCBpcyB0aGUgbWFnaWMgbWFyZ2luIHVzZWQgdG8gaGlkZSB0aGUgZWxlbWVudCdzIHJlYWwgc2Nyb2xsYmFycyAqL1xuICAvKiBTZWUgb3ZlcmZsb3c6IGhpZGRlbiBpbiAuQ29kZU1pcnJvciAqL1xuICBtYXJnaW4tYm90dG9tOiAtMzBweDtcbiAgbWFyZ2luLXJpZ2h0OiAtMzBweDtcbiAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gIGhlaWdodDogMTAwJTtcbiAgb3V0bGluZTogbm9uZTtcbiAgLyogUHJldmVudCBkcmFnZ2luZyBmcm9tIGhpZ2hsaWdodGluZyB0aGUgZWxlbWVudCAqL1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLkNvZGVNaXJyb3Itc2l6ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlci1yaWdodDogMzBweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuXG4vKiBUaGUgZmFrZSwgdmlzaWJsZSBzY3JvbGxiYXJzLiBVc2VkIHRvIGZvcmNlIHJlZHJhdyBkdXJpbmcgc2Nyb2xsaW5nXHJcbiAgIGJlZm9yZSBhY3R1YWwgc2Nyb2xsaW5nIGhhcHBlbnMsIHRodXMgcHJldmVudGluZyBzaGFraW5nIGFuZFxyXG4gICBmbGlja2VyaW5nIGFydGlmYWN0cy4gKi9cbi5Db2RlTWlycm9yLXZzY3JvbGxiYXIsXG4uQ29kZU1pcnJvci1oc2Nyb2xsYmFyLFxuLkNvZGVNaXJyb3Itc2Nyb2xsYmFyLWZpbGxlcixcbi5Db2RlTWlycm9yLWd1dHRlci1maWxsZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDY7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLkNvZGVNaXJyb3ItdnNjcm9sbGJhciB7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsOyB9XG5cbi5Db2RlTWlycm9yLWhzY3JvbGxiYXIge1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteDogc2Nyb2xsOyB9XG5cbi5Db2RlTWlycm9yLXNjcm9sbGJhci1maWxsZXIge1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwOyB9XG5cbi5Db2RlTWlycm9yLWd1dHRlci1maWxsZXIge1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7IH1cblxuLkNvZGVNaXJyb3ItZ3V0dGVycyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAzOyB9XG5cbi5Db2RlTWlycm9yLWd1dHRlciB7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBtYXJnaW4tYm90dG9tOiAtMzBweDsgfVxuXG4uQ29kZU1pcnJvci1ndXR0ZXItd3JhcHBlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogNDtcbiAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uQ29kZU1pcnJvci1ndXR0ZXItYmFja2dyb3VuZCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIHotaW5kZXg6IDQ7IH1cblxuLkNvZGVNaXJyb3ItZ3V0dGVyLWVsdCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICB6LWluZGV4OiA0OyB9XG5cbi5Db2RlTWlycm9yLWd1dHRlci13cmFwcGVyIDo6c2VsZWN0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLkNvZGVNaXJyb3ItZ3V0dGVyLXdyYXBwZXIgOjotbW96LXNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi5Db2RlTWlycm9yLWxpbmVzIHtcbiAgY3Vyc29yOiB0ZXh0O1xuICBtaW4taGVpZ2h0OiAxcHg7XG4gIC8qIHByZXZlbnRzIGNvbGxhcHNpbmcgYmVmb3JlIGZpcnN0IGRyYXcgKi8gfVxuXG4uQ29kZU1pcnJvciBwcmUge1xuICAvKiBSZXNldCBzb21lIHN0eWxlcyB0aGF0IHRoZSByZXN0IG9mIHRoZSBwYWdlIG1pZ2h0IGhhdmUgc2V0ICovXG4gIC1tb3otYm9yZGVyLXJhZGl1czogMDtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3JkZXItd2lkdGg6IDA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBtYXJnaW46IDA7XG4gIHdoaXRlLXNwYWNlOiBwcmU7XG4gIHdvcmQtd3JhcDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHotaW5kZXg6IDI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC13ZWJraXQtZm9udC12YXJpYW50LWxpZ2F0dXJlczogY29udGV4dHVhbDtcbiAgZm9udC12YXJpYW50LWxpZ2F0dXJlczogY29udGV4dHVhbDsgfVxuXG4uQ29kZU1pcnJvci13cmFwIHByZSB7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuICB3b3JkLWJyZWFrOiBub3JtYWw7IH1cblxuLkNvZGVNaXJyb3ItbGluZWJhY2tncm91bmQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogMDsgfVxuXG4uQ29kZU1pcnJvci1saW5ld2lkZ2V0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyO1xuICBwYWRkaW5nOiAwLjFweDtcbiAgLyogRm9yY2Ugd2lkZ2V0IG1hcmdpbnMgdG8gc3RheSBpbnNpZGUgb2YgdGhlIGNvbnRhaW5lciAqLyB9XG5cbi5Db2RlTWlycm9yLXJ0bCBwcmUge1xuICBkaXJlY3Rpb246IHJ0bDsgfVxuXG4uQ29kZU1pcnJvci1jb2RlIHtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG4vKiBGb3JjZSBjb250ZW50LWJveCBzaXppbmcgZm9yIHRoZSBlbGVtZW50cyB3aGVyZSB3ZSBleHBlY3QgaXQgKi9cbi5Db2RlTWlycm9yLXNjcm9sbCxcbi5Db2RlTWlycm9yLXNpemVyLFxuLkNvZGVNaXJyb3ItZ3V0dGVyLFxuLkNvZGVNaXJyb3ItZ3V0dGVycyxcbi5Db2RlTWlycm9yLWxpbmVudW1iZXIge1xuICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgfVxuXG4uQ29kZU1pcnJvci1tZWFzdXJlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLkNvZGVNaXJyb3ItY3Vyc29yIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4uQ29kZU1pcnJvci1tZWFzdXJlIHByZSB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7IH1cblxuZGl2LkNvZGVNaXJyb3ItY3Vyc29ycyB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAzOyB9XG5cbmRpdi5Db2RlTWlycm9yLWRyYWdjdXJzb3JzIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuXG4uQ29kZU1pcnJvci1mb2N1c2VkIGRpdi5Db2RlTWlycm9yLWN1cnNvcnMge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG5cbi5Db2RlTWlycm9yLXNlbGVjdGVkIHtcbiAgYmFja2dyb3VuZDogI2Q5ZDlkOTsgfVxuXG4uQ29kZU1pcnJvci1mb2N1c2VkIC5Db2RlTWlycm9yLXNlbGVjdGVkIHtcbiAgYmFja2dyb3VuZDogI2Q3ZDRmMDsgfVxuXG4uQ29kZU1pcnJvci1jcm9zc2hhaXIge1xuICBjdXJzb3I6IGNyb3NzaGFpcjsgfVxuXG4uQ29kZU1pcnJvci1saW5lOjpzZWxlY3Rpb24sXG4uQ29kZU1pcnJvci1saW5lID4gc3Bhbjo6c2VsZWN0aW9uLFxuLkNvZGVNaXJyb3ItbGluZSA+IHNwYW4gPiBzcGFuOjpzZWxlY3Rpb24ge1xuICBiYWNrZ3JvdW5kOiAjZDdkNGYwOyB9XG5cbi5Db2RlTWlycm9yLWxpbmU6Oi1tb3otc2VsZWN0aW9uLFxuLkNvZGVNaXJyb3ItbGluZSA+IHNwYW46Oi1tb3otc2VsZWN0aW9uLFxuLkNvZGVNaXJyb3ItbGluZSA+IHNwYW4gPiBzcGFuOjotbW96LXNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQ6ICNkN2Q0ZjA7IH1cblxuLmNtLXNlYXJjaGluZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmE7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDAsIDAuNCk7IH1cblxuLyogVXNlZCB0byBmb3JjZSBhIGJvcmRlciBtb2RlbCBmb3IgYSBub2RlICovXG4uY20tZm9yY2UtYm9yZGVyIHtcbiAgcGFkZGluZy1yaWdodDogLjFweDsgfVxuXG5AbWVkaWEgcHJpbnQge1xuICAvKiBIaWRlIHRoZSBjdXJzb3Igd2hlbiBwcmludGluZyAqL1xuICAuQ29kZU1pcnJvciBkaXYuQ29kZU1pcnJvci1jdXJzb3JzIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH0gfVxuXG4vKiBTZWUgaXNzdWUgIzI5MDEgKi9cbi5jbS10YWItd3JhcC1oYWNrOmFmdGVyIHtcbiAgY29udGVudDogJyc7IH1cblxuLyogSGVscCB1c2VycyB1c2UgbWFya3NlbGVjdGlvbiB0byBzYWZlbHkgc3R5bGUgdGV4dCBiYWNrZ3JvdW5kICovXG5zcGFuLkNvZGVNaXJyb3Itc2VsZWN0ZWR0ZXh0IHtcbiAgYmFja2dyb3VuZDogbm9uZTsgfVxuIl19 */\"","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\modules\\\\markdown-editor\\\\components\\\\markdown-editor\\\\markdown-editor.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvbWFya2Rvd24tZWRpdG9yL2NvbXBvbmVudHMvbWFya2Rvd24tZWRpdG9yL21hcmtkb3duLWVkaXRvci5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component, OnInit, Input, ElementRef, ViewEncapsulation, Renderer2, forwardRef } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\nimport * as TuiEditor from 'tui-editor-alternate';\r\n\r\nimport ToastUIEditor from 'tui-editor-alternate';\r\n\r\nimport \"../../extensions/highlighter/tui-editor-extHighlighter\";\r\n\r\nvar noOp = () => { };\r\n\r\nexport const MD_EDITOR_VALUE_ACCESSOR: any = {\r\n\tprovide: NG_VALUE_ACCESSOR,\r\n\tuseExisting: forwardRef(() => MarkdownEditorComponent),\r\n\tmulti: true,\r\n};\r\n\r\n@Component({\r\n\tselector: 'app-markdown-editor',\r\n\tencapsulation: ViewEncapsulation.None,\r\n\ttemplateUrl: './markdown-editor.component.pug',\r\n\tstyleUrls: [\r\n\t\t'../../../../../../node_modules/tui-editor-alternate/dist/tui-editor-contents.css',\r\n\t\t'../../../../../../node_modules/tui-editor-alternate/dist/tui-editor.css',\r\n\t\t'./codemirror.scss',\r\n\t\t'./markdown-editor.component.scss'\r\n\t],\r\n\tproviders: [MD_EDITOR_VALUE_ACCESSOR]\r\n})\r\nexport class MarkdownEditorComponent implements OnInit, ControlValueAccessor {\r\n\r\n\t@Input()\r\n\toptions: any;\r\n\r\n\tprivate _editor: any;\r\n\r\n\tprivate onTouchedCallback: () => void = noOp;\r\n\r\n\tprivate onChangeCallback: (_: any) => void = noOp;\r\n\r\n\tconstructor(private renderer: Renderer2, private el: ElementRef) { }\r\n\r\n\tngOnInit() {\r\n\t\tthis.renderer.setStyle(this.el.nativeElement, 'display', 'block');\r\n\t\tthis.createEditor();\r\n\t}\r\n\r\n\tprivate createEditor(): void {\r\n\t\tthis._editor = new TuiEditor(Object.assign({\r\n\t\t\tel: this.el.nativeElement,\r\n\t\t\tinitialEditType: 'markdown',\r\n\t\t\tpreviewStyle: 'vertical',\r\n\t\t\theight: '300px',\r\n\t\t\tusageStatistics: false,\r\n\t\t\ttoolbarItems: [\r\n\t\t\t\t'heading',\r\n\t\t\t\t'bold',\r\n\t\t\t\t'italic',\r\n\t\t\t\t'strike',\r\n\t\t\t\t'divider',\r\n\t\t\t\t'hr',\r\n\t\t\t\t'quote',\r\n\t\t\t\t'divider',\r\n\t\t\t\t'ul',\r\n\t\t\t\t'ol',\r\n\t\t\t\t// 'task',\r\n\t\t\t\t// 'indent',\r\n\t\t\t\t// 'outdent',\r\n\t\t\t\t'divider',\r\n\t\t\t\t'table',\r\n\t\t\t\t'image',\r\n\t\t\t\t'link',\r\n\t\t\t\t'divider',\r\n\t\t\t\t'code',\r\n\t\t\t\t'codeblock'\r\n\t\t\t],\r\n\t\t\tevents: {\r\n\t\t\t\tchange: this._onEditorValueChange.bind(this),\r\n\t\t\t},\r\n\t\t\texts: ['highlighter']\r\n\t\t}, this.options));\r\n\r\n\t\tToastUIEditor.markdownitHighlight.options.highlight = function (code) {\r\n\t\t\t// apply highlighting\r\n\r\n\t\t\t// this LOOKS like the left and right sides are the same but it is not\r\n\t\t\tlet value = code.replace(/<(span class=['\"]hl hl-\\d['\"])>(.*)<(\\/span)>/g, \"<$1>$2<$3>\");\r\n\r\n\t\t\treturn value;\r\n\t\t};\r\n\t}\r\n\r\n\tprivate _onEditorValueChange(): void {\r\n\t\tconst markdownData = this._editor.getMarkdown();\r\n\r\n\t\tthis.onChangeCallback(markdownData);\r\n\t}\r\n\r\n\tpublic writeValue(value: any): void {\r\n\t\tconst markdownData = this._editor.getMarkdown();\r\n\r\n\t\tif (value != markdownData) {\r\n\t\t\tthis._editor.setMarkdown(value);\r\n\t\t}\r\n\t}\r\n\r\n\tpublic registerOnChange(fn: any): void {\r\n\t\tthis.onChangeCallback = fn;\r\n\t}\r\n\r\n\tpublic registerOnTouched(fn: any): void {\r\n\t\tthis.onTouchedCallback = fn;\r\n\t}\r\n\r\n\tpublic setDisabledState?(isDisabled: boolean): void {\r\n\t\t// the editor does not support disabling\r\n\t}\r\n\r\n}\r\n","import { CommandManager } from \"tui-editor-alternate\";\r\n\r\nexport const MdAddHighlighting = CommandManager.command('markdown', {\r\n\tname: 'highlighting',\r\n\texec: (mde, color) => {\r\n\t\tif (!color) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tconst cm = mde.getEditor();\r\n\t\tconst rangeFrom = cm.getCursor('from');\r\n\t\tconst rangeTo = cm.getCursor('to');\r\n\r\n\t\tconst text = cm.getSelection();\r\n\r\n\t\tconst replaceText = `${text}`;\r\n\r\n\t\tcm.replaceSelection(replaceText);\r\n\r\n\t\tmde.focus();\r\n\t}\r\n});\r\n","import { CommandManager } from \"tui-editor-alternate\";\r\n\r\nexport const WwAddHighlighting = CommandManager.command('wysiwyg', {\r\n\tname: 'highlighting',\r\n\texec: (wwe, color) => {\r\n\t\tif (!color) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tconst sq = wwe.getEditor();\r\n\r\n\t\tlet isAdd = !sq.hasFormat('SPAN');\r\n\r\n\t\tsq.changeFormat(isAdd ? {\r\n\t\t\ttag: 'SPAN',\r\n\t\t\tattributes: {\r\n\t\t\t\t'class': `hl hl-${color}`\r\n\t\t\t}\r\n\t\t} : null, {\r\n\t\t\t\ttag: 'SPAN'\r\n\t\t\t}, null, true);\r\n\r\n\t\twwe.focus();\r\n\t}\r\n});\r\n","import * as Editor from 'tui-editor-alternate';\r\n\r\nimport { MdAddHighlighting } from './commands/markdown-commands/add-highlighting';\r\nimport { WwAddHighlighting } from './commands/wysiwyg-commands/add-highlighting';\r\n\r\nfunction highlighterExtension(editor) {\r\n\tconst { colorSyntax = {} } = editor.options;\r\n\tconst { preset, useCustomSyntax = false } = colorSyntax;\r\n\r\n\tif (editor.isViewer()) {\r\n\t\treturn;\r\n\t}\r\n\r\n\tif (editor.getUI().name === 'default') {\r\n\t\t// define commands for both modes\r\n\t\teditor.addCommand(MdAddHighlighting);\r\n\t\teditor.addCommand(WwAddHighlighting);\r\n\r\n\t\t// initialize\r\n\t\tinitUI(editor, preset);\r\n\t}\r\n\r\n\tfunction initUI(editor, preset) {\r\n\t\tconst name = 'highlighter';\r\n\t\tconst className = 'tui-highlighter';\r\n\t\tconst toolbar = editor.getUI().getToolbar();\r\n\r\n\t\teditor.eventManager.addEventType('highlighterButtonClickedYellow');\r\n\t\teditor.eventManager.addEventType('highlighterButtonClickedGreen');\r\n\t\teditor.eventManager.addEventType('highlighterButtonClickedRed');\r\n\r\n\t\ttoolbar.insertItem(4, {\r\n\t\t\ttype: 'divider'\r\n\t\t});\r\n\r\n\t\ttoolbar.insertItem(5, {\r\n\t\t\ttype: 'button',\r\n\t\t\toptions: {\r\n\t\t\t\tname,\r\n\t\t\t\tclassName: className + ' yellow-highlighter',\r\n\t\t\t\tevent: 'highlighterButtonClickedYellow',\r\n\t\t\t\ttooltip: 'Highlighter'\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t// hackyish... But can't figure out how to get FontAwesome fonts into here.. \r\n\t\tlet svg = ' ';\r\n\r\n\t\t// sets the contents of the toolbar to be the SVG.. you can't set this through the text or any other of the options that i was able to find\r\n\t\ttoolbar.getItem(5).$el[0].innerHTML = svg;\r\n\r\n\t\ttoolbar.insertItem(6, {\r\n\t\t\ttype: 'button',\r\n\t\t\toptions: {\r\n\t\t\t\tname,\r\n\t\t\t\tclassName: className + ' green-highlighter',\r\n\t\t\t\tevent: 'highlighterButtonClickedGreen',\r\n\t\t\t\ttooltip: 'Highlighter'\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t// sets the contents of the toolbar to be the SVG.. you can't set this through the text or any other of the options that i was able to find\r\n\t\ttoolbar.getItem(6).$el[0].innerHTML = svg;\r\n\r\n\t\ttoolbar.insertItem(7, {\r\n\t\t\ttype: 'button',\r\n\t\t\toptions: {\r\n\t\t\t\tname,\r\n\t\t\t\tclassName: className + ' red-highlighter',\r\n\t\t\t\tevent: 'highlighterButtonClickedRed',\r\n\t\t\t\ttooltip: 'Highlighter'\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t// sets the contents of the toolbar to be the SVG.. you can't set this through the text or any other of the options that i was able to find\r\n\t\ttoolbar.getItem(7).$el[0].innerHTML = svg;\r\n\r\n\t\t// listen for toolbar button click event. this was replicated for each color as no variables appear to be able to be passed in on the method\r\n\t\t// all values were undefined when i tried to have a parameter instead of an empty parameter for the lambda\r\n\t\teditor.eventManager.listen('highlighterButtonClickedYellow', () => {\r\n\t\t\teditor.eventManager.emit('command', 'highlighting', '1')\r\n\t\t});\r\n\r\n\t\teditor.eventManager.listen('highlighterButtonClickedGreen', () => {\r\n\t\t\teditor.eventManager.emit('command', 'highlighting', '2')\r\n\t\t});\r\n\r\n\t\teditor.eventManager.listen('highlighterButtonClickedRed', () => {\r\n\t\t\teditor.eventManager.emit('command', 'highlighting', '3')\r\n\t\t});\r\n\t}\r\n}\r\n\r\nEditor.defineExtension('highlighter', highlighterExtension);\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { MarkdownEditorComponent } from './components/markdown-editor/markdown-editor.component';\r\n\r\n@NgModule({\r\n\timports: [\r\n\t\tCommonModule\r\n\t],\r\n\tdeclarations: [\r\n\t\tMarkdownEditorComponent\r\n\t],\r\n\texports: [\r\n\t\tMarkdownEditorComponent\r\n\t]\r\n})\r\nexport class MarkdownEditorModule { }\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\modules\\\\reports\\\\components\\\\render\\\\render.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvcmVwb3J0cy9jb21wb25lbnRzL3JlbmRlci9yZW5kZXIuY29tcG9uZW50LnNjc3MifQ== */\"","import { Component, OnInit, OnDestroy, ViewChild } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { FilterSettingsModel, SortSettingsModel, ToolbarService, ExcelExportService, ToolbarItems, GridComponent, Column, ColumnModel, ExcelExportProperties } from '@syncfusion/ej2-angular-grids';\r\nimport { ClickEventArgs } from '@syncfusion/ej2-angular-navigations';\r\nimport { Internationalization } from '@syncfusion/ej2-base';\r\n\r\nimport { ReportsService } from '../../services/reports.service';\r\n\r\nimport { ReportDefinition } from '../../models/report-definition.model';\r\nimport { ReportParameter } from '../../models/report-parameter.model';\r\n\r\n@Component({\r\n\tselector: 'app-render',\r\n\ttemplateUrl: './render.component.pug',\r\n\tstyleUrls: ['./render.component.scss'],\r\n\tproviders: [ToolbarService, ExcelExportService]\r\n})\r\nexport class RenderComponent implements OnInit, OnDestroy {\r\n\tpublic reportId: string;\r\n\r\n\tpublic definition: ReportDefinition;\r\n\r\n\tpublic visibleParameters: Array;\r\n\r\n\tpublic showCalendar: boolean = false;\r\n\r\n\tpublic maxDate: Date = new Date();\r\n\r\n\tpublic report: Array;\r\n\r\n\tpublic filterOptions: FilterSettingsModel = {\r\n\t\ttype: 'Menu'\r\n\t};\r\n\r\n\tpublic sortOptions: SortSettingsModel = {\r\n\t\tcolumns: [\r\n\t\t\t// need to come up with a way to set initial sort order specific to the incoming data\r\n\t\t\t//{ field: 'score', direction: 'Ascending' }\r\n\t\t]\r\n\t};\r\n\r\n\tpublic toolbarOptions: ToolbarItems[];\r\n\r\n\tpublic pageSettings = { pageSize: 25, pageSizes: [\"All\", 10, 15, 25, 50, 100] };\r\n\r\n\t@ViewChild('grid')\r\n\tpublic grid: GridComponent;\r\n\r\n\tprivate _subscriptions = new Subscription();\r\n\r\n\tconstructor(private _route: ActivatedRoute, private _reportsService: ReportsService) { }\r\n\r\n\tngOnInit() {\r\n\t\tthis._subscriptions.add(\r\n\t\t\tthis._route.params.subscribe(params => {\r\n\t\t\t\tthis.reportId = params['id'];\r\n\r\n\t\t\t\tthis._subscriptions.add(\r\n\t\t\t\t\tthis._reportsService.getReport(this.reportId).subscribe(response => {\r\n\t\t\t\t\t\tthis.definition = response;\r\n\r\n\t\t\t\t\t\tlet canRenderReport = this.extractReportParametersFromRoute();\r\n\r\n\t\t\t\t\t\tif (canRenderReport) {\r\n\t\t\t\t\t\t\tthis.renderReport();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t\t);\r\n\t\t\t})\r\n\t\t);\r\n\r\n\t\tthis.toolbarOptions = ['ExcelExport'];\r\n\t}\r\n\r\n\tpublic renderReport(): void {\r\n\t\tthis._subscriptions.add(\r\n\t\t\tthis._reportsService.renderReport(this.reportId, this.definition.parameters)\r\n\t\t\t\t.subscribe(reportRenderResponse => {\r\n\t\t\t\t\tthis.report = reportRenderResponse;\r\n\t\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tpublic onToolbarClick(args: ClickEventArgs): void {\r\n\t\tif (args.item.id.endsWith('_excelexport')) {\r\n\t\t\tlet exportProperties: ExcelExportProperties = {\r\n\t\t\t\tfileName: `${this.definition.exportFilename}.xlsx`\r\n\t\t\t};\r\n\r\n\t\t\tthis.grid.excelExport(exportProperties);\r\n\t\t}\r\n\t}\r\n\r\n\tpublic onGridLoad(args) {\r\n\t\tvar atag = args.cell.querySelector('a');\r\n\r\n\t\tif (!!atag) {\r\n\t\t\tvar href = atag.href;\r\n\t\t\t// look for DateTime values listed in anchor tag references and replace with a shortened date only parameter\r\n\t\t\t// NOTE: If there is a report that utilizes a specific TIME value this functionality will break that usage - revisit at a later date\r\n\t\t\tvar matches = href.match(/(\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\-|\\+)\\d{2}:\\d{2}(-\\d{2}:\\d{2})?((-|\\+)\\d{2}:\\d{2})?)/g) as Array;\r\n\t\t\tif (!!matches) {\r\n\t\t\t\tfor (let match of matches) {\r\n\t\t\t\t\tvar strippedDateValue = match.substr(0, match.lastIndexOf(':') - 3);\r\n\t\t\t\t\tvar strippedDate = new Date(strippedDateValue);\r\n\t\t\t\t\tvar formattedValue = new Internationalization().formatDate(strippedDate, { skeleton: 'yMd', type: 'date' });\r\n\t\t\t\t\thref = href.replace(match, formattedValue);\r\n\t\t\t\t}\r\n\t\t\t\tatag.href = href;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t// Loads the definition paramters with the values from the query string. If all values are not set, we will show the fields so the user can enter the values\r\n\t// that need to be entered. Returns true or false depending on whether all values were loaded or not\r\n\tprivate extractReportParametersFromRoute(): boolean {\r\n\t\tif (!this.definition.parameters) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\r\n\t\tthis.visibleParameters = this.definition.parameters.filter(x => !x.hidden);\r\n\r\n\t\tfor (let key of this.definition.parameters) {\r\n\t\t\tlet value = this._route.snapshot.queryParams[key.name];\r\n\r\n\t\t\tif (value) {\r\n\t\t\t\tswitch (key.type) {\r\n\t\t\t\t\tcase 'DateTime':\r\n\t\t\t\t\t\tkey.value = new Date(value);\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t// These types may need changing in the future when actual numeric parameters are used\r\n\t\t\t\t\tcase 'Int32':\r\n\t\t\t\t\tcase 'Double':\r\n\t\t\t\t\t\tkey.value = Number(value);\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tdefault:\r\n\t\t\t\t\t\tkey.value = value;\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tif (!key.hidden) {\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn true;\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis._subscriptions.unsubscribe();\r\n\t}\r\n\r\n}\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\modules\\\\reports\\\\components\\\\reports-gallery\\\\reports-gallery.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvcmVwb3J0cy9jb21wb25lbnRzL3JlcG9ydHMtZ2FsbGVyeS9yZXBvcnRzLWdhbGxlcnkuY29tcG9uZW50LnNjc3MifQ== */\"","import { Component, OnInit, OnDestroy } from '@angular/core';\r\n\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { ReportsService } from '../../services/reports.service';\r\nimport { ReportInformation } from '../../models/report-information.model';\r\n\r\n@Component({\r\n\tselector: 'app-reports-gallery',\r\n\ttemplateUrl: './reports-gallery.component.pug',\r\n\tstyleUrls: ['./reports-gallery.component.scss']\r\n})\r\nexport class ReportsGalleryComponent implements OnInit, OnDestroy {\r\n\r\n\tprivate _subscriptions = new Subscription();\r\n\r\n\tpublic availableReports = new Array();\r\n\r\n\tconstructor(private _reportsService: ReportsService) { }\r\n\r\n\tngOnInit() {\r\n\t\tthis._subscriptions.add(\r\n\t\t\tthis._reportsService.getReports().subscribe(response => {\r\n\t\t\t\tthis.availableReports = (response ? response.sort((left, right): number => { return (left.name > right.name) ? 1 : ((right.name > left.name) ? -1 : 0); }) : null);\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis._subscriptions.unsubscribe();\r\n\t}\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\n\r\nimport { AuthPermissionsGuard } from '../../core/services/permissions/auth-permissions.guard';\r\n\r\nimport { ReportsGalleryComponent } from './components/reports-gallery/reports-gallery.component';\r\nimport { RenderComponent } from './components/render/render.component';\r\n\r\nconst routes: Routes = [\r\n\t{\r\n\t\tpath: 'reports', component: ReportsGalleryComponent, canActivate: [AuthPermissionsGuard], data: {\r\n\t\t\troles: ['view-reports', 'view-solution-admin-reports']\r\n\t\t}\r\n\t},\r\n\t{\r\n\t\tpath: 'reports/render/:id', component: RenderComponent, canActivate: [AuthPermissionsGuard], data: {\r\n\t\t\troles: ['view-reports', 'view-solution-admin-reports']\r\n\t\t}\r\n\t}\r\n];\r\n\r\n@NgModule({\r\n\timports: [RouterModule.forChild(routes)],\r\n\texports: [RouterModule]\r\n})\r\nexport class ReportsRoutingModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\n\r\nimport { GridModule } from '@syncfusion/ej2-angular-grids';\r\nimport { DatePickerModule } from '@syncfusion/ej2-angular-calendars';\r\n\r\nimport { ReportsRoutingModule } from './reports-routing.module';\r\n\r\nimport { ReportsService } from './services/reports.service';\r\n\r\nimport { ReportsGalleryComponent } from './components/reports-gallery/reports-gallery.component';\r\nimport { RenderComponent } from './components/render/render.component';\r\n\r\n@NgModule({\r\n\timports: [\r\n\t\tCommonModule,\r\n\t\tReactiveFormsModule,\r\n\r\n\t\tGridModule,\r\n\t\tDatePickerModule,\r\n\r\n\t\tReportsRoutingModule\r\n\t],\r\n\tdeclarations: [ReportsGalleryComponent, RenderComponent],\r\n\tproviders: [\r\n\t\tReportsService\r\n\t]\r\n})\r\nexport class ReportsModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\n\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { ReportInformation } from '../models/report-information.model';\r\nimport { ReportDefinition } from '../models/report-definition.model';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class ReportsService {\r\n\r\n\tprivate _urlBase: string = \"api/reports\";\r\n\r\n\tconstructor(private _httpClient: HttpClient) {\r\n\t}\r\n\r\n\tpublic getReports(): Observable> {\r\n\t\treturn this._httpClient.get>(this._urlBase);\r\n\t}\r\n\r\n\tpublic getReport(reportId: string): Observable {\r\n\t\treturn this._httpClient.get(`${this._urlBase}/${reportId}`);\r\n\t}\r\n\r\n\tpublic renderReport(reportId: string, data?: any): Observable {\r\n\t\tlet httpParams = new HttpParams();\r\n\r\n\t\tif (data) {\r\n\t\t\tfor (let param of data) {\r\n\t\t\t\tlet value: any;\r\n\t\t\t\t\r\n\t\t\t\tif (param['value'] && param['type'] === 'DateTime' && typeof(param[\"value\"]) != 'string' ) {\t\t\t\t\t\r\n\t\t\t\t\tlet date = param[\"value\"];\r\n\t\t\t\t\tvalue = new Date(date.getTime() - (date.getTimezoneOffset() * 60000)).toISOString();\t\t\t\t\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvalue = param[\"value\"]\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (value) {\r\n\t\t\t\t\thttpParams = httpParams.append(param[\"name\"], value);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn this._httpClient.get(`${this._urlBase}/render/${reportId}`, { params: httpParams });\r\n\t}\r\n}\r\n","import { NgModule, APP_INITIALIZER } from '@angular/core';\r\n\r\nimport { ConfigurationService } from './services/configuration.service';\r\n\r\nexport function initConfig(configurationService: ConfigurationService) {\r\n\treturn () => configurationService.loadConfiguration();\r\n}\r\n\r\n@NgModule({\r\n\tproviders: [\r\n\t\tConfigurationService,\r\n\t\t{\r\n\t\t\tprovide: APP_INITIALIZER,\r\n\t\t\tuseFactory: initConfig,\r\n\t\t\tdeps: [ConfigurationService],\r\n\t\t\tmulti: true,\r\n\t\t}\r\n\t]\r\n})\r\nexport class RuntimeConfigurationModule {\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\nimport { Settings } from '../models/settings';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class ConfigurationService {\r\n\r\n\tconstructor() { }\r\n\r\n\tpublic loadConfiguration(): Promise {\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\tconst xhr = new XMLHttpRequest();\r\n\t\t\txhr.open('GET', '/api/settings');\r\n\r\n\t\t\txhr.addEventListener('readystatechange', () => {\r\n\t\t\t\tif (xhr.readyState === XMLHttpRequest.DONE && xhr.status === 200) {\r\n\t\t\t\t\tthis.configuration = JSON.parse(xhr.responseText);\r\n\r\n\t\t\t\t\tconsole.info('Configuration loaded successfully.');\r\n\r\n\t\t\t\t\tresolve(this.configuration);\r\n\t\t\t\t}\r\n\t\t\t\telse if (xhr.readyState === XMLHttpRequest.DONE) {\r\n\t\t\t\t\tconsole.error('Unable to load configuration.');\r\n\r\n\t\t\t\t\treject();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\tconsole.log('Loading configuration...');\r\n\r\n\t\t\txhr.send(null);\r\n\t\t});\r\n\t}\r\n\r\n\tpublic configuration: Settings;\r\n\r\n}\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\modules\\\\search\\\\components\\\\search.result.article\\\\search.result.article.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvc2VhcmNoL2NvbXBvbmVudHMvc2VhcmNoLnJlc3VsdC5hcnRpY2xlL3NlYXJjaC5yZXN1bHQuYXJ0aWNsZS5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component } from '@angular/core';\r\nimport { Input } from '@angular/core';\r\n\r\n@Component({\r\n\tselector: 'app-article-search-result',\r\n\ttemplateUrl: './search.result.article.component.pug',\r\n\tstyleUrls: ['./search.result.article.component.scss']\r\n})\r\n\r\nexport class ArticleSearchResultComponent {\r\n\r\n\t@Input()\r\n\tresult: any; // update this to proper model?\r\n\r\n}\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\modules\\\\search\\\\components\\\\search.result.incident\\\\search.result.incident.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \"@media only screen and (max-width: 767px) {\\n .label-text-align {\\n text-align: left; } }\\n\\n@media only screen and (min-width: 768px) {\\n .label-text-align {\\n text-align: right; } }\\n\\n.resolution {\\n display: block;\\n /* Basically duplicate the styling of form-control... ugggggg */\\n padding: 0.375rem 0.75rem;\\n border: 1px solid #ced4da;\\n border-radius: 0.25rem; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9zZWFyY2gvY29tcG9uZW50cy9zZWFyY2gucmVzdWx0LmluY2lkZW50L0M6XFxVc2Vyc1xcbWpvc2hpXFxzb3VyY2VcXHJlcG9zXFxBbGV4YW5kcmlhXFxBbGV4YW5kcmlhXFxBbGV4YW5kcmlhLldlYnNpdGVcXENsaWVudEFwcC9zcmNcXGFwcFxcbW9kdWxlc1xcc2VhcmNoXFxjb21wb25lbnRzXFxzZWFyY2gucmVzdWx0LmluY2lkZW50XFxzZWFyY2gucmVzdWx0LmluY2lkZW50LmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0M7SUFDQyxnQkFBZ0IsRUFBQSxFQUNoQjs7QUFHRjtFQUNDO0lBQ0MsaUJBQWdCLEVBQUEsRUFDaEI7O0FBR0Y7RUFDQyxjQUFjO0VBRWQsK0RBQUE7RUFDQSx5QkFBeUI7RUFDekIseUJBQXlCO0VBQ3pCLHNCQUFzQixFQUFBIiwiZmlsZSI6InNyYy9hcHAvbW9kdWxlcy9zZWFyY2gvY29tcG9uZW50cy9zZWFyY2gucmVzdWx0LmluY2lkZW50L3NlYXJjaC5yZXN1bHQuaW5jaWRlbnQuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XHJcblx0LmxhYmVsLXRleHQtYWxpZ24ge1xyXG5cdFx0dGV4dC1hbGlnbjogbGVmdDtcclxuXHR9XHJcbn1cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuXHQubGFiZWwtdGV4dC1hbGlnbiB7XHJcblx0XHR0ZXh0LWFsaWduOnJpZ2h0O1xyXG5cdH1cclxufVxyXG5cclxuLnJlc29sdXRpb24ge1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cclxuXHQvKiBCYXNpY2FsbHkgZHVwbGljYXRlIHRoZSBzdHlsaW5nIG9mIGZvcm0tY29udHJvbC4uLiB1Z2dnZ2dnICovXHJcblx0cGFkZGluZzogMC4zNzVyZW0gMC43NXJlbTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCAjY2VkNGRhO1xyXG5cdGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XHJcbn1cclxuIl19 */\"","import { Component, OnInit } from '@angular/core';\r\nimport { Input } from '@angular/core';\r\n\r\n@Component({\r\n\tselector: 'app-incident-search-result',\r\n\ttemplateUrl: './search.result.incident.component.pug',\r\n\tstyleUrls: ['./search.result.incident.component.scss']\r\n})\r\n\r\nexport class IncidentSearchResultComponent implements OnInit{\r\n\r\n\t@Input()\r\n\tpublic result: any; // update this to proper model?\r\n\r\n\t@Input()\r\n\tpublic searchTerms: string;\r\n\r\n\tpublic resolutionLabel: string = \"Resolution\";\r\n\r\n\tngOnInit(): void {\r\n\t\tif(this.result && this.result.resolutionFindings) {\r\n\t\t\tlet metallicCase = this.result.serviceType && this.result.serviceType.match(/Metallic/i);\r\n\t\t\tthis.resolutionLabel = metallicCase && metallicCase.length > 0 ? \"Final Update\" : \"Resolution\";\r\n\t\t}\r\n\t}\r\n}\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\modules\\\\search\\\\components\\\\search.result.psr\\\\search.result.psr.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvc2VhcmNoL2NvbXBvbmVudHMvc2VhcmNoLnJlc3VsdC5wc3Ivc2VhcmNoLnJlc3VsdC5wc3IuY29tcG9uZW50LnNjc3MifQ== */\"","import { Component } from '@angular/core';\r\nimport { Input } from '@angular/core';\r\n\r\n@Component({\r\n\tselector: 'app-psr-search-result',\r\n\ttemplateUrl: './search.result.psr.component.pug',\r\n\tstyleUrls: ['./search.result.psr.component.scss']\r\n})\r\n\r\nexport class PartnerServiceRequestSearchResultComponent {\r\n\r\n\t@Input()\r\n\tpublic result: any;\r\n\r\n}\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\modules\\\\search\\\\components\\\\search\\\\search.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvc2VhcmNoL2NvbXBvbmVudHMvc2VhcmNoL3NlYXJjaC5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component, OnInit, OnDestroy, ViewChild } from '@angular/core';\r\nimport { Location } from '@angular/common';\r\nimport { ActivatedRoute, Router, NavigationStart, GuardsCheckEnd, RouterStateSnapshot, ActivatedRouteSnapshot } from '@angular/router';\r\nimport { FormControl, FormGroup, FormBuilder, FormArray, Validators } from '@angular/forms';\r\nimport { HttpParams } from '@angular/common/http';\r\n\r\nimport { Observable, Subscription, pipe } from 'rxjs';\r\n\r\nimport { TabsetComponent } from 'ngx-bootstrap';\r\n\r\nimport { CanComponentDeactivate } from '../../../../core/services/can-deactivate/can-deactivate.guard';\r\n\r\nimport { SearchService } from '../../../../core/services/searches/search.service';\r\nimport { PermissionService } from '../../../../core/services/permissions/permission.service';\r\nimport { UserProfileService } from '../../../../core/services/user-profiles/user-profile.service';\r\n\r\nimport { SearchRequest } from '../../../../core/models/searches/search.request.model';\r\nimport { KeyValue } from '../../../../core/models/searches/key-value.model';\r\nimport { SearchRequestFacet } from '../../../../core/models/searches/search-request-facet.model';\r\nimport { UnifiedSearchResponse } from '../../../../core/models/searches/unified-search-response.model';\r\n\r\n@Component({\r\n\tselector: 'app-search',\r\n\ttemplateUrl: './search.component.pug',\r\n\tstyleUrls: ['./search.component.scss']\r\n})\r\nexport class SearchComponent implements OnInit, OnDestroy, CanComponentDeactivate {\r\n\r\n\t@ViewChild('staticTabs')\r\n\tpublic staticTabs: TabsetComponent;\r\n\r\n\tpublic dynamicTabsList = new Array();\r\n\r\n\tpublic searchForm: FormGroup;\r\n\r\n\tpublic searchRequest: SearchRequest;\r\n\r\n\tpublic hideSearchTab: boolean = false;\r\n\r\n\tpublic unifiedSearchResponse: UnifiedSearchResponse;\r\n\r\n\tpublic incidentTabHeader: string;\r\n\r\n\tpublic totalRecords: number = 0;\r\n\r\n\tpublic displaySearchWarning: boolean = false;\r\n\r\n\tprivate _subscriptions = new Subscription();\r\n\r\n\tprivate _activeTab: string = \"incidents\";\r\n\r\n\tconstructor(private _route: ActivatedRoute,\r\n\t\tprivate _searchService: SearchService,\r\n\t\tprivate _router: Router,\r\n\t\tprivate _formBuilder: FormBuilder,\r\n\t\tprivate _location: Location,\r\n\t\tprivate _userProfileService: UserProfileService,\r\n\t\tpublic permissionsService: PermissionService) {\r\n\t\tthis.createForm();\r\n\t}\r\n\r\n\tngOnInit(): void {\r\n\t\tthis._userProfileService.getMyProfile().subscribe(response => {\r\n\t\t\tif (response) {\r\n\t\t\t\t// searchDetailsAction 2 is open in new application tab.. we only want to show the tabs if we are opening in a new application tab\r\n\t\t\t\tthis.hideSearchTab = response.searchDetailsAction != 2;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\t// No Profile return so assume non-tabbed searching\r\n\t\t\t\tthis.hideSearchTab = true;\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tthis.searchRequest = new SearchRequest();\r\n\r\n\t\t// TODO: Make adjustments to look for both alias values and default property values\r\n\t\t// Move to a private method so it can be unit tested\r\n\t\t// Separate updating the searchRequest object and updating the form (possibly automatically through change detection)\r\n\t\tlet queryParamMap = this._route.snapshot.queryParamMap;\r\n\r\n\t\tif (queryParamMap.get('q') != undefined && queryParamMap.get('q') != null && queryParamMap.get('q') != '') {\r\n\t\t\tthis.searchRequest.searchTerms = queryParamMap.get('q');\r\n\t\t\tthis.searchForm.get('searchTerms').setValue(queryParamMap.get('q'));\r\n\t\t}\r\n\r\n\t\tlet facetsToMap = queryParamMap.get('fq');\r\n\r\n\t\tif (facetsToMap != undefined && facetsToMap != null && facetsToMap != '') {\r\n\t\t\tlet facetToAdd = new SearchRequestFacet();\r\n\t\t\tlet facetsList = facetsToMap.split(',');\r\n\t\t\tfor (var i = 0; i < facetsList.length; i++) {\r\n\t\t\t\tfacetToAdd.field = facetsList[i].split(':')[0];\r\n\t\t\t\tfacetToAdd.value = facetsList[i].split(':')[1];\r\n\t\t\t\tthis.searchRequest.facets.push(Object.assign(new SearchRequestFacet(), facetToAdd));\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tlet explicitSearchTermsKeys = queryParamMap.getAll('explicitSearchTermsKeys');\r\n\t\tlet explicitSearchTermsValues = queryParamMap.getAll('explicitSearchTermsValues');\r\n\r\n\t\tif (explicitSearchTermsKeys && explicitSearchTermsValues) {\r\n\t\t\tif (explicitSearchTermsKeys.length == explicitSearchTermsValues.length) {\r\n\t\t\t\tvar explicitSearchTermToAdd = new KeyValue();\r\n\t\t\t\tfor (var i = 0; i < explicitSearchTermsKeys.length; i++) {\r\n\t\t\t\t\texplicitSearchTermToAdd.key = explicitSearchTermsKeys[i];\r\n\t\t\t\t\texplicitSearchTermToAdd.value = explicitSearchTermsValues[i];\r\n\t\t\t\t\tthis.searchRequest.explicitSearchTerms.push(Object.assign(new KeyValue(), explicitSearchTermToAdd));\r\n\t\t\t\t\tthis.displaySearchWarning = true;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tthis.getSearchResults(this.searchRequest);\r\n\t}\r\n\r\n\tpublic selectTab(tabId: number) {\r\n\t\tthis.staticTabs.tabs[tabId].active = true;\r\n\t}\r\n\r\n\tpublic onSubmit(): void {\r\n\t\tthis.executeSearch();\r\n\t}\r\n\r\n\tprivate executeSearch(): void {\r\n\t\tif (this.searchRequest.sortOrder && this.searchRequest.sortOrder.length) {\r\n\t\t\tthis.searchForm.patchValue({ \"sortOrder\": this.searchRequest.sortOrder });\r\n\t\t}\r\n\r\n\t\tthis.getSearchResults(this.searchForm.value);\r\n\t\tthis.displaySearchWarning = false;\r\n\t}\r\n\r\n\tpublic clearCriteria(): void {\r\n\t\tthis.searchForm.patchValue({\r\n\t\t\tsearchTerms: '',\r\n\t\t\tfacets: ''\r\n\t\t});\r\n\r\n\t\tthis.executeSearch();\r\n\t}\r\n\r\n\tpublic searchTermsSet(): boolean {\r\n\t\tlet searchTerms: string = this.searchForm.get('searchTerms').value;\r\n\t\treturn searchTerms && searchTerms.trim().length > 0;\r\n\t}\r\n\r\n\tpublic isFacetValueSelected(key: string, value: string): boolean {\r\n\t\tif (!this.searchRequest || !this.searchRequest.facets) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tvar facet = this.searchRequest.facets.filter(function (obj) {\r\n\t\t\treturn (obj.field === key && obj.value === value);\r\n\t\t});\r\n\r\n\t\t// checks that facet is not undefined and that the length of the facet is not 0\r\n\t\treturn (!!facet && !!facet.length);\r\n\t}\r\n\r\n\tpublic isFacetKeySelected(key: string): boolean {\r\n\t\tif (!this.searchRequest || !this.searchRequest.facets) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tvar facet = this.searchRequest.facets.filter(function (obj) {\r\n\t\t\treturn (obj.field === key);\r\n\t\t});\r\n\r\n\t\treturn facet && facet.length > 0;\r\n\t}\r\n\r\n\tpublic toggleFacet(key: string, value: string): void {\r\n\t\tvar selectedFacet = new SearchRequestFacet();\r\n\t\tselectedFacet.field = key;\r\n\t\tselectedFacet.value = value;\r\n\t\tselectedFacet.clusivity = 0\r\n\r\n\t\tif (!this.searchRequest.facets) {\r\n\t\t\tthis.searchRequest.facets = new Array();\r\n\t\t}\r\n\r\n\t\tvar existingFacet = this.searchRequest.facets.filter(obj => {\r\n\t\t\treturn (obj.field === key && obj.value === value);\r\n\t\t})[0];\r\n\r\n\t\tif (!existingFacet) {\r\n\t\t\tthis.searchRequest.facets.push(selectedFacet);\r\n\t\t}\r\n\t\telse {\r\n\t\t\t// removes the facet if it exists\r\n\t\t\tthis.searchRequest.facets = this.searchRequest.facets.filter(obj => {\r\n\t\t\t\treturn !(obj.field == key && obj.value == value);\r\n\t\t\t});\r\n\t\t}\r\n\t\tthis.searchForm.patchValue({ 'facets': this.searchRequest.facets });\r\n\r\n\t\tthis.getSearchResults(this.searchRequest);\r\n\t}\r\n\r\n\tpublic responseHasResults(): boolean {\r\n\t\treturn this.unifiedSearchResponse && this.unifiedSearchResponse.request\r\n\t\t\t&& (this.unifiedSearchResponse.request.searchTerms || (this.unifiedSearchResponse.request.facets && !!this.unifiedSearchResponse.request.facets.length))\r\n\t\t\t&& !!this.unifiedSearchResponse.totalMatching;\r\n\t}\r\n\r\n\tpublic responseHasNotices(): boolean {\r\n\t\treturn this.unifiedSearchResponse &&\r\n\t\t\t!!this.unifiedSearchResponse.notices && !!this.unifiedSearchResponse.notices.length;\r\n\t}\r\n\r\n\tpublic setSortField(field: string): void {\r\n\t\tif (!!this.searchRequest.sortOrder.length) {\r\n\t\t\tthis.searchRequest.sortOrder[0].field = field;\r\n\t\t} else {\r\n\t\t\tthis.searchRequest.sortOrder.push({ field: field, direction: 0 });\r\n\t\t}\r\n\r\n\t\tthis.getSearchResults(this.searchRequest);\r\n\t}\r\n\r\n\tpublic setSortDirection(direction: number): void {\r\n\t\tif (!!this.searchRequest.sortOrder.length) {\r\n\t\t\tthis.searchRequest.sortOrder[0].direction = direction;\r\n\t\t} else {\r\n\t\t\tthis.searchRequest.sortOrder.push({ field: '', direction: direction });\r\n\t\t}\r\n\r\n\t\tthis.getSearchResults(this.searchRequest);\r\n\t}\r\n\r\n\tpublic setPageSize(size: number): void {\r\n\t\tthis.searchRequest.pageSize = size;\r\n\r\n\t\tthis.getSearchResults(this.searchRequest);\r\n\t}\r\n\r\n\tpublic change(evt): void {\r\n\t\tif (evt && evt.currentPage) {\r\n\t\t\tthis.searchRequest.pageIndex = evt.currentPage;\r\n\t\t\tthis.getSearchResults(this.searchRequest);\r\n\t\t}\r\n\t}\r\n\r\n\tpublic activeTab(tab: string): void {\r\n\t\tthis._activeTab = tab;\r\n\t\tthis.setTotalRecords();\r\n\r\n\t\tif (this.totalRecords) {\r\n\t\t\tif (this.searchRequest.pageIndex > Math.ceil(this.totalRecords / this.searchRequest.pageSize)) {\r\n\t\t\t\tthis.searchRequest.pageIndex = Math.ceil(this.totalRecords / this.searchRequest.pageSize);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tpublic onTabRemoved(detail: any): void {\r\n\t\tthis.dynamicTabsList = this.dynamicTabsList.filter(x => x != detail);\r\n\t}\r\n\r\n\tpublic canDeactivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot, nextState: RouterStateSnapshot): Observable {\r\n\t\treturn new Observable(observer => {\r\n\t\t\tthis._subscriptions.add(\r\n\t\t\t\tthis._userProfileService.getMyProfile().subscribe(response => {\r\n\t\t\t\t\tif (response) {\r\n\t\t\t\t\t\tlet searchDetailsActions = response.searchDetailsAction;\r\n\r\n\t\t\t\t\t\tlet nextRoute = nextState.root.firstChild;\r\n\r\n\t\t\t\t\t\t// if the user wants to have tabbed search (in app or browser) and they are navigating to a article or incident details page, then we are going to return false\r\n\t\t\t\t\t\t// and open the page how we want to open it\r\n\t\t\t\t\t\tif ((searchDetailsActions == 1 || searchDetailsActions == 2)\r\n\t\t\t\t\t\t\t&& (nextRoute.routeConfig.path == \"article/details/:id/:version\" || nextRoute.routeConfig.path == \"incident/details/:incidentId\" || nextRoute.routeConfig.path == \"psr/details/:id\")\r\n\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t// 1 is open in a new browser tab\r\n\t\t\t\t\t\t\tif (searchDetailsActions == 1) {\r\n\t\t\t\t\t\t\t\tlet re = new RegExp(/^.*\\//);\r\n\t\t\t\t\t\t\t\tlet baseUrl = re.exec(window.location.href)[0];\r\n\t\t\t\t\t\t\t\tlet detailsUrl = nextRoute.url.map(segment => segment.path).join(\"/\");\r\n\r\n\t\t\t\t\t\t\t\tlet urlTree = this._router.createUrlTree([detailsUrl], { queryParams: { q: this.searchRequest.searchTerms } });\r\n\t\t\t\t\t\t\t\t// adds the search terms to the keyword since we want to use the keyword to highlight the word found in the activity\r\n\t\t\t\t\t\t\t\twindow.open(`${baseUrl}${urlTree.toString()}`);\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t// 2 is open in new application tab\r\n\t\t\t\t\t\t\tif (searchDetailsActions == 2) {\r\n\t\t\t\t\t\t\t\tlet tabType = null;\r\n\t\t\t\t\t\t\t\tswitch (nextRoute.routeConfig.path) {\r\n\t\t\t\t\t\t\t\t\tcase 'article/details/:id/:version': {\r\n\t\t\t\t\t\t\t\t\t\ttabType = 'article';\r\n\t\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tcase 'incident/details/:incidentId': {\r\n\t\t\t\t\t\t\t\t\t\ttabType = 'incident';\r\n\t\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tcase 'psr/details/:id': {\r\n\t\t\t\t\t\t\t\t\t\ttabType = 'psr';\r\n\t\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tdefault: {\r\n\t\t\t\t\t\t\t\t\t\tconsole.log('Unsupported tabbed results path detected');\r\n\t\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\tlet tabDetails = {\r\n\t\t\t\t\t\t\t\t\ttype: tabType,\r\n\t\t\t\t\t\t\t\t\tparams: Object.create(nextRoute.params),\r\n\t\t\t\t\t\t\t\t\tactive: true\r\n\t\t\t\t\t\t\t\t};\r\n\r\n\t\t\t\t\t\t\t\tthis.dynamicTabsList.push(tabDetails);\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\tobserver.next(false);\r\n\t\t\t\t\t\t\tobserver.complete();\r\n\t\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\tobserver.next(true);\r\n\t\t\t\t\t\t\tobserver.complete();\r\n\t\t\t\t\t\t\treturn true;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\t// No profile so just let user navigate away\r\n\t\t\t\t\t\tobserver.next(true);\r\n\t\t\t\t\t\tobserver.complete();\r\n\t\t\t\t\t\treturn true;\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t);\r\n\t\t});\r\n\t}\r\n\r\n\tprivate getSearchResults(searchRequest: SearchRequest): void {\r\n\t\t// if search terms exist, and search terms has non-whitespace text, or if facets exist and facets are selected\r\n\t\t// TODO: need to update page size when pagination was needed\r\n\t\tif ((this.searchRequest.searchTerms && !!this.searchRequest.searchTerms.trim().length) || (this.searchRequest.facets && !!this.searchRequest.facets.length)) {\r\n\t\t\tthis.searchRequest.pageSize = this.searchRequest.pageSize ? this.searchRequest.pageSize : 10;\r\n\t\t} else {\r\n\t\t\tthis.searchRequest.pageSize = 0;\r\n\t\t}\r\n\r\n\t\tif (searchRequest.sortOrder && !searchRequest.sortOrder.length) {\r\n\t\t\tsearchRequest.sortOrder.push({ field: 'score', direction: 1 });\r\n\t\t}\r\n\r\n\t\tthis._subscriptions.add(\r\n\t\t\tthis._searchService.getSearchResults(searchRequest).subscribe(results => {\r\n\t\t\t\t// this check was put in place in case we want to do soemthing when the result comes back null or undefined\r\n\t\t\t\tif (results) {\r\n\t\t\t\t\tthis.unifiedSearchResponse = results;\r\n\t\t\t\t\tif (!this.unifiedSearchResponse.request) {\r\n\t\t\t\t\t\tthis.searchRequest = new SearchRequest();\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t// make a copy of the request so we have something to send back as new request\r\n\t\t\t\t\t\tthis.searchRequest = (JSON.parse(JSON.stringify(this.unifiedSearchResponse.request)));\r\n\r\n\t\t\t\t\t\tthis.setTotalRecords();\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.unifiedSearchResponse = undefined;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// HttpParams is immutable, we need to create a new HttpParams with what we want instead of deleting what we don't want\r\n\t\t\t\tlet desiredSearchParamsKeys = this._searchService.params.keys().filter(x => x.toLowerCase().indexOf('explicitsearch'));\r\n\r\n\t\t\t\tlet kvp = new Array();\r\n\r\n\t\t\t\tfor (var i = 0; i < desiredSearchParamsKeys.length; i++) {\r\n\t\t\t\t\tlet paramName = desiredSearchParamsKeys[i];\r\n\t\t\t\t\tlet valuesToAdd = this._searchService.params.getAll(paramName);\r\n\r\n\t\t\t\t\t// for things like facets and sortOrder, we could have multiple values in the query params\r\n\t\t\t\t\t// we can't do add (which is essentially an overload for append for all value types)\r\n\t\t\t\t\t// because appending will not overwrite the original value\r\n\t\t\t\t\tlet combinedValue = \"\";\r\n\t\t\t\t\tfor (var v = 0; v < valuesToAdd.length; v++) {\r\n\t\t\t\t\t\tif (valuesToAdd[v] != undefined && valuesToAdd[v] != null && valuesToAdd[v] != '') {\r\n\t\t\t\t\t\t\tcombinedValue = combinedValue == \"\" ? combinedValue.concat(valuesToAdd[v]) : combinedValue.concat(',', valuesToAdd[v]);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (combinedValue != '') {\r\n\t\t\t\t\t\tkvp[paramName] = combinedValue;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tthis._router.navigate(['/search'], { queryParams: kvp });\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tprivate setTotalRecords() {\r\n\t\tif (this.unifiedSearchResponse\r\n\t\t\t&& !!this.unifiedSearchResponse.resultSetsTotalMatching\r\n\t\t\t&& typeof (this.unifiedSearchResponse.resultSetsTotalMatching[this._activeTab]) != \"undefined\") {\r\n\t\t\tthis.totalRecords = this.unifiedSearchResponse.resultSetsTotalMatching[this._activeTab];\r\n\t\t}\r\n\t}\r\n\r\n\tprivate createForm(): void {\r\n\t\tthis.searchForm = this._formBuilder.group({\r\n\t\t\tsearchTerms: '',\r\n\t\t\tfacets: '',\r\n\t\t\tsortOrder: this._formBuilder.array([\r\n\t\t\t\tthis._formBuilder.control({ field: 'score', direction: 1 })\r\n\t\t\t])\r\n\t\t});\r\n\t}\r\n\r\n\tpublic ngOnDestroy() {\r\n\t\tthis._subscriptions.unsubscribe();\r\n\t}\r\n\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { RouterModule, Routes } from \"@angular/router\";\r\n\r\nimport { SearchComponent } from \"./components/search/search.component\";\r\nimport { AuthPermissionsGuard } from \"../../core/services/permissions/auth-permissions.guard\";\r\nimport { CanDeactivateGuard } from \"../../core/services/can-deactivate/can-deactivate.guard\";\r\n\r\nconst routes: Routes = [\r\n\t{ path: \"search\", component: SearchComponent, canActivate: [AuthPermissionsGuard], canDeactivate: [CanDeactivateGuard] },\r\n]\r\n\r\n@NgModule({\r\n\timports: [RouterModule.forRoot(routes)],\r\n\texports: [RouterModule]\r\n})\r\nexport class SearchRoutingModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RouterModule } from '@angular/router';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\n\r\nimport { PagerModule } from '@syncfusion/ej2-angular-grids';\r\nimport { MomentModule } from 'ngx-moment';\r\nimport { CollapseModule, BsDropdownModule, TabsModule, AccordionModule } from 'ngx-bootstrap';\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\nimport { TruncateModule } from '@yellowspot/ng-truncate';\r\n\r\nimport { library } from \"@fortawesome/fontawesome-svg-core\";\r\nimport { faHome, faTable, faShare, faThumbsDown, faThumbsUp, faSync, faMedkit, faFileAlt } from \"@fortawesome/pro-solid-svg-icons\";\r\n\r\nimport { SharedModule } from '../../shared/shared.module';\r\n\r\nimport { SearchRoutingModule } from './search-routing.module';\r\n\r\nimport { SearchService } from '../../core/services/searches/search.service';\r\n\r\nimport { SearchComponent } from './components/search/search.component';\r\n\r\nimport { ArticleSearchResultComponent } from './components/search.result.article/search.result.article.component';\r\nimport { IncidentSearchResultComponent } from './components/search.result.incident/search.result.incident.component';\r\nimport { PartnerServiceRequestSearchResultComponent } from './components/search.result.psr/search.result.psr.component';\r\n\r\nimport { ContentViewerModule } from '../content-viewer/content-viewer.module';\r\n\r\nlibrary.add(faHome, faTable, faShare, faThumbsDown, faThumbsUp, faSync, faMedkit, faFileAlt);\r\n\r\n@NgModule({\r\n imports: [\r\n\t CommonModule,\r\n\t RouterModule,\r\n\t ReactiveFormsModule,\r\n\t BrowserAnimationsModule,\r\n\r\n\t FontAwesomeModule,\r\n\t AccordionModule,\r\n\t TabsModule,\r\n\t BsDropdownModule,\r\n\t CollapseModule,\r\n\t MomentModule,\r\n\t PagerModule,\r\n\t TruncateModule,\r\n\r\n\t SharedModule,\r\n\t SearchRoutingModule,\r\n\t ContentViewerModule\r\n ],\r\n declarations: [\r\n\t SearchComponent,\r\n\t ArticleSearchResultComponent,\r\n\t IncidentSearchResultComponent,\r\n\t PartnerServiceRequestSearchResultComponent\r\n ],\r\n providers: [\r\n\t SearchService\r\n ]\r\n})\r\nexport class SearchModule { }\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\shared\\\\components\\\\checkbox-group\\\\checkbox-group.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9jb21wb25lbnRzL2NoZWNrYm94LWdyb3VwL2NoZWNrYm94LWdyb3VwLmNvbXBvbmVudC5zY3NzIn0= */\"","import { Component, Input, forwardRef } from '@angular/core';\r\nimport { FormGroup, NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\r\n\r\nimport { CheckboxItem } from '../../models/checkbox-item.model';\r\n\r\n\r\nvar noOp = () => { };\r\n\r\nexport const CHECKBOX_GROUP_VALUE_ACCESSOR: any = {\r\n\tprovide: NG_VALUE_ACCESSOR,\r\n\tuseExisting: forwardRef(() => CheckboxGroupComponent),\r\n\tmulti: true,\r\n};\r\n\r\n@Component({\r\n\tselector: 'app-checkbox-group',\r\n\ttemplateUrl: './checkbox-group.component.pug',\r\n\tstyleUrls: ['./checkbox-group.component.scss'],\r\n\tproviders: [CHECKBOX_GROUP_VALUE_ACCESSOR]\r\n})\r\nexport class CheckboxGroupComponent implements ControlValueAccessor {\r\n\r\n\tprivate onTouchedCallback: () => void = noOp;\r\n\r\n\tprivate onChangeCallback: (_: any) => void = noOp;\r\n\r\n\tprivate _model: any;\r\n\r\n\t//@Input(\"group\")\r\n\t//public formGroup: FormGroup;\r\n\r\n\t@Input()\r\n\tgroupLabel: string = \"11\";\r\n\r\n\t@Input()\r\n\tincludeSelectAll: boolean = true;\r\n\r\n\t@Input()\r\n\toptions: Array = null;\r\n\r\n\tpublic get model(): any {\r\n\t\treturn this._model;\r\n\t}\r\n\r\n\tpublic set(value: any) {\r\n\t\tthis._model = value;\r\n\t\tthis.onChangeCallback(this._model);\r\n\t}\r\n\r\n\tpublic writeValue(value: any): void {\r\n\t\tthis._model = value;\r\n\t}\r\n\r\n\tpublic registerOnChange(fn: any): void {\r\n\t\tthis.onChangeCallback = fn;\r\n\t}\r\n\r\n\tpublic registerOnTouched(fn: any): void {\r\n\t\tthis.onTouchedCallback = fn;\r\n\t}\r\n\r\n\tpublic addOrRemove(value: any): void {\r\n\t\tif (this.contains(value)) {\r\n\t\t\tthis.remove(value);\r\n\t\t}\r\n\t\telse {\r\n\t\t\tthis.add(value);\r\n\t\t}\r\n\t}\r\n\r\n\tpublic contains(value: any): boolean {\r\n\t\tif (this._model instanceof Array) {\r\n\t\t\treturn this._model.indexOf(value) > -1;\r\n\t\t}\r\n\t\telse if (!!this._model) {\r\n\t\t\treturn this._model == value;\r\n\t\t}\r\n\r\n\t\treturn false;\r\n\t}\r\n\r\n\tprivate add(value: any): void {\r\n\t\tif (!this.contains(value)) {\r\n\t\t\tif (this._model instanceof Array) {\r\n\t\t\t\tthis._model.push(value);\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tthis._model = value;\r\n\t\t\t}\r\n\r\n\t\t\tthis.onChangeCallback(this._model);\r\n\t\t}\r\n\t}\r\n\r\n\tprivate remove(value: any) {\r\n\t\tconst index = this._model.indexOf(value);\r\n\r\n\t\tif (!this._model || index < 0) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis._model.splice(index, 1);\r\n\r\n\t\tthis.onChangeCallback(this._model);\r\n\t}\r\n\r\n}\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\shared\\\\components\\\\checkbox\\\\checkbox.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9jb21wb25lbnRzL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudC5zY3NzIn0= */\"","import { Component, Host, Input } from '@angular/core';\r\n\r\nimport { CheckboxGroupComponent } from '../checkbox-group/checkbox-group.component';\r\n\r\n@Component({\r\n\tselector: 'app-checkbox',\r\n\ttemplateUrl: './checkbox.component.pug',\r\n\tstyleUrls: ['./checkbox.component.scss']\r\n})\r\nexport class CheckboxComponent {\r\n\r\n\t@Input()\r\n\tvalue: any;\r\n\r\n\tconstructor(@Host() private _checkboxGroup: CheckboxGroupComponent) {\r\n\t}\r\n\r\n\tpublic toggleCheck(): void {\r\n\t\tthis._checkboxGroup.addOrRemove(this.value);\r\n\t}\r\n\r\n\tpublic isChecked(): boolean {\r\n\t\treturn this._checkboxGroup.contains(this.value);\r\n\t}\r\n\r\n}\r\n","module.exports = \"
\\r\\n\\r\\n\\t
\\r\\n\\t\\t
Be the first to comment.
\\r\\n\\t
\\r\\n\\r\\n\\t
\\r\\n\\t\\t
\\r\\n\\t\\t\\t\\r\\n\\t\\t\\t
\\r\\n\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t
\\r\\n\\t\\t\\t
\\r\\n\\t\\t
\\r\\n\\t
\\r\\n\\r\\n\\t
\\r\\n\\t\\t
\\r\\n\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t
\\r\\n\\t\\t\\t\\r\\n\\t\\t
\\r\\n\\t
\\r\\n\\r\\n
\\r\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9jb21wb25lbnRzL2NvbW1lbnRzL2NvbW1lbnQtdGhyZWFkcy9jb21tZW50LXRocmVhZHMuY29tcG9uZW50LnNjc3MifQ== */\"","import { Component, AfterViewInit, Input, OnDestroy, OnInit } from '@angular/core';\r\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\r\nimport { Location } from '@angular/common';\r\nimport { Subscription } from 'rxjs';\r\nimport { CommentService } from '../../../../core/services/comments/comment.service';\r\nimport { Comment } from '../../../../core/models/comments/comment.model';\r\nimport { CommentViewModel } from '../../../../core/models/comments/comment-view.model';\r\n\r\n@Component({\r\n\tselector: 'app-comment-threads',\r\n\ttemplateUrl: './comment-threads.component.html',\r\n\tstyleUrls: ['./comment-threads.component.scss']\r\n})\r\nexport class CommentThreadsComponent implements OnInit, AfterViewInit, OnDestroy {\r\n\r\n\t@Input()\r\n\tpublic threadId: string;\r\n\r\n\t@Input()\r\n\tpublic threadTitle: string;\r\n\r\n\t@Input()\r\n\tpublic referenceId: string;\r\n\r\n\t@Input()\r\n\tpublic referenceVersion: string;\r\n\r\n\tpublic threadUrl: string;\r\n\r\n\tpublic comments: Array;\r\n\r\n\tpublic commentPlaceholder: string;\r\n\r\n\tprivate _subscription = new Subscription();\r\n\r\n\tpublic commentForm = new FormGroup({\r\n\t\tcommentInput: new FormControl('', Validators.required)\r\n\t});\r\n\r\n\tconstructor(private _commentService: CommentService,\r\n\t\tprivate _location: Location) { }\r\n\r\n\tngOnInit() {\r\n\t\tthis.commentPlaceholder = \"Please enter reply here ....\";\r\n\t\tthis.threadUrl = window.location.origin + this._location.path();\r\n\t}\r\n\r\n\tpublic ngAfterViewInit() {\r\n\t\tthis.getComments();\r\n\t}\r\n\r\n\tpublic cancelCommenting(event: any) {\r\n\t}\r\n\r\n\tpublic submit(): void {\r\n\t\tvar newCommentModel: CommentViewModel = {\r\n\t\t\tid: 0,\r\n\t\t\tuserId: \"\",\r\n\t\t\tisAnonymous: false,\r\n\t\t\tcontent: this.commentForm.value.commentInput,\r\n\t\t\tthreadId: this.threadId,\r\n\t\t\tparentId: 0,\r\n\t\t\tuserName: \"\",\r\n\t\t\tuserEmail: \"\",\r\n\t\t\turl: this.threadUrl,\r\n\t\t\ttitle: this.threadTitle,\r\n\t\t\treferenceId: this.referenceId,\r\n\t\t\treferenceVersion: this.referenceVersion\r\n\t\t};\r\n\t\t\r\n\t\tthis._subscription.add(this._commentService.addComment(newCommentModel)\r\n\t\t\t.subscribe(response => {\r\n\t\t\t\tthis.comments.push(response);\r\n\t\t\t\tthis.commentForm.setValue({ commentInput: \"\" });\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tpublic getComments() {\r\n\t\tthis._subscription.add(this._commentService.getComments(this.threadId)\r\n\t\t\t.subscribe(response => {\r\n\t\t\t\tthis.comments = response;\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis._subscription.unsubscribe();\r\n\t}\r\n\r\n}\r\n","module.exports = \"
\\r\\n\\t
\\r\\n\\t\\t
\\r\\n\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t
\\r\\n\\t\\t
\\r\\n\\r\\n\\t\\t
\\r\\n\\t\\t\\t
\\r\\n\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t{{comment?.userName}}\\r\\n\\t\\t\\t\\t\\t\\t{{comment.lastUpdated | amLocal | amTimeAgo}}\\r\\n\\t\\t\\t\\t\\t\\t edited\\r\\n\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t
\\r\\n\\t\\t\\t
\\r\\n\\t\\t
\\r\\n\\t
\\r\\n
\\r\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9jb21wb25lbnRzL2NvbW1lbnRzL2NvbW1lbnQvY29tbWVudC5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component, OnInit, Input, OnDestroy } from '@angular/core';\r\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\r\nimport { Location } from '@angular/common'\r\nimport { Subscription } from 'rxjs';\r\nimport { CommentService } from '../../../../core/services/comments/comment.service';\r\nimport { UserProfileService } from '../../../../core/services/user-profiles/user-profile.service';\r\nimport { Comment } from '../../../../core/models/comments/comment.model';\r\nimport { CommentViewModel } from '../../../../core/models/comments/comment-view.model';\r\n\r\n@Component({\r\n\tselector: 'app-comment',\r\n\ttemplateUrl: './comment.component.html',\r\n\tstyleUrls: ['./comment.component.scss']\r\n})\r\nexport class CommentComponent implements OnInit, OnDestroy {\r\n\r\n\t@Input(\"comment\")\r\n\tpublic comment: Comment;\r\n\r\n\t@Input(\"parent\")\r\n\tpublic parentComment: Comment;\r\n\r\n\t@Input()\r\n\tpublic threadId: string;\r\n\r\n\t@Input()\r\n\tpublic threadTitle: string;\r\n\r\n\t@Input()\r\n\tpublic referenceId: string;\r\n\r\n\t@Input()\r\n\tpublic referenceVersion: string;\r\n\r\n\tpublic threadUrl: string;\r\n\r\n\tpublic replying: boolean;\r\n\r\n\tpublic editing: boolean;\r\n\r\n\tpublic commentPlaceholder: string;\r\n\r\n\tpublic userId: string;\r\n\r\n\tprivate _subscription = new Subscription();\r\n\r\n\tpublic commentForm = new FormGroup({\r\n\t\tcommentInput: new FormControl('', Validators.required)\r\n\t});\r\n\r\n\tconstructor(private _profileService: UserProfileService,\r\n\t\tprivate _commentService: CommentService,\r\n\t\tprivate _location: Location) { }\r\n\r\n\tngOnInit() {\r\n\t\tthis.getCurrentUser();\r\n\t\tthis.threadUrl = window.location.origin + this._location.path();\r\n\t}\r\n\r\n\tprivate commentReply(): void {\r\n\t\tthis.replying = true;\r\n\t\tthis.editing = false;\r\n\t\tthis.commentForm.setValue({ commentInput: \"\" });\r\n\t\tthis.commentPlaceholder = \"Please enter reply here ....\";\r\n\t}\r\n\r\n\tprivate commentEdit(): void {\r\n\t\tthis.editing = true;\r\n\t\tthis.replying = false;\r\n\t\tthis.commentForm.setValue({ commentInput: this.comment.content });\r\n\t}\r\n\r\n\tprivate submit(): void {\r\n\t\tif (this.editing) {\r\n\t\t\tthis.editing = false;\r\n\t\t\tthis.submitEdit();\r\n\t\t}\r\n\t\telse {\r\n\t\t\tthis.replying = false;\r\n\t\t\tthis.submitReply();\r\n\t\t}\r\n\t}\r\n\r\n\tprivate cancelCommenting(event: any) {\r\n\t\tthis.replying = false;\r\n\t\tthis.editing = false;\r\n\t}\r\n\r\n\tprivate submitReply(): void {\r\n\t\tvar newCommentModel: CommentViewModel = {\r\n\t\t\tid: 0,\r\n\t\t\tuserId: this.userId,\r\n\t\t\tisAnonymous: false,\r\n\t\t\tcontent: this.commentForm.value.commentInput,\r\n\t\t\tthreadId: this.comment.thread.id == null ? this.parentComment.thread.id : this.comment.thread.id,\r\n\t\t\tparentId: this.comment.id == null ? this.parentComment.id : this.comment.id,\r\n\t\t\tuserName: \"\",\r\n\t\t\tuserEmail: \"\",\r\n\t\t\turl: this.threadUrl,\r\n\t\t\ttitle: this.comment.thread.title,\r\n\t\t\treferenceId: this.referenceId,\r\n\t\t\treferenceVersion: this.referenceVersion\r\n\t\t};\r\n\t\t\r\n\t\tthis._subscription.add(\r\n\t\t\tthis._commentService.addComment(newCommentModel)\r\n\t\t\t\t.subscribe(response => {\r\n\r\n\t\t\t\t\tif (this.parentComment) {\r\n\t\t\t\t\t\tthis.parentComment.replies.push(response);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tif (this.comment.replies) {\r\n\t\t\t\t\t\t\tthis.comment.replies.push(response);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\tthis.comment.replies = Array();\r\n\t\t\t\t\t\t\tthis.comment.replies[0] = response;\r\n\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tprivate submitEdit(): void {\r\n\t\tvar newCommentModel: CommentViewModel = {\r\n\t\t\tid: this.comment.id,\r\n\t\t\tuserId: this.userId,\r\n\t\t\tisAnonymous: false,\r\n\t\t\tcontent: this.commentForm.value.commentInput,\r\n\t\t\tthreadId: this.comment.thread.id,\r\n\t\t\tparentId: null,\r\n\t\t\tuserName: \"\",\r\n\t\t\tuserEmail: \"\",\r\n\t\t\turl: this.threadUrl,\r\n\t\t\ttitle: this.comment.thread.title,\r\n\t\t\treferenceId: this.referenceId,\r\n\t\t\treferenceVersion: this.referenceVersion\r\n\t\t};\r\n\t\t\r\n\t\tthis._subscription.add(\r\n\t\t\tthis._commentService.updateComment(newCommentModel)\r\n\t\t\t\t.subscribe(response => {\r\n\t\t\t\t\tthis.comment.content = response.content;\r\n\t\t\t\t\tthis.comment.lastUpdated = response.lastUpdated;\r\n\t\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tprivate getCurrentUser() {\r\n\t\tthis._subscription.add(\r\n\t\t\tthis._profileService\r\n\t\t\t\t.getMyProfile()\r\n\t\t\t\t.subscribe(\r\n\t\t\t\t\tprofile => {\r\n\t\t\t\t\t\tthis.userId = profile.id;\r\n\t\t\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis._subscription.unsubscribe();\r\n\t}\r\n\r\n}\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\shared\\\\components\\\\confirmation-dialog\\\\confirmation-dialog.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9jb21wb25lbnRzL2NvbmZpcm1hdGlvbi1kaWFsb2cvY29uZmlybWF0aW9uLWRpYWxvZy5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component, Input, Output, EventEmitter } from '@angular/core';\r\nimport { ModalDirective, BsModalRef } from 'ngx-bootstrap';\r\n\r\n@Component({\r\n\tselector: 'app-confirmation-dialog',\r\n\ttemplateUrl: './confirmation-dialog.component.pug',\r\n\tstyleUrls: ['./confirmation-dialog.component.scss']\r\n})\r\nexport class ConfirmationDialogComponent {\r\n\r\n\t@Input()\r\n\tpublic title: string = \"Confirmation\";\r\n\r\n\t@Input()\r\n\tpublic message: string = \"Are you sure you want to complete this action?\";\r\n\r\n\t@Input()\r\n\tpublic okText: string = \"Yes\";\r\n\r\n\t@Input()\r\n\tpublic cancelText: string = \"No\";\r\n\r\n\t@Output()\r\n\tpublic onResponseSelected = new EventEmitter();\r\n\r\n\tconstructor(private _bsModalRef: BsModalRef) {\r\n\t}\r\n\r\n\tpublic response(isPositive: boolean): void {\r\n\t\tthis.onResponseSelected.emit(isPositive);\r\n\t\tthis._bsModalRef.hide();\r\n\t}\r\n\r\n}\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\shared\\\\components\\\\create-metallic-ticket\\\\create-metallic-ticket.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \".button-row {\\n display: flex;\\n flex-wrap: nowrap;\\n justify-content: flex-end;\\n align-items: center;\\n padding: 0px 15px; }\\n\\n.contact-wrapper {\\n border: 1px solid rgba(0, 0, 0, 0.125);\\n margin-top: 1.25rem; }\\n\\n.contact-wrapper .contact-heading {\\n background-color: #f4f4f4;\\n padding: 5px 10px; }\\n\\n.contact-wrapper .contact-details {\\n padding: 1.25rem; }\\n\\n.plus-btn {\\n border: 1px solid #ced4da; }\\n\\n.plus-btn:hover, .plus-btn:focus, .plus-btn.active, .plus-btn:active {\\n color: #000000 !important;\\n background-color: #ffffff !important;\\n border-color: #ced4da !important;\\n box-shadow: none !important; }\\n\\n.form-check-custom {\\n margin-right: 5px;\\n cursor: pointer; }\\n\\n.invalid-field {\\n border-color: #ff4a6a; }\\n\\n.is-invalid {\\n background-image: none; }\\n\\n.float-right {\\n float: right; }\\n\\n.textField {\\n font-weight: normal; }\\n\\n.is-critical {\\n border-color: #ff4a6a;\\n background-color: #f3d7dc; }\\n\\n.is-critical:focus {\\n box-shadow: 0 0 0 0.2rem rgba(0, 160, 211, 0.25) !important; }\\n\\n.is-critical ~ .invalid-feedback {\\n display: block; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2NvbXBvbmVudHMvY3JlYXRlLW1ldGFsbGljLXRpY2tldC9DOlxcVXNlcnNcXG1qb3NoaVxcc291cmNlXFxyZXBvc1xcQWxleGFuZHJpYVxcQWxleGFuZHJpYVxcQWxleGFuZHJpYS5XZWJzaXRlXFxDbGllbnRBcHAvc3JjXFxhcHBcXHNoYXJlZFxcY29tcG9uZW50c1xcY3JlYXRlLW1ldGFsbGljLXRpY2tldFxcY3JlYXRlLW1ldGFsbGljLXRpY2tldC5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLGFBQWE7RUFDYixpQkFBaUI7RUFDakIseUJBQXlCO0VBQ3pCLG1CQUFtQjtFQUNuQixpQkFBaUIsRUFBQTs7QUFHckI7RUFDSSxzQ0FBc0M7RUFDdEMsbUJBQW1CLEVBQUE7O0FBRnZCO0lBS1EseUJBQXlCO0lBQ3pCLGlCQUFpQixFQUFBOztBQU56QjtJQVVRLGdCQUFnQixFQUFBOztBQUl4QjtFQUNJLHlCQUF5QixFQUFBOztBQUQ3QjtJQUlRLHlCQUF5QjtJQUN6QixvQ0FBb0M7SUFDcEMsZ0NBQWdDO0lBQ2hDLDJCQUEyQixFQUFBOztBQUluQztFQUNJLGlCQUFpQjtFQUNqQixlQUFlLEVBQUE7O0FBR25CO0VBQ0kscUJBQXFCLEVBQUE7O0FBR3pCO0VBQ0ksc0JBQXNCLEVBQUE7O0FBRzFCO0VBQ0ksWUFBWSxFQUFBOztBQUdoQjtFQUNJLG1CQUFtQixFQUFBOztBQUd2QjtFQUNJLHFCQUFxQjtFQUNyQix5QkFBeUIsRUFBQTs7QUFGN0I7SUFLUSwyREFBMkQsRUFBQTs7QUFMbkU7SUFTUSxjQUFjLEVBQUEiLCJmaWxlIjoic3JjL2FwcC9zaGFyZWQvY29tcG9uZW50cy9jcmVhdGUtbWV0YWxsaWMtdGlja2V0L2NyZWF0ZS1tZXRhbGxpYy10aWNrZXQuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuYnV0dG9uLXJvdyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiBub3dyYXA7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHBhZGRpbmc6IDBweCAxNXB4O1xyXG59XHJcblxyXG4uY29udGFjdC13cmFwcGVyIHtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xMjUpO1xyXG4gICAgbWFyZ2luLXRvcDogMS4yNXJlbTtcclxuXHJcbiAgICAuY29udGFjdC1oZWFkaW5nIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNGY0O1xyXG4gICAgICAgIHBhZGRpbmc6IDVweCAxMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5jb250YWN0LWRldGFpbHMge1xyXG4gICAgICAgIHBhZGRpbmc6IDEuMjVyZW07XHJcbiAgICB9XHJcbn1cclxuXHJcbi5wbHVzLWJ0biB7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2VkNGRhO1xyXG5cclxuICAgICY6aG92ZXIsICY6Zm9jdXMsICYuYWN0aXZlLCAmOmFjdGl2ZSB7XHJcbiAgICAgICAgY29sb3I6ICMwMDAwMDAgIWltcG9ydGFudDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjY2VkNGRhICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4uZm9ybS1jaGVjay1jdXN0b20ge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5pbnZhbGlkLWZpZWxkIHtcclxuICAgIGJvcmRlci1jb2xvcjogI2ZmNGE2YTtcclxufVxyXG5cclxuLmlzLWludmFsaWQge1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcclxufVxyXG5cclxuLmZsb2F0LXJpZ2h0IHtcclxuICAgIGZsb2F0OiByaWdodDtcclxufVxyXG5cclxuLnRleHRGaWVsZCB7XHJcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG59XHJcblxyXG4uaXMtY3JpdGljYWwge1xyXG4gICAgYm9yZGVyLWNvbG9yOiAjZmY0YTZhO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZDdkYztcclxuXHJcbiAgICAmOmZvY3VzIHtcclxuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgwLCAxNjAsIDIxMSwgMC4yNSkgIWltcG9ydGFudDsgXHJcbiAgICB9XHJcblxyXG4gICAgfi5pbnZhbGlkLWZlZWRiYWNrIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxufSJdfQ== */\"","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { DropDownListComponent } from '@syncfusion/ej2-angular-dropdowns';\r\nimport { BsModalRef, BsModalService, TypeaheadMatch } from 'ngx-bootstrap';\r\nimport { Observable, Subscription } from 'rxjs';\r\nimport { CommCell } from '../../../core/models/comm-cells/comm-cell.model';\r\nimport { Category } from '../../../core/models/incidents/incident-category.model';\r\nimport { Contact, ContactRes } from '../../../core/models/incidents/incident-contact.model';\r\nimport { Incident } from '../../../core/models/incidents/incident.model';\r\nimport { UserProfile } from '../../../core/models/user-profiles/user-profile.model';\r\nimport { AlertService } from '../../../core/services/alert/alert.service';\r\nimport { IncidentService } from '../../../core/services/incidents/incident.service';\r\nimport { UserProfileService } from '../../../core/services/user-profiles/user-profile.service';\r\nimport { ConfigurationService } from '../../../modules/runtime-configuration/services/configuration.service';\r\nimport { MetallicTicketModel } from '../../models/metallic-ticket.model';\r\nimport { MetallicTicketConfirmationComponent } from '../metallic-ticket-confirmation/metallic-ticket-confirmation.component';\r\n\r\n@Component({\r\n selector: 'app-create-metallic-ticket',\r\n templateUrl: './create-metallic-ticket.component.pug',\r\n styleUrls: ['./create-metallic-ticket.component.scss']\r\n})\r\nexport class CreateMetallicTicketComponent implements OnInit {\r\n\r\n public metallicTicketModel = new MetallicTicketModel();\r\n\r\n public contactMethodData: any = [{'id': '279660000', 'value': 'Email'}, {'id':'279660001', 'value': 'Phone Call'}];\r\n public contactMethodFields = { text: 'value', value: 'id' };\r\n public severityData: any = [{'id': '1', 'value': 'Low'}, {'id': '279660000', 'value': 'Medium'}, {'id': '279660001' , 'value': 'High'}, {'id': '279660002', 'value': 'Critical'}];\r\n public severityFields = { text: 'value', value: 'id' };\r\n public subscriptionData: any = [];\r\n public productData: any;\r\n \r\n public showContact: boolean = false;\r\n public isTenantIDValid: boolean = true;\r\n public isContactValid: boolean = true;\r\n public isContactMethodValid: boolean = true;\r\n public isContactDetailsValid: boolean = true;\r\n public isProductTypeValid: boolean = true;\r\n public isSubscriptionTypeValid: boolean = true;\r\n public isSeverityValid: boolean = true;\r\n public isBusinessImpactValid: boolean = true;\r\n public isDetailedDesValid: boolean = true;\r\n public isBriefDesValid: boolean = true;\r\n public isLastNameValid: boolean = true;\r\n public isFirstNameValid: boolean = true;\r\n public isEmailValid: boolean = true;\r\n public isPhoneValid: boolean = true;\r\n public isFormValidated: boolean = false;\r\n public isValidTenantID: boolean = true;\r\n public isContactDisabled: boolean = false;\r\n public isValidEmail: boolean = true;\r\n public contactTypeAhead: any;\r\n public commCellDetails: any;\r\n public caseID: string;\r\n public contactID: any;\r\n public productFields: Object;\r\n public subscriptionFields: Object;\r\n public subscriptionID: any;\r\n public secondaryContactId: string;\r\n public profile: UserProfile;\r\n public fullName: string[];\r\n public isValidContact: boolean = true;\r\n public companyName: string;\r\n public activeSubscription: any;\r\n public additionalSubscription: any;\r\n public caseSubmittedBy: string;\r\n public selectedContact: Contact;\r\n\r\n public defaultValue: string = '279660000';\r\n\r\n public placeholderText: string = 'Please explain why you need a Severity 1 response (eg mission critical servers are down). Otherwise, please select a more appropriate severity level.';\r\n\r\n private _subscription = new Subscription(); \r\n\r\n @ViewChild('subDropdown')\r\n public subDropdownObject: DropDownListComponent;\r\n\r\n constructor(private _bsModalRef: BsModalRef, private _modalService: BsModalService, private _profileService: UserProfileService, private _incidentService: IncidentService, private _configSvc: ConfigurationService, private _alertService: AlertService) {\r\n this.contactTypeAhead = Observable.create((observer: any) => {\r\n this._incidentService.getMatchingContacts(this.metallicTicketModel.accountId,this.metallicTicketModel.contact).subscribe((result: any) => {\r\n if(result.isSuccess){\r\n if(result.response && result.response.length !== 0){\r\n observer.next(result.response);\r\n }\r\n }else {\r\n this._alertService.show('An unexpected error seems to have occurred. Why not try the action again or refreshing your page? Or you can contact the BITS team if the problem persists.');\r\n throw new Error(result.error[0]);\r\n }\r\n })\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.getProfile();\r\n this.metallicTicketModel.severity = '279660000';\r\n }\r\n\r\n validateForm(metallicTicketData) {\r\n if (!metallicTicketData.tenantID) {\r\n this.isTenantIDValid = false;\r\n }\r\n else { this.isTenantIDValid = true; }\r\n if (!this.showContact && !metallicTicketData.contact) {\r\n this.isContactValid = false;\r\n }\r\n else { this.isContactValid = true; }\r\n if (!metallicTicketData.contactMethod) {\r\n this.isContactMethodValid = false;\r\n }\r\n else { this.isContactMethodValid = true; }\r\n if (!metallicTicketData.contactDetails) {\r\n this.isContactDetailsValid = false;\r\n }\r\n else { this.isContactDetailsValid = true; }\r\n if (!metallicTicketData.subscriptionType) {\r\n this.isSubscriptionTypeValid = false;\r\n }\r\n else { this.isSubscriptionTypeValid = true; }\r\n if (!metallicTicketData.productType) {\r\n this.isProductTypeValid = false;\r\n }\r\n else { this.isProductTypeValid = true; }\r\n if (!this.metallicTicketModel.severity) {\r\n this.isSeverityValid = false;\r\n }\r\n else { this.isSeverityValid = true; }\r\n if (!metallicTicketData.businessImpact && metallicTicketData.severity === \"279660002\") {\r\n this.isBusinessImpactValid = false;\r\n }\r\n else { this.isBusinessImpactValid = true; }\r\n if (!metallicTicketData.briefDes) {\r\n this.isBriefDesValid = false;\r\n }\r\n else if( metallicTicketData.briefDes.length > 300) {\r\n this.isBriefDesValid = false;\r\n }\r\n else { this.isBriefDesValid = true; }\r\n if (!metallicTicketData.detailedDes) {\r\n this.isDetailedDesValid = false;\r\n }\r\n else if( metallicTicketData.detailedDes.length > 1048576) {\r\n this.isDetailedDesValid = false;\r\n }\r\n else { this.isDetailedDesValid = true; }\r\n if(this.showContact) {\r\n if (!metallicTicketData.lastName) {\r\n this.isLastNameValid = false;\r\n }\r\n else { this.isLastNameValid = true; }\r\n if (!metallicTicketData.firstName) {\r\n this.isFirstNameValid = false;\r\n }\r\n else { this.isFirstNameValid = true; }\r\n if (!metallicTicketData.email) {\r\n this.isEmailValid = false;\r\n }\r\n else { this.isEmailValid = true; }\r\n if(metallicTicketData.email && !this.validateEmail(metallicTicketData.email)){\r\n this.isValidEmail = false;\r\n }\r\n else{ this.isValidEmail = true; }\r\n if (!metallicTicketData.phone) {\r\n this.isPhoneValid = false;\r\n }\r\n else { this.isPhoneValid = true; }\r\n }\r\n if(!this.showContact && metallicTicketData.contact && !this.contactID){\r\n this.isValidContact= false;\r\n }\r\n else{ this.isValidContact = true; }\r\n\r\n this.isFormValidated = (this.isTenantIDValid && this.isValidTenantID && this.isContactValid && this.isValidContact && this.isContactMethodValid && this.isContactDetailsValid && this.isSubscriptionTypeValid && this.isProductTypeValid \r\n && this.isSeverityValid && this.isBusinessImpactValid && this.isBriefDesValid && this.isDetailedDesValid && this.isLastNameValid && this.isFirstNameValid && this.isEmailValid && this.isValidEmail && this.isPhoneValid);\r\n\r\n return this.isFormValidated;\r\n }\r\n\r\n public validateEmail(email) {\r\n return email.match(new RegExp(\"^[a-z0-9._%+-]+@[a-z0-9.-]+\\.[a-z]{2,4}$\"));\r\n }\r\n\r\n public validateTenantId(event) {\r\n let tenantId = event.target.value;\r\n tenantId = tenantId.toLocaleLowerCase().replace(/-/g, \"\").slice(0,10);\r\n let response = this._incidentService.getCommcell(tenantId).then(data => {\r\n if(data.isSuccess){\r\n if(data.response){\r\n this.commCellDetails = data.response;\r\n this.isValidTenantID = true;\r\n this.isContactDisabled = true;\r\n this.metallicTicketModel.contact = \"\";\r\n this.subscriptionData = [];\r\n this.productData = [];\r\n this.metallicTicketModel.company = data.response.customer.name;\r\n this.metallicTicketModel.accountId = data.response.customer.id;\r\n for(let i=0; i< data.response.subscriptionTypes.length; i++){\r\n data.response.subscriptionTypes[i].status = '---- Active Subscriptions ----';\r\n }\r\n this.activeSubscription = data.response.subscriptionTypes;\r\n this.getCategories();\r\n }\r\n else {\r\n this.isValidTenantID = false;\r\n } \r\n }else {\r\n this._alertService.show('An unexpected error seems to have occurred. Why not try the action again or refreshing your page? Or you can contact the BITS team if the problem persists.');\r\n throw new Error(data.error[0]);\r\n } \r\n });\r\n return this.isValidTenantID;\r\n }\r\n\r\n public getCategories(): void {\r\n let response = this._incidentService.getCategories(\"Metallic Classification\").then(data => {\r\n if(data.isSuccess){\r\n if(data.response){\r\n for(let i=0; i< data.response.length; i++){\r\n data.response[i].status = '---- Additional Subscription Types ----';\r\n }\r\n this.additionalSubscription = data.response;\r\n for(let i=0; i< this.activeSubscription.length; i++){\r\n let index = this.additionalSubscription.findIndex(val =>\r\n val.categoryId === this.activeSubscription[i].categoryId);\r\n if(index !== -1){\r\n this.additionalSubscription.splice(index,1);\r\n }\r\n }\r\n this.subscriptionData = [...this.activeSubscription,...this.additionalSubscription];\r\n this.subscriptionFields = { text: 'title', value: 'categoryId', groupBy: 'status' };\r\n } \r\n }else {\r\n this._alertService.show('An unexpected error seems to have occurred. Why not try the action again or refreshing your page? Or you can contact the BITS team if the problem persists.');\r\n throw new Error(data.error[0]);\r\n }\r\n });\r\n }\r\n\r\n public onCancel(): void {\r\n\t\tthis._bsModalRef.hide();\r\n\t}\r\n\r\n public addContact(): void {\r\n this.showContact = !this.showContact;\r\n this.metallicTicketModel.contact = \"\";\r\n this.metallicTicketModel.contactMethod = null;\r\n this.metallicTicketModel.contactDetails = \"\";\r\n }\r\n\r\n contactMethodChange(event): void {\r\n if(this.showContact) {\r\n if(event.item && event.item.id === '279660001') {\r\n this.metallicTicketModel.contactDetails = this.metallicTicketModel.phone;\r\n }else if(event.item && event.item.id === '279660000') {\r\n this.metallicTicketModel.contactDetails = this.metallicTicketModel.email;\r\n }\r\n }else {\r\n if(event.item && event.item.id === '279660001') {\r\n this.metallicTicketModel.contactDetails = this.selectedContact.phone;\r\n }else if(event.item && event.item.id === '279660000') {\r\n this.metallicTicketModel.contactDetails = this.selectedContact.emailAddress;\r\n }\r\n }\r\n \r\n }\r\n\r\n subscriptionChange(): void {\r\n this.subscriptionID = this.subDropdownObject.value;\r\n for (let i = 0; i < this.subscriptionData.length; i++) {\r\n if(this.subscriptionData[i].categoryId == this.subscriptionID){\r\n this.productData = this.subscriptionData[i].children;\r\n this.productFields = { text: 'title', value: 'categoryId' };\r\n }\r\n } \r\n }\r\n\r\n public getProfile():void {\r\n this._subscription.add(\r\n this._profileService.getMyProfile()\r\n .subscribe(data => {\r\n this.profile = data;\r\n })\r\n )\r\n }\r\n\r\n public onSelect(event: TypeaheadMatch): void { \r\n this.contactID = event.item.id;\r\n this.selectedContact = event.item;\r\n this.metallicTicketModel.contactMethod = event.item.preferredContactMethodId;\r\n if(this.metallicTicketModel.contactMethod === '279660001') {\r\n this.metallicTicketModel.contactDetails = event.item.phone;\r\n }else {\r\n this.metallicTicketModel.contactDetails = event.item.emailAddress;\r\n }\r\n } \r\n\r\n public ticketCreated(metallicTicketData): void {\r\n if(this.validateForm(metallicTicketData)){\r\n this.createContact();\r\n }\r\n\t}\r\n\r\n public createContact(){\r\n if(this.showContact){\r\n let contact = new Contact();\r\n contact.firstName = this.metallicTicketModel.firstName;\r\n contact.lastName = this.metallicTicketModel.lastName;\r\n contact.emailAddress = this.metallicTicketModel.email;\r\n contact.phone = this.metallicTicketModel.phone;\r\n contact.customerId = this.commCellDetails && this.commCellDetails.customerId;\r\n let response = this._incidentService.createContact(contact).then(data => {\r\n if(data.isSuccess){\r\n if(data.response){\r\n this.contactID = data.response;\r\n this.createTicket();\r\n } \r\n }else {\r\n this._alertService.show('An unexpected error seems to have occurred. Why not try the action again or refreshing your page? Or you can contact the BITS team if the problem persists.');\r\n throw new Error(data.error[0]);\r\n }\r\n });\r\n }else {\r\n this.createTicket();\r\n }\r\n }\r\n\r\n public createTicket() {\r\n let incident = new Incident();\r\n incident.tenantID = this.metallicTicketModel.tenantID;\r\n incident.contactId = this.contactID;\r\n incident.preferredContactMethodId = this.metallicTicketModel.contactMethod;\r\n incident.contactDetails = this.metallicTicketModel.contactDetails;\r\n incident.subscriptionType = this.metallicTicketModel.subscriptionType;\r\n incident.productType = this.metallicTicketModel.productType;\r\n incident.severity = this.metallicTicketModel.severity;\r\n incident.businessImpact = this.metallicTicketModel.businessImpact;\r\n incident.title = this.metallicTicketModel.briefDes;\r\n incident.description = this.metallicTicketModel.detailedDes;\r\n incident.caseOriginCode = '3';\r\n incident.applicationServicePack = '772370061';\r\n incident.applicationMajorVersion = '772370021';\r\n incident.supportType = this._configSvc.configuration.supportType;\r\n incident.preferredLanguage = \"English\";\r\n incident.commCellId = this.commCellDetails && this.commCellDetails.name;\r\n incident.accountId = this.commCellDetails && this.commCellDetails.customerId;\r\n incident.supportTeamId = this._configSvc.configuration.metallicCaseSupportTeamId;\r\n\r\n this.getSecondaryContact(incident);\r\n }\r\n\r\n public getSecondaryContact(incident) {\r\n let response = this._incidentService.getSecondaryContacts(this.profile.email).then(data => {\r\n if(data.isSuccess){\r\n if(data.response && data.response.length !== 0){\r\n this.caseSubmittedBy = data.response[0].id;\r\n incident.caseSubmittedBy = this.caseSubmittedBy;\r\n this.createIncident(incident);\r\n }else {\r\n this.addSecondaryContact(incident);\r\n }\r\n }else {\r\n this._alertService.show('An unexpected error seems to have occurred. Why not try the action again or refreshing your page? Or you can contact the BITS team if the problem persists.');\r\n throw new Error(data.error[0]);\r\n }\r\n })\r\n }\r\n\r\n public addSecondaryContact(incident){\r\n let contact = new Contact();\r\n this.fullName = this.profile.displayName && this.profile.displayName.split(\" \");\r\n if(this.fullName[0]){\r\n contact.firstName = this.fullName[0];\r\n }\r\n if(this.fullName[1]){\r\n contact.lastName = this.fullName[1];\r\n }\r\n contact.emailAddress = this.profile.email;\r\n\r\n let response = this._incidentService.createContact(contact).then(data => {\r\n if(data.isSuccess){\r\n if(data.response){\r\n this.caseSubmittedBy = data.response;\r\n incident.caseSubmittedBy = this.caseSubmittedBy;\r\n this.createIncident(incident);\r\n }\r\n }else {\r\n this._alertService.show('An unexpected error seems to have occurred. Why not try the action again or refreshing your page? Or you can contact the BITS team if the problem persists.');\r\n throw new Error(data.error[0]);\r\n }\r\n });\r\n }\r\n\r\n public createIncident(incident) {\r\n if(this.metallicTicketModel.visibility) {\r\n incident.secondaryContactId = incident.caseSubmittedBy;\r\n }\r\n let response = this._incidentService.createTicket(incident).then(data => {\r\n if(data.isSuccess){\r\n if(data.response){\r\n this._bsModalRef.hide();\r\n this._bsModalRef = this._modalService.show(MetallicTicketConfirmationComponent);\r\n this._bsModalRef.content.caseID = data.response;\r\n }\r\n }else {\r\n this._alertService.show('An unexpected error seems to have occurred. Why not try the action again or refreshing your page? Or you can contact the BITS team if the problem persists.');\r\n throw new Error(data.error[0]);\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n\t\tthis._subscription.unsubscribe();\r\n\t}\r\n\r\n}\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\shared\\\\components\\\\internal-case\\\\internal-case.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9jb21wb25lbnRzL2ludGVybmFsLWNhc2UvaW50ZXJuYWwtY2FzZS5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component, OnInit } from '@angular/core';\r\nimport { BsModalService, BsModalRef } from 'ngx-bootstrap';\r\nimport { CreateMetallicTicketComponent } from '../create-metallic-ticket/create-metallic-ticket.component';\r\nimport { ConfigurationService } from '../../../modules/runtime-configuration/services/configuration.service';\r\n\r\n@Component({\r\n selector: 'app-internal-case',\r\n templateUrl: './internal-case.component.pug',\r\n styleUrls: ['./internal-case.component.scss']\r\n})\r\nexport class InternalCaseComponent implements OnInit {\r\n\r\n\tprivate _modalRef: BsModalRef;\r\n\r\n\tconstructor(private _modalService: BsModalService, private _configSvc: ConfigurationService) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n\tpublic createMetallic(): void {\r\n\t\twindow.open(this._configSvc.configuration.caseCreationUrl.concat(\"/New-SaaS-Case/\"));\r\n\t}\r\n\r\n\tpublic createSoftwareSupportCase(): void {\r\n\t\twindow.open(this._configSvc.configuration.caseCreationUrl.concat(\"/New-Software-Case/\"));\r\n\t}\r\n}\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\shared\\\\components\\\\latest-articles\\\\latest-articles.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9jb21wb25lbnRzL2xhdGVzdC1hcnRpY2xlcy9sYXRlc3QtYXJ0aWNsZXMuY29tcG9uZW50LnNjc3MifQ== */\"","import { Component, OnInit, Input } from '@angular/core';\r\n\r\nimport { ArticleService } from '../../../core/services/articles/article.service';\r\n\r\nimport { LatestArticles } from '../../../core/models/articles/latest-articles.model';\r\n\r\n@Component({\r\n\tselector: 'app-latest-articles',\r\n\ttemplateUrl: './latest-articles.component.pug',\r\n\tstyleUrls: ['./latest-articles.component.scss']\r\n})\r\nexport class LatestArticlesComponent implements OnInit {\r\n\r\n\t@Input()\r\n\tisFlush: boolean = true;\r\n\r\n\tpublic articles: Array;\r\n\r\n\tpublic lastUpdated: Date;\r\n\r\n\tconstructor(private _articleService: ArticleService) {\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tthis._articleService.getLatestArticles()\r\n\t\t\t.subscribe(data => {\r\n\t\t\t\tthis.articles = data;\r\n\t\t\t\tthis.lastUpdated = new Date();\r\n\t\t\t});\r\n\t}\r\n\r\n}\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\shared\\\\components\\\\metallic-ticket-confirmation\\\\metallic-ticket-confirmation.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9jb21wb25lbnRzL21ldGFsbGljLXRpY2tldC1jb25maXJtYXRpb24vbWV0YWxsaWMtdGlja2V0LWNvbmZpcm1hdGlvbi5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component, OnInit } from '@angular/core';\r\nimport { BsModalRef } from 'ngx-bootstrap';\r\n\r\n@Component({\r\n selector: 'app-metallic-ticket-confirmation',\r\n templateUrl: './metallic-ticket-confirmation.component.pug',\r\n styleUrls: ['./metallic-ticket-confirmation.component.scss']\r\n})\r\nexport class MetallicTicketConfirmationComponent implements OnInit {\r\n public caseID;\r\n \r\n constructor(private _bsModalRef: BsModalRef) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n public onCancel(): void {\r\n\t\tthis._bsModalRef.hide();\r\n\t}\r\n\r\n}\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\shared\\\\components\\\\quick-escalation\\\\quick-escalation.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9jb21wb25lbnRzL3F1aWNrLWVzY2FsYXRpb24vcXVpY2stZXNjYWxhdGlvbi5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component, OnDestroy } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { Incident } from '../../../core/models/incidents/incident.model';\r\nimport { IncidentService } from '../../../core/services/incidents/incident.service';\r\nimport { BsModalService, BsModalRef } from 'ngx-bootstrap';\r\nimport { IncidentEscalationConfirmationComponent } from '../../../modules/content-viewer/components/incidents/incident-escalation-confirmation/incident-escalation-confirmation.component';\r\nimport { IncidentActivity } from '../../../core/models/incidents/incident-activity.model';\r\n\r\n@Component({\r\n\tselector: 'app-quick-escalation',\r\n\ttemplateUrl: './quick-escalation.component.pug',\r\n\tstyleUrls: ['./quick-escalation.component.scss']\r\n})\r\nexport class QuickEscalationComponent {\r\n\r\n\tprivate _modalRef: BsModalRef;\r\n\r\n\tprivate incident: Incident;\r\n\r\n\tpublic incidentId: string;\r\n\r\n\tpublic escalateForm: FormGroup;\r\n\r\n\tpublic submitted: boolean = false;\r\n\r\n\tpublic isActiveState: boolean = false;\r\n\r\n\tpublic isFieldEscalated: boolean = false;\r\n\r\n\tpublic lastActivity: IncidentActivity;\r\n\r\n\tconstructor(private fb: FormBuilder, private _incidentService: IncidentService, private _modalService: BsModalService) {\r\n\t\tthis.createForm();\r\n\t}\r\n\r\n\tprivate createForm(): void {\r\n\t\tthis.escalateForm = this.fb.group({\r\n\t\t\tescalateIncident: ['', Validators.required]\r\n\t\t});\r\n\t}\r\n\r\n\tprivate async isLastActivityFieldEscalation(incidentId): Promise {\r\n\t\tif (!incidentId) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\treturn await this._incidentService.isLastActivityFieldEscalation(incidentId).toPromise();\r\n\t}\r\n\r\n \tpublic onSubmit(): void {\r\n\t\tthis.incidentId = this.escalateForm.controls['escalateIncident'].value;\r\n\r\n\t\tif (!this.incidentId) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis._incidentService.getIncident(this.incidentId).subscribe(\r\n\t\t\tasync response => {\r\n\t\t\t\tthis.submitted = true;\r\n\t\t\t\tthis.incident = response;\r\n\r\n\t\t\t\tif (!this.incident) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tthis.isActiveState = this.incident.state.toLowerCase() == 'active' ? true : false;\r\n\r\n\t\t\t\tif (!this.isActiveState) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// make sure the last activity was not a field escalation\r\n\t\t\t\tthis.isFieldEscalated = await this.isLastActivityFieldEscalation(this.incident.id);\r\n\r\n\t\t\t\tif (this.isFieldEscalated) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tconst initialState = {\r\n\t\t\t\t\tid: this.incidentId,\r\n\t\t\t\t\tdescription: this.incident.description,\r\n\t\t\t\t\ttitle: this.incident.title,\r\n\t\t\t\t\tcustomerName: this.incident.contactName,\r\n\t\t\t\t\tcanEscalate: !this.isFieldEscalated && this.isActiveState,\r\n\t\t\t\t\tstatus: this.incident.status\r\n\t\t\t\t};\r\n\r\n\t\t\t\tthis._modalRef = this._modalService.show(IncidentEscalationConfirmationComponent, { initialState, class: 'modal-lg' });\r\n\t\t\t},\r\n\t\t\terror => {\r\n\t\t\t\t// this will display the error message undernath the input\r\n\t\t\t\tthis.submitted = true;\r\n\t\t\t\tthis.isActiveState = false;\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tpublic clearIncident(): void {\r\n\t\tthis.escalateForm.reset({\r\n\t\t\tincidentId: null\r\n\t\t});\r\n\r\n\t\tthis.submitted = false;\r\n\t\tthis.isFieldEscalated = false;\r\n\t\tthis.isActiveState = false;\r\n\r\n\t\tthis.escalateForm.markAsPristine();\r\n\t}\r\n\r\n}\r\n","module.exports = \"
\\r\\n\\t
\\r\\n\\t\\t

Share {{type}}

\\r\\n\\t\\t
\\r\\n\\t\\t\\t\\r\\n\\t\\t
\\r\\n\\t
\\r\\n\\r\\n\\t
\\r\\n\\t\\t
\\r\\n\\t\\t\\t
\\r\\n\\t\\t\\t\\r\\n\\t\\t\\t
\\r\\n\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\tUrl\\r\\n\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t
\\r\\n\\t\\t\\t
\\r\\n\\t\\t\\t
\\r\\n\\t\\t\\t
\\r\\n\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\tRecipients\\r\\n\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t
\\r\\n\\t\\t\\t
\\r\\n\\t\\t\\t
\\r\\n\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\tComments\\r\\n\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t
\\r\\n\\t\\t\\t
\\r\\n\\t\\t
\\r\\n\\t
\\r\\n\\r\\n\\t\\r\\n\\r\\n
\\r\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9jb21wb25lbnRzL3NoYXJlL3NoYXJlLmNvbXBvbmVudC5zY3NzIn0= */\"","import { Component, OnInit, Input, OnDestroy } from '@angular/core';\r\nimport { Location } from '@angular/common'\r\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\r\nimport { BsModalRef } from 'ngx-bootstrap/modal';\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { ShareService } from '../../../core/services/share/share.service';\r\nimport { ShareViewModel } from '../../../core/models/share/share.model';\r\n\r\n@Component({\r\n\tselector: 'app-share',\r\n\ttemplateUrl: './share.component.html',\r\n\tstyleUrls: ['./share.component.scss']\r\n})\r\nexport class ShareComponent implements OnInit {\r\n\r\n\t@Input()\r\n\tpublic type: string;\r\n\r\n\t@Input()\r\n\tpublic subject: string;\r\n\r\n\t@Input()\r\n\tpublic url: string;\r\n\r\n\tpublic message: string;\r\n\r\n\tprivate _subscription = new Subscription();\r\n\r\n\tpublic shareForm = new FormGroup({\r\n\t\turl: new FormControl('', Validators.required),\r\n\t\trecipentName: new FormControl('', Validators.required),\r\n\t\tcomment: new FormControl('')\r\n\t});\r\n\r\n\tconstructor(private _bsModalRef: BsModalRef,\r\n\t\tprivate _location: Location,\r\n\t\tprivate _shareService: ShareService) { }\r\n\r\n\tngOnInit() {\r\n\t\tif (!this.url) {\r\n\t\t\tthis.url = window.location.origin + this._location.path();\r\n\t\t}\r\n\r\n\t\tthis.shareForm.setValue({ url: this.url, recipentName: null, comment: null })\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis._subscription.unsubscribe();\r\n\t}\r\n\r\n\tpublic send(): void {\r\n\t\tvar request: ShareViewModel = {\r\n\t\t\trecipentName: this.shareForm.value.recipentName,\r\n\t\t\tcomment: this.shareForm.value.comment,\r\n\t\t\tsubject: this.subject,\r\n\t\t\ttype: this.type,\r\n\t\t\turl: this.url,\r\n\t\t\tsenderName: \"\"\r\n\t\t};\r\n\r\n\t\tthis._subscription.add(\r\n\t\t\tthis._shareService.share(request)\r\n\t\t\t\t.subscribe(response => {\r\n\t\t\t\t\tif (response == true) {\r\n\t\t\t\t\t\tthis._bsModalRef.hide();\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tthis.message = \"

We are sorry. There was a problem sharing the link. Please try again.

In the meantime, the CEA Team has been notified of the issue.

\";\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t);\r\n\r\n\t}\r\n\r\n\tpublic onCancel(): void {\r\n\t\tthis._bsModalRef.hide();\r\n\t}\r\n\r\n}\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\shared\\\\components\\\\simple-search\\\\simple-search.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9jb21wb25lbnRzL3NpbXBsZS1zZWFyY2gvc2ltcGxlLXNlYXJjaC5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component, Input } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { isBoolean } from 'ngx-bootstrap/chronos/utils/type-checks';\r\n\r\n@Component({\r\n\tselector: 'app-simple-search',\r\n\ttemplateUrl: './simple-search.component.pug',\r\n\tstyleUrls: ['./simple-search.component.scss']\r\n})\r\nexport class SimpleSearchComponent {\r\n\r\n\t@Input(\"incidentsOnly\")\r\n\tpublic incidentsOnly: boolean = false;\r\n\r\n\tpublic searchForm: FormGroup;\r\n\t\t\r\n\tconstructor(private fb: FormBuilder, private router: Router) {\r\n\t\tthis.createForm();\r\n\t}\r\n\r\n\tprivate createForm(): void {\r\n\t\tthis.searchForm = this.fb.group({\r\n\t\t\tsearchTerms: ['', Validators.required]\r\n\t\t});\r\n\t}\r\n\r\n\tpublic onSubmit(): void {\r\n\t\tvar searchValue = { q: this.searchForm.controls['searchTerms'].value, fq: '', explicitSearchTermsKeys: new Array(), explicitSearchTermsValues: new Array() };\r\n\t\tif (this.incidentsOnly) {\r\n\t\t\tsearchValue.fq = \"repository:Incidents\";\r\n\r\n\t\t\t// Complex Arrays cannot be sent through queryParams in the router\r\n\t\t\t// for example in this scenario the other end will simply find explicitSearchTerms[0] = [object Object]\r\n\t\t\t// to combat this separate them out to an array of keys and corresponding array of values\r\n\t\t\tsearchValue.explicitSearchTermsKeys.push('incidents');\r\n\t\t\tsearchValue.explicitSearchTermsValues.push('-incidentStatus:Closed');\r\n\t\t\tsearchValue.explicitSearchTermsKeys.push('incidents');\r\n\t\t\tsearchValue.explicitSearchTermsValues.push('-incidentStatus:Archived');\r\n\t\t}\r\n\r\n\t\tthis.router.navigate(['/search'], { queryParams: searchValue });\r\n\t}\r\n\r\n\tpublic clearSearch(): void {\r\n\t\tthis.searchForm.reset({\r\n\t\t\tsearchTerms: null\r\n\t\t});\r\n\t}\r\n\r\n}\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\shared\\\\components\\\\switch\\\\switch.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \".switch {\\n position: relative;\\n display: inline-block;\\n vertical-align: top;\\n width: 80px;\\n height: 30px;\\n padding: 3px;\\n background-color: none;\\n cursor: pointer;\\n overflow: visible; }\\n\\n.switch-input {\\n position: absolute;\\n top: 0;\\n left: 0;\\n opacity: 0; }\\n\\n.switch-label {\\n position: relative;\\n display: block;\\n height: inherit;\\n font-size: 16px;\\n font-weight: normal;\\n text-transform: uppercase;\\n background: #ccc;\\n border-radius: 4px;\\n transition: 0.15s ease-out;\\n transition-property: opacity background;\\n color: #2d2d2d; }\\n\\n.switch-label::before, .switch-label::after {\\n position: absolute;\\n top: 50%;\\n margin-top: -.5em;\\n line-height: 1;\\n transition: inherit; }\\n\\n.switch-label::before {\\n content: attr(data-off);\\n right: 11px;\\n color: #fff; }\\n\\n.switch-label::after {\\n content: attr(data-on);\\n left: 11px;\\n color: #fff;\\n opacity: 0; }\\n\\n.switch-handle {\\n position: absolute;\\n top: 9px;\\n left: 12px;\\n width: 18px;\\n height: 18px;\\n background: #fff;\\n border-radius: 10px;\\n box-shadow: 1px 1px 5px #2d2d2d;\\n transition: left 0.15s ease-out; }\\n\\n.checked .switch-label {\\n background: #4CAF50;\\n box-shadow: inset 0 1px 2px rgba(255, 255, 255, 0.5), inset 0 0 3px rgba(0, 0, 0, 0.15); }\\n\\n.checked .switch-label::before {\\n opacity: 0; }\\n\\n.checked .switch-label::after {\\n opacity: 1; }\\n\\n.checked .switch-handle {\\n left: 50px;\\n box-shadow: -1px 1px 5px rgba(45, 45, 45, 0.41); }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2NvbXBvbmVudHMvc3dpdGNoL0M6XFxVc2Vyc1xcbWpvc2hpXFxzb3VyY2VcXHJlcG9zXFxBbGV4YW5kcmlhXFxBbGV4YW5kcmlhXFxBbGV4YW5kcmlhLldlYnNpdGVcXENsaWVudEFwcC9zcmNcXGFwcFxcc2hhcmVkXFxjb21wb25lbnRzXFxzd2l0Y2hcXHN3aXRjaC5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNDLGtCQUFrQjtFQUNsQixxQkFBcUI7RUFDckIsbUJBQW1CO0VBQ25CLFdBQVc7RUFDWCxZQUFZO0VBQ1osWUFBWTtFQUNaLHNCQUFzQjtFQUN0QixlQUFlO0VBQ2YsaUJBQWlCLEVBQUE7O0FBR2xCO0VBQ0Msa0JBQWtCO0VBQ2xCLE1BQU07RUFDTixPQUFPO0VBQ1AsVUFBVSxFQUFBOztBQUdYO0VBQ0Msa0JBQWtCO0VBQ2xCLGNBQWM7RUFDZCxlQUFlO0VBQ2YsZUFBZTtFQUNmLG1CQUFtQjtFQUNuQix5QkFBeUI7RUFDekIsZ0JBQWdCO0VBQ2hCLGtCQUFrQjtFQUNsQiwwQkFBMEI7RUFDMUIsdUNBQXVDO0VBQ3ZDLGNBQWMsRUFBQTs7QUFHZjtFQUNDLGtCQUFrQjtFQUNsQixRQUFRO0VBQ1IsaUJBQWlCO0VBQ2pCLGNBQWM7RUFDZCxtQkFBbUIsRUFBQTs7QUFHcEI7RUFDQyx1QkFBdUI7RUFDdkIsV0FBVztFQUNYLFdBQVcsRUFBQTs7QUFHWjtFQUNDLHNCQUFzQjtFQUN0QixVQUFVO0VBQ1YsV0FBVztFQUNYLFVBQVUsRUFBQTs7QUFHWDtFQUNDLGtCQUFrQjtFQUNsQixRQUFRO0VBQ1IsVUFBVTtFQUNWLFdBQVc7RUFDWCxZQUFZO0VBQ1osZ0JBQWdCO0VBQ2hCLG1CQUFtQjtFQUNuQiwrQkFBK0I7RUFDL0IsK0JBQStCLEVBQUE7O0FBR2hDO0VBQ0MsbUJBQW1CO0VBQ25CLHVGQUF1RixFQUFBOztBQUd4RjtFQUNDLFVBQVUsRUFBQTs7QUFHWDtFQUNDLFVBQVUsRUFBQTs7QUFHWDtFQUNDLFVBQVU7RUFDViwrQ0FBK0MsRUFBQSIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9jb21wb25lbnRzL3N3aXRjaC9zd2l0Y2guY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuc3dpdGNoIHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcblx0d2lkdGg6IDgwcHg7XHJcblx0aGVpZ2h0OiAzMHB4O1xyXG5cdHBhZGRpbmc6IDNweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiBub25lO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRvdmVyZmxvdzogdmlzaWJsZTtcclxufVxyXG5cclxuLnN3aXRjaC1pbnB1dCB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogMDtcclxuXHRsZWZ0OiAwO1xyXG5cdG9wYWNpdHk6IDA7XHJcbn1cclxuXHJcbi5zd2l0Y2gtbGFiZWwge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHRoZWlnaHQ6IGluaGVyaXQ7XHJcblx0Zm9udC1zaXplOiAxNnB4O1xyXG5cdGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRiYWNrZ3JvdW5kOiAjY2NjO1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHR0cmFuc2l0aW9uOiAwLjE1cyBlYXNlLW91dDtcclxuXHR0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5IGJhY2tncm91bmQ7XHJcblx0Y29sb3I6ICMyZDJkMmQ7XHJcbn1cclxuXHJcbi5zd2l0Y2gtbGFiZWw6OmJlZm9yZSwgLnN3aXRjaC1sYWJlbDo6YWZ0ZXIge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IDUwJTtcclxuXHRtYXJnaW4tdG9wOiAtLjVlbTtcclxuXHRsaW5lLWhlaWdodDogMTtcclxuXHR0cmFuc2l0aW9uOiBpbmhlcml0O1xyXG59XHJcblxyXG4uc3dpdGNoLWxhYmVsOjpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IGF0dHIoZGF0YS1vZmYpO1xyXG5cdHJpZ2h0OiAxMXB4O1xyXG5cdGNvbG9yOiAjZmZmO1xyXG59XHJcblxyXG4uc3dpdGNoLWxhYmVsOjphZnRlciB7XHJcblx0Y29udGVudDogYXR0cihkYXRhLW9uKTtcclxuXHRsZWZ0OiAxMXB4O1xyXG5cdGNvbG9yOiAjZmZmO1xyXG5cdG9wYWNpdHk6IDA7XHJcbn1cclxuXHJcbi5zd2l0Y2gtaGFuZGxlIHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiA5cHg7XHJcblx0bGVmdDogMTJweDtcclxuXHR3aWR0aDogMThweDtcclxuXHRoZWlnaHQ6IDE4cHg7XHJcblx0YmFja2dyb3VuZDogI2ZmZjtcclxuXHRib3JkZXItcmFkaXVzOiAxMHB4O1xyXG5cdGJveC1zaGFkb3c6IDFweCAxcHggNXB4ICMyZDJkMmQ7XHJcblx0dHJhbnNpdGlvbjogbGVmdCAwLjE1cyBlYXNlLW91dDtcclxufVxyXG5cclxuLmNoZWNrZWQgLnN3aXRjaC1sYWJlbCB7XHJcblx0YmFja2dyb3VuZDogIzRDQUY1MDtcclxuXHRib3gtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpLCBpbnNldCAwIDAgM3B4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XHJcbn1cclxuXHJcbi5jaGVja2VkIC5zd2l0Y2gtbGFiZWw6OmJlZm9yZSB7XHJcblx0b3BhY2l0eTogMDtcclxufVxyXG5cclxuLmNoZWNrZWQgLnN3aXRjaC1sYWJlbDo6YWZ0ZXIge1xyXG5cdG9wYWNpdHk6IDE7XHJcbn1cclxuXHJcbi5jaGVja2VkIC5zd2l0Y2gtaGFuZGxlIHtcclxuXHRsZWZ0OiA1MHB4O1xyXG5cdGJveC1zaGFkb3c6IC0xcHggMXB4IDVweCByZ2JhKDQ1LCA0NSwgNDUsIDAuNDEpO1xyXG59XHJcbiJdfQ== */\"","import { Component, Input, forwardRef } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\n@Component({\r\n\tselector: 'app-switch',\r\n\ttemplateUrl: './switch.component.pug',\r\n\tstyleUrls: ['./switch.component.scss'],\r\n\tproviders: [\r\n\t\t{\r\n\t\t\tprovide: NG_VALUE_ACCESSOR,\r\n\t\t\tuseExisting: forwardRef(() => SwitchComponent),\r\n\t\t\tmulti: true\r\n\t\t}\r\n\t]\r\n})\r\nexport class SwitchComponent implements ControlValueAccessor {\r\n\r\n\t@Input()\r\n\tpublic label = 'switch';\r\n\r\n\t@Input('value')\r\n\tprivate _value = false;\r\n\r\n\tprivate onChange: any = () => { };\r\n\r\n\tprivate onTouched: any = () => { };\r\n\r\n\tconstructor() {\r\n\t}\r\n\r\n\tpublic get value() {\r\n\t\treturn this._value;\r\n\t}\r\n\r\n\tpublic set value(val) {\r\n\t\tthis._value = val;\r\n\t\tthis.onChange(val);\r\n\t\tthis.onTouched();\r\n\t}\r\n\r\n\tpublic registerOnChange(fn) {\r\n\t\tthis.onChange = fn;\r\n\t}\r\n\r\n\tpublic registerOnTouched(fn) {\r\n\t\tthis.onTouched = fn;\r\n\t}\r\n\r\n\tpublic writeValue(value) {\r\n\t\tif (value) {\r\n\t\t\tthis.value = value;\r\n\t\t}\r\n\t}\r\n\r\n\tpublic switch() {\r\n\t\tthis.value = !this.value;\r\n\t}\r\n\r\n}\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\shared\\\\components\\\\top-contributors\\\\top-contributors.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9jb21wb25lbnRzL3RvcC1jb250cmlidXRvcnMvdG9wLWNvbnRyaWJ1dG9ycy5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\n\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport * as moment from 'moment';\r\n\r\nimport { PeriodService } from '../../../core/services/periods/period.service';\r\nimport { RolesService } from '../../../core/services/roles/roles.service';\r\nimport { ArticleService } from '../../../core/services/articles/article.service';\r\n\r\nimport { AllPeriodsResult } from '../../../core/models/periods/all-periods-result.model';\r\nimport { UserContribution } from '../../../core/models/articles/user-contribution.model';\r\nimport { PeriodOption } from '../../../core/models/periods/period-option.model';\r\nimport { Role } from '../../../core/models/roles/role.model';\r\n\r\n@Component({\r\n\tselector: 'app-top-contributors',\r\n\ttemplateUrl: './top-contributors.component.pug',\r\n\tstyleUrls: ['./top-contributors.component.scss']\r\n})\r\nexport class TopContributorsComponent implements OnInit, OnDestroy {\r\n\r\n\tprivate _subscription = new Subscription();\r\n\r\n\tpublic contributorForm: FormGroup;\r\n\r\n\tpublic roles: Array;\r\n\r\n\tpublic allPeriods: AllPeriodsResult;\r\n\r\n\tpublic contributions: Array;\r\n\r\n\tpublic lastUpdated: Date;\r\n\r\n\tconstructor(\r\n\t\tprivate _periodService: PeriodService,\r\n\t\tprivate _articleService: ArticleService,\r\n\t\tprivate _fb: FormBuilder,\r\n\t\tprivate _roleService: RolesService) {\r\n\r\n\t\tthis.contributorForm = this._fb.group({\r\n\t\t\troleFilter: [''],\r\n\t\t\tperiodFilter: [''],\r\n\t\t});\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tthis._subscription.add(\r\n\t\t\tthis._periodService.getPeriods()\r\n\t\t\t\t.subscribe(result => {\r\n\t\t\t\t\tthis.allPeriods = result;\r\n\t\t\t\t})\r\n\t\t);\r\n\r\n\t\tthis._subscription.add(\r\n\t\t\tthis._roleService.getTeams()\r\n\t\t\t\t.subscribe(results => {\r\n\t\t\t\t\tthis.roles = results.sort((left, right): number => { return (left.name > right.name) ? 1 : ((right.name > left.name) ? -1 : 0); });;\r\n\t\t\t\t})\r\n\t\t);\r\n\r\n\t\tthis.getContributors(null, null);\r\n\t}\r\n\r\n\tprivate getContributors(roleId: string, periodFilter: PeriodOption) {\r\n\t\tthis._subscription.add(\r\n\t\t\tthis._articleService.getTopContributors(periodFilter, roleId).subscribe(topContributorsData => {\r\n\t\t\t\tthis.contributions = topContributorsData;\r\n\t\t\t\tthis.lastUpdated = new Date();\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tfilterChange(): void {\r\n\t\tconst formModel = this.contributorForm.value;\r\n\r\n\t\tlet periodFilter = formModel[\"periodFilter\"];\r\n\r\n\t\tlet role = formModel[\"roleFilter\"];\r\n\r\n\t\tthis.getContributors(role, periodFilter);\r\n\t}\r\n\r\n\tngOnDestroy(): void {\r\n\t\tthis._subscription.unsubscribe();\r\n\t}\r\n\r\n}\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\shared\\\\components\\\\tri-state-checkbox\\\\tri-state-checkbox.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9jb21wb25lbnRzL3RyaS1zdGF0ZS1jaGVja2JveC90cmktc3RhdGUtY2hlY2tib3guY29tcG9uZW50LnNjc3MifQ== */\"","import { Component, OnInit, ElementRef, Output, Input, EventEmitter, SimpleChange, OnDestroy } from '@angular/core';\r\nimport { FormControl, FormGroup, AbstractControl, FormArray } from '@angular/forms';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Component({\r\n\tselector: 'app-tri-state-checkbox',\r\n\ttemplateUrl: './tri-state-checkbox.component.pug',\r\n\tstyleUrls: ['./tri-state-checkbox.component.scss']\r\n})\r\nexport class TriStateCheckboxComponent implements OnInit, OnDestroy {\r\n\r\n\t@Input()\r\n\tpublic form: FormGroup;\r\n\r\n\t@Input()\r\n\tpublic childrenKey: string;\r\n\r\n\t@Input()\r\n\tpublic appId: string;\r\n\r\n\t@Output(\"onChange\")\r\n\tpublic onChangeEventEmitter = new EventEmitter();\r\n\r\n\tpublic indeterminate: boolean = false;\r\n\r\n\tpublic isChecked: boolean = false;\r\n\r\n\tprivate _childrenControls = new Array();\r\n\r\n\tprivate _changing: boolean = false;\r\n\r\n\tprivate _totalFields: number = 0;\r\n\r\n\tprivate _subscriptions = new Subscription();\r\n\r\n\tconstructor() {\r\n\t}\r\n\t\r\n\tngOnInit() {\r\n\t\tfor (let ctrl in this.form.controls) {\r\n\t\t\tif (ctrl.indexOf(`${this.appId}-`) > -1) {\r\n\t\t\t\tlet majorVer = ctrl.slice(37).split('-');\r\n\t\t\t\tif(majorVer[0] == this.childrenKey){\r\n\t\t\t\t\tthis._childrenControls.push(this.form.get(ctrl));\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tthis.childrenChanged();\r\n\t}\r\n\r\n\tpublic parentChanged(): void {\r\n\t\tthis.isChecked = !this.isChecked;\r\n\r\n\t\tif (!this._changing) {\r\n\t\t\tthis._changing = true;\r\n\t\t\tthis._childrenControls.forEach(child => {\r\n\t\t\t\tchild.patchValue(this.isChecked);\r\n\t\t\t});\r\n\r\n\t\t\tthis.onChangeEventEmitter.emit(true);\r\n\t\t\tthis.indeterminate = false;\r\n\t\t\tthis._changing = false;\r\n\t\t}\r\n\t}\r\n\r\n\tprivate childrenChanged(): void {\r\n\t\tthis._childrenControls.forEach(child => {\r\n\t\t\tthis._subscriptions.add(\r\n\t\t\t\tchild.valueChanges.subscribe(val => {\r\n\t\t\t\t\tif (!this._changing) {\r\n\t\t\t\t\t\tthis._changing = true;\r\n\r\n\t\t\t\t\t\tlet totalChecked = this.checkedCount();\r\n\r\n\t\t\t\t\t\t// if all values are checked then \"parent\" checkbox should be checked\r\n\t\t\t\t\t\t// if any checkbox is checked then checkbox should be indetermine\r\n\t\t\t\t\t\t// if no checkbox is checked, then indeterminate is false\r\n\t\t\t\t\t\tif (totalChecked == this._totalFields) {\r\n\t\t\t\t\t\t\tthis.indeterminate = false;\r\n\t\t\t\t\t\t\tthis.isChecked = true;\r\n\t\t\t\t\t\t} else if (totalChecked >= 1) {\r\n\t\t\t\t\t\t\tthis.indeterminate = true;\r\n\t\t\t\t\t\t\tthis.isChecked = false;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tthis.indeterminate = false;\r\n\t\t\t\t\t\t\tthis.isChecked = false;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tthis._changing = false;\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t);\r\n\t\t});\r\n\t}\r\n\r\n\tprivate checkedCount(): number {\r\n\t\tlet totalChecked = 0;\r\n\t\tthis._totalFields = 0;\r\n\r\n\t\tthis._childrenControls.forEach(child => {\r\n\t\t\ttotalChecked += child.value ? 1 : 0;\r\n\t\t\tthis._totalFields++;\r\n\t\t});\r\n\r\n\t\treturn totalChecked;\r\n\t}\r\n\r\n\tngOnDestroy(): void {\r\n\t\tthis._subscriptions.unsubscribe();\r\n\t}\r\n\r\n}\r\n","module.exports = \"
\\r\\n\\t
\\r\\n\\t\\t

Downvote Article

\\r\\n\\t\\t
\\r\\n\\t\\t\\t\\r\\n\\t\\t
\\r\\n\\t
\\r\\n\\r\\n\\t
\\r\\n\\t\\t\\r\\n\\t\\t\\r\\n\\t\\t
\\r\\n\\t\\t\\t\\r\\n\\t\\t\\tComment is required (minimum 10 characters)\\r\\n\\t\\t\\t\\r\\n\\t\\t
\\r\\n\\t
\\r\\n\\r\\n\\t\\r\\n\\r\\n
\\r\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9jb21wb25lbnRzL3ZvdGluZy92b3RpbmctZGlzbGlrZS1jb21tZW50L3ZvdGluZy1kaXNsaWtlLWNvbW1lbnQuY29tcG9uZW50LnNjc3MifQ== */\"","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\r\nimport { BsModalRef } from 'ngx-bootstrap/modal';\r\nimport { Subscription, Subject } from 'rxjs';\r\nimport { delay } from 'rxjs/operators';\r\nimport { ArticleQualityVote } from '../../../../core/models/articles/article-quality-vote.model';\r\nimport { UserProfileService } from '../../../../core/services/user-profiles/user-profile.service';\r\n\r\n@Component({\r\n\tselector: 'app-voting-dislike-comment',\r\n\ttemplateUrl: './voting-dislike-comment.component.html',\r\n\tstyleUrls: ['./voting-dislike-comment.component.scss']\r\n})\r\nexport class VotingDislikeCommentComponent implements OnInit {\r\n\r\n\tpublic commentForm = new FormGroup({\r\n\t\tcommentInput: new FormControl('', Validators.required),\r\n\t\tcommentIsAnonymous: new FormControl('')\r\n\t});\r\n\r\n\tpublic onClose: Subject;\r\n\r\n\tprivate _subscriptions = new Subscription();\r\n\r\n\tconstructor(private _bsModalRef: BsModalRef, private _profileService: UserProfileService) { }\r\n\r\n\tngOnInit() {\r\n\t\tthis.onClose = new Subject();\r\n\t\tthis.getUserProfile();\t\t\r\n\t}\r\n\r\n\tpublic submit(): void {\r\n\t\tlet vote: any = {\r\n\t\t\tcomment: this.commentForm.value.commentInput,\r\n\t\t\tisAnonymous: this.commentForm.value.commentIsAnonymous == \"\" ? false : this.commentForm.value.commentIsAnonymous,\r\n\t\t\tvote: false,\r\n\t\t\tisCancel: false\r\n\t\t};\r\n\r\n\t\tthis.onClose.next(vote);\r\n\r\n\t\tthis._bsModalRef.hide();\r\n\t}\r\n\r\n\tpublic onCancel(): void {\r\n\t\tlet vote: any = {\r\n\t\t\tcomment: \"\",\r\n\t\t\tisAnonymous: false,\r\n\t\t\tvote: false,\r\n\t\t\tisCancel: true\r\n\t\t};\r\n\r\n\t\tthis.onClose.next(vote);\r\n\t\tthis._bsModalRef.hide();\r\n\t}\r\n\r\n\tprivate getUserProfile() {\r\n\t\tthis._subscriptions.add(\r\n\t\t\tthis._profileService.getMyProfile()\r\n\t\t\t\t.subscribe(user => {\t\t\t\t\t\r\n\t\t\t\t\tthis.commentForm.setValue({ commentInput: \"\", commentIsAnonymous: user.defaultToAnonymousComments })\r\n\t\t\t\t})\r\n\t\t);\r\n\t}\r\n}\r\n","var req = require(\"!!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\node_modules\\\\pug-loader\\\\index.js!C:\\\\Users\\\\mjoshi\\\\source\\\\repos\\\\Alexandria\\\\Alexandria\\\\Alexandria.Website\\\\ClientApp\\\\src\\\\app\\\\shared\\\\components\\\\voting\\\\voting\\\\voting.component.pug\");\nmodule.exports = (req['default'] || req).apply(req, [])","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9jb21wb25lbnRzL3ZvdGluZy92b3Rpbmcvdm90aW5nLmNvbXBvbmVudC5zY3NzIn0= */\"","import { Component, OnInit, Output, EventEmitter, Input, ViewChild, OnDestroy } from '@angular/core';\r\nimport { BsModalService, BsModalRef } from 'ngx-bootstrap/modal';\r\nimport { VotingDislikeCommentComponent } from '../voting-dislike-comment/voting-dislike-comment.component';\r\nimport { ArticleQualityVote } from '../../../../core/models/articles/article-quality-vote.model';\r\nimport { Subscription } from 'rxjs';\r\n\r\n\r\n@Component({\r\n\tselector: 'app-voting',\r\n\ttemplateUrl: './voting.component.pug',\r\n\tstyleUrls: ['./voting.component.scss']\r\n})\r\nexport class VotingComponent implements OnInit {\r\n\r\n\t@Input()\r\n\tpublic count: number;\r\n\r\n\t@Input()\r\n\tpublic isDislikeComment: boolean = false;\r\n\r\n\t@Input()\r\n\tpublic userVote: number;\r\n\r\n\t@Input()\r\n\tpublic disabled: boolean = false;\r\n\r\n\t@Output()\r\n\tpublic voted = new EventEmitter();\r\n\r\n\tpublic modalRef: BsModalRef;\r\n\r\n\tprivate _subscription = new Subscription();\r\n\r\n\tconstructor(private _modalService: BsModalService) { }\r\n\r\n\tngOnInit() {\t\t\r\n\t}\r\n\r\n\tvote(liked: boolean) {\r\n\t\tif (!liked) {\r\n\t\t\tif (this.isDislikeComment) {\r\n\t\t\t\tif (this.userVote >= 0) {\r\n\t\t\t\t\tthis.modalRef = this._modalService.show(VotingDislikeCommentComponent);\r\n\t\t\t\t\tthis._subscription.add(this.modalRef.content.onClose.subscribe(result => {\r\n\t\t\t\t\t\tthis.voted.emit(result);\r\n\t\t\t\t\t}));\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tlet result = this.setResultObject(false);\r\n\r\n\t\t\t\t\tthis.voted.emit(result);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tthis.voted.emit(liked);\r\n\t\t\t}\r\n\t\t}\r\n\t\telse {\r\n\t\t\tif (this.isDislikeComment) {\r\n\t\t\t\tlet result = this.setResultObject(true);\r\n\r\n\t\t\t\tthis.voted.emit(result);\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tthis.voted.emit(liked);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t}\r\n\r\n\tprivate setResultObject(vote: boolean): any {\r\n\t\tlet result: any = {\r\n\t\t\tcomment: \"\",\r\n\t\t\tisAnonymous: false,\r\n\t\t\tvote: vote,\r\n\t\t\tisCancel: false\r\n\t\t};\r\n\r\n\t\treturn result;\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis._subscription.unsubscribe();\r\n\t}\r\n\r\n}\r\n","module.exports = \"
\\r\\n\\t
{{caption}}
\\r\\n\\t
\\r\\n\\t\\t\\r\\n\\t
\\r\\n
\\r\\n\"","module.exports = \":host {\\n display: block; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2NvbXBvbmVudHMvd2lkZ2V0L0M6XFxVc2Vyc1xcbWpvc2hpXFxzb3VyY2VcXHJlcG9zXFxBbGV4YW5kcmlhXFxBbGV4YW5kcmlhXFxBbGV4YW5kcmlhLldlYnNpdGVcXENsaWVudEFwcC9zcmNcXGFwcFxcc2hhcmVkXFxjb21wb25lbnRzXFx3aWRnZXRcXHdpZGdldC5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNDLGNBQWEsRUFBQSIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9jb21wb25lbnRzL3dpZGdldC93aWRnZXQuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyI6aG9zdCB7XHJcblx0ZGlzcGxheTpibG9jaztcclxufVxyXG4iXX0= */\"","import { Component, Input } from \"@angular/core\";\r\n\r\n@Component({\r\n\tselector: \"app-widget\",\r\n\ttemplateUrl: \"./widget.component.html\",\r\n\tstyleUrls: [\"./widget.component.scss\"]\r\n})\r\nexport class WidgetComponent {\r\n\r\n\t@Input()\r\n\t\tcaption: string;\r\n\r\n\t@Input()\r\n\t\tcardBody: boolean = true;\r\n}\r\n","export enum ArticleType {\r\n\r\n\t\"Technical Note\" = 1,\r\n\r\n\t\"Knowledge Base\",\r\n\r\n\t\"Solution\",\r\n\r\n\t\"Troubleshooting\",\r\n\r\n\t\"Frequently Asked Question\",\r\n\r\n\t\"Best Practices\",\r\n\r\n\t\"Technical Reference\"\r\n\r\n}\r\n","export class MetallicTicketModel {\r\n tenantID: string;\r\n company: string;\r\n contact: string;\r\n accountId: string;\r\n lastName?: string;\r\n firstName?: string;\r\n phone?: string;\r\n email?: string;\r\n contactMethod: string;\r\n contactDetails: string;\r\n subscriptionType: string;\r\n productType: string;\r\n severity: string;\r\n briefDes: string;\r\n detailedDes: string;\r\n visibility?: string;\r\n businessImpact?: string;\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n\tname: 'articleFriendly'\r\n})\r\nexport class ArticleFriendlyVersionPipe implements PipeTransform {\r\n\r\n\ttransform(value: number): string {\r\n\t\tif (value < 1) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\r\n\t\tlet major = Math.floor(value / 512);\t\t// no integer division in JS\r\n\t\tlet minor = value % 512;\r\n\r\n\t\treturn `${major}.${minor}`;\r\n\t}\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\nimport { MarkedOptions } from 'marked';\r\n\r\nimport * as marked from 'marked';\r\n\r\n@Pipe({\r\n\tname: 'markdown'\r\n})\r\nexport class MarkdownPipe implements PipeTransform {\r\n\r\n\ttransform(value: any, args?: any): any {\r\n\t\tif (value) {\r\n\t\t\tlet renderer = new marked.Renderer();\r\n\r\n\t\t\trenderer.table = function (header, body) {\r\n\t\t\t\treturn '' + header + body + '
';\r\n\t\t\t};\r\n\r\n\t\t\trenderer.codespan = function (code) {\r\n\t\t\t\tconst htmlDecode = innerHTML => Object.assign(document.createElement('textarea'), { innerHTML }).value;\r\n\r\n\t\t\t\tcode = htmlDecode(code);\r\n\t\t\t\treturn \"\" + code + \"\";\r\n\t\t\t};\r\n\r\n\t\t\tlet markedOptions: MarkedOptions = {\r\n\t\t\t\trenderer: renderer,\r\n\t\t\t\tlangPrefix: 'hljs ',\r\n\t\t\t\tbreaks: true,\r\n\t\t\t\thighlight: function (code) {\r\n\t\t\t\t\t// apply highlighting\r\n\r\n\t\t\t\t\t// this LOOKS like the left and right sides are the same but it is not\r\n\t\t\t\t\t// for some reason in my testing, if it was solely <$1>$2<$3> it would just display the escaped HTML.. Adding the span display none fixes that issue\r\n\t\t\t\t\t// i am NOT sure why that occurrs.. however, this is a hack that will get this working and have little (if any) negative impact\r\n\t\t\t\t\tvalue = code.replace(/<(span class=['\"]hl hl-\\d['\"])>(.*)<(\\/span)>/g, \"<$1>$2<$3>\");\r\n\r\n\t\t\t\t\treturn value;\r\n\t\t\t\t}\r\n\t\t\t};\r\n\r\n\t\t\tmarked.setOptions(markedOptions);\r\n\r\n\t\t\treturn marked(value);\r\n\t\t}\r\n\r\n\t\treturn null;\r\n\t}\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'values'\r\n})\r\nexport class ValuesPipe implements PipeTransform {\r\n\r\n\ttransform(value: any, sort: boolean, key: string = 'key'): Object[] {\r\n\t\tlet keyArray = Object.keys(value);\r\n\t\tlet dataArray = new Array();\r\n\t\tlet keyProperty = key;\r\n\r\n\t\tif (sort) {\r\n\t\t\tkeyArray.sort();\r\n\t\t}\r\n\r\n\t\tkeyArray.forEach(key => {\r\n\t\t\tlet o = {\r\n\t\t\t\tvalue: value[key]\r\n\t\t\t};\r\n\r\n\t\t\to[keyProperty] = key;\r\n\r\n\t\t\tdataArray.push(o);\r\n\t\t});\r\n\r\n\t\treturn dataArray;\r\n\t}\r\n\r\n}\r\n","import { Pipe, PipeTransform } from \"@angular/core\";\r\n\r\n@Pipe({\r\n\tname: 'yesno'\r\n})\r\nexport class YesNoPipe implements PipeTransform {\r\n\r\n\ttransform(value: boolean, lowercase: boolean = false): string {\r\n\t\tlet output = value == true ? \"Yes\" : \"No\";\r\n\r\n\t\treturn (lowercase == false ? output : output.toLowerCase());\r\n\t}\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RouterModule } from '@angular/router';\r\nimport { ReactiveFormsModule, FormsModule } from '@angular/forms';\r\n\r\nimport { AccordionModule, ModalModule } from 'ngx-bootstrap';\r\nimport { ClipboardModule } from 'ngx-clipboard';\r\n\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\nimport { library } from \"@fortawesome/fontawesome-svg-core\";\r\nimport { faMinus, faSearch, faEdit, faPlusCircle, faMinusCircle } from \"@fortawesome/pro-solid-svg-icons\";\r\n\r\nimport { MomentModule } from 'ngx-moment';\r\n\r\nimport { WidgetComponent } from './components/widget/widget.component';\r\nimport { SimpleSearchComponent } from './components/simple-search/simple-search.component';\r\nimport { QuickEscalationComponent } from './components/quick-escalation/quick-escalation.component';\r\nimport { TopContributorsComponent } from './components/top-contributors/top-contributors.component';\r\nimport { LatestArticlesComponent } from './components/latest-articles/latest-articles.component';\r\nimport { CommentComponent } from './components/comments/comment/comment.component';\r\nimport { CommentThreadsComponent } from './components/comments/comment-threads/comment-threads.component';\r\nimport { TriStateCheckboxComponent } from './components/tri-state-checkbox/tri-state-checkbox.component';\r\nimport { CheckboxGroupComponent } from './components/checkbox-group/checkbox-group.component';\r\nimport { CheckboxComponent } from './components/checkbox/checkbox.component';\r\nimport { VotingComponent } from './components/voting/voting/voting.component';\r\nimport { VotingDislikeCommentComponent } from './components/voting/voting-dislike-comment/voting-dislike-comment.component';\r\nimport { ShareComponent } from './components/share/share.component';\r\nimport { SwitchComponent } from './components/switch/switch.component';\r\n\r\nimport { Nl2BrPipeModule } from 'nl2br-pipe';\r\nimport { YesNoPipe } from './pipes/yes-no.pipe';\r\nimport { ValuesPipe } from './pipes/values.pipe';\r\nimport { MarkdownPipe } from './pipes/markdown.pipe';\r\nimport { ArticleFriendlyVersionPipe } from './pipes/article-friendly.pipe';\r\nimport { ConfirmationDialogComponent } from './components/confirmation-dialog/confirmation-dialog.component';\r\nimport { CreateMetallicTicketComponent } from './components/create-metallic-ticket/create-metallic-ticket.component';\r\nimport { MetallicTicketConfirmationComponent } from './components/metallic-ticket-confirmation/metallic-ticket-confirmation.component';\r\nimport { DropDownListModule } from '@syncfusion/ej2-angular-dropdowns';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { TypeaheadModule } from 'ngx-bootstrap/typeahead';\r\nimport { InternalCaseComponent } from './components/internal-case/internal-case.component';\r\n\r\nlibrary.add(faMinus, faSearch, faEdit, faPlusCircle, faMinusCircle);\r\n\r\n@NgModule({\r\n\timports: [\r\n\t\tCommonModule,\r\n\t\tReactiveFormsModule,\r\n\t\tFormsModule,\r\n\t\tRouterModule,\r\n\r\n\t\t// 3rd party imports\r\n\t\tAccordionModule.forRoot(),\r\n\t\tModalModule.forRoot(),\r\n\t\tFontAwesomeModule,\r\n\t\tMomentModule,\r\n\t\tNl2BrPipeModule,\r\n\t\tClipboardModule,\r\n\t\tDropDownListModule,\r\n\t\tBrowserAnimationsModule,\r\n \tTypeaheadModule.forRoot()\r\n\t],\r\n\tdeclarations: [\r\n\t\tSimpleSearchComponent,\r\n\t\tQuickEscalationComponent,\r\n\t\tWidgetComponent,\r\n\t\tTopContributorsComponent,\r\n\t\tLatestArticlesComponent,\r\n\t\tTriStateCheckboxComponent,\r\n\t\tCommentComponent,\r\n\t\tCommentThreadsComponent,\r\n\t\tCheckboxGroupComponent,\r\n\t\tCheckboxComponent,\r\n\t\tVotingComponent,\r\n\t\tShareComponent,\r\n\t\tVotingDislikeCommentComponent,\r\n\t\tSwitchComponent,\r\n\r\n\t\tYesNoPipe,\r\n\t\tValuesPipe,\r\n\t\tMarkdownPipe,\r\n\t\tArticleFriendlyVersionPipe,\r\n\t\tConfirmationDialogComponent,\r\n\t\tCreateMetallicTicketComponent,\r\n\t\tMetallicTicketConfirmationComponent,\r\n\t\tInternalCaseComponent\r\n\t],\r\n\texports: [\r\n\t\tSimpleSearchComponent,\r\n\t\tQuickEscalationComponent,\r\n\t\tWidgetComponent,\r\n\t\tTopContributorsComponent,\r\n\t\tLatestArticlesComponent,\r\n\t\tTriStateCheckboxComponent,\r\n\t\tCommentComponent,\r\n\t\tCommentThreadsComponent,\r\n\t\tCheckboxGroupComponent,\r\n\t\tCheckboxComponent,\r\n\t\tVotingComponent,\r\n\t\tShareComponent,\r\n\t\tSwitchComponent,\r\n\t\tConfirmationDialogComponent,\r\n\r\n\t\tYesNoPipe,\r\n\t\tValuesPipe,\r\n\t\tMarkdownPipe,\r\n\t\tArticleFriendlyVersionPipe,\r\n\t\tInternalCaseComponent\t\t\r\n\t],\r\n\tentryComponents: [VotingDislikeCommentComponent, ShareComponent, ConfirmationDialogComponent, CreateMetallicTicketComponent, MetallicTicketConfirmationComponent]\r\n})\r\nexport class SharedModule { }\r\n","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build ---prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n\tproduction: false\r\n};\r\n\r\n/*\r\n * In development mode, to ignore zone related error stack frames such as\r\n * `zone.run`, `zoneDelegate.invokeTask` for easier debugging, you can\r\n * import the following file, but please comment it out in production mode\r\n * because it will have performance impact when throw error\r\n */\r\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nexport function getBaseUrl() {\r\n return document.getElementsByTagName('base')[0].href;\r\n}\r\n\r\nconst providers = [\r\n { provide: 'BASE_URL', useFactory: getBaseUrl, deps: [] }\r\n];\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic(providers).bootstrapModule(AppModule)\r\n .catch(err => console.log(err));\r\n","/* (ignored) */"],"sourceRoot":""}