{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/Core/Store/Navigation/Navigation.store.ts","webpack:///./src/Modules/Reports/Views/Report/FinancialReportView.vue?7c44","webpack:///./src/Modules/Reports/Views/Report/FinancialReportView.ts","webpack:///./src/Modules/Reports/Views/Report/FinancialReportView.ts?ed16","webpack:///./src/Modules/Reports/Views/Report/FinancialReportView.vue","webpack:///./src/Core/Components/SubMenuItem/SubMenuItem.vue?433c","webpack:///./src/Core/Components/SubMenuItem/SubMenuItem.ts","webpack:///./src/Core/Components/SubMenuItem/SubMenuItem.ts?fed7","webpack:///./src/Core/Components/SubMenuItem/SubMenuItem.vue","webpack:///./src/Modules/Auth/Views/AuthView.vue?b78c","webpack:///./src/Services/Emory/Components/BackupLifecycleSummary/BackupLifecycleSummary.vue?1d03","webpack:///./src/Services/Emory/Components/BackupLifecycleSummary/BackupLifecycleSummary.ts","webpack:///./src/Services/Emory/Components/BackupLifecycleSummary/BackupLifecycleSummary.ts?edd4","webpack:///./src/Services/Emory/Components/BackupLifecycleSummary/BackupLifecycleSummary.vue","webpack:///./src/Modules/Licensing/Components/LicenseUsagePorgress/LicenseUsageProgress.vue?f1ab","webpack:///./src/Modules/Licensing/Components/LicenseUsagePorgress/LicenseUsageProgress.ts","webpack:///./src/Modules/Licensing/Components/LicenseUsagePorgress/LicenseUsageProgress.ts?41b2","webpack:///./src/Modules/Licensing/Components/LicenseUsagePorgress/LicenseUsageProgress.vue","webpack:///./src/Core/Components/RedirectAlert/RedirectAlert.vue?798e","webpack:///./src/Core/Components/RedirectAlert/RedirectAlert.ts","webpack:///./src/Core/Components/RedirectAlert/RedirectAlert.ts?41c8","webpack:///./src/Core/Components/RedirectAlert/RedirectAlert.vue","webpack:///./src/Core/Components/FiltersDrawer/FiltersDrawer.vue?557e","webpack:///./src/Modules/Users/Components/UserStatusSummary/UserStatusSummary.vue?5070","webpack:///./src/Modules/Users/Components/UserStatusSummary/UserStatusSummary.ts","webpack:///./src/Modules/Users/Components/UserStatusSummary/UserStatusSummary.ts?b925","webpack:///./src/Modules/Users/Components/UserStatusSummary/UserStatusSummary.vue","webpack:///./src/Modules/Orgs/Components/OrgSuggestionList/OrgSuggestionList.vue?c37c","webpack:///./src/Core/Components/Alert/Alert.vue?318d","webpack:///./src/Core/Components/Alert/Alert.ts","webpack:///./src/Core/Components/Alert/Alert.ts?c4d3","webpack:///./src/Core/Components/Alert/Alert.vue","webpack:///./src/Core/Components/Collapse/Collapse.vue?be18","webpack:///./src/Core/Components/Collapse/Collapse.ts","webpack:///./src/Core/Components/Collapse/Collapse.ts?3f7c","webpack:///./src/Core/Components/Collapse/Collapse.vue","webpack:///./src/Services/Preinstalled/Views/Catalog/AmisCatalog.vue?f00b","webpack:///./src/Services/Preinstalled/Views/Catalog/AmisCatalog.ts","webpack:///./src/Services/Preinstalled/Views/Catalog/AmisCatalog.ts?6e91","webpack:///./src/Services/Preinstalled/Views/Catalog/AmisCatalog.vue","webpack:///./src/Modules/Licensing/Components/HostRegistrationDialog/HostRegistrationDialog.vue?85f8","webpack:///./src/Modules/Licensing/Components/NextExpirationsCollapse/NextExpirationsCollapse.vue?2edd","webpack:///./src/Services/AbapSuite/Views/Hub/AbapSuiteHub.vue?55f1","webpack:///./src/Services/AbapSuite/Views/Hub/AbapSuiteHub.ts","webpack:///./src/Services/AbapSuite/Views/Hub/AbapSuiteHub.ts?37b5","webpack:///./src/Services/AbapSuite/Views/Hub/AbapSuiteHub.vue","webpack:///./src/Modules/Licensing/Components/DimensionSelector/DimensionSelector.vue?38a3","webpack:///./src/Core/Components/Icon/Icon.vue?4158","webpack:///./src/Core/Components/Icon/Icon.ts","webpack:///./src/Core/Components/Icon/Icon.ts?ab2e","webpack:///./src/Core/Components/Icon/Icon.vue","webpack:///./src/Modules/Licensing/Components/ContractListRow/ContractListRow.vue?bd4b","webpack:///./src/Modules/Licensing/Components/ContractListRow/ContractListRow.ts","webpack:///./src/Modules/Licensing/Components/ContractListRow/ContractListRow.ts?8ee6","webpack:///./src/Modules/Licensing/Components/ContractListRow/ContractListRow.vue","webpack:///./src/Core/Components/Loading/Loading.vue?bcfc","webpack:///./src/Core/Components/Loading/Loading.ts","webpack:///./src/Core/Components/Loading/Loading.ts?83c3","webpack:///./src/Core/Components/Loading/Loading.vue","webpack:///./src/Services/AbapSuite/Views/Licenses/AbapSuiteLicenses.vue?ee42","webpack:///./src/Services/AbapSuite/Views/Licenses/AbapSuiteLicenses.ts","webpack:///./src/Services/AbapSuite/Views/Licenses/AbapSuiteLicenses.ts?1c91","webpack:///./src/Services/AbapSuite/Views/Licenses/AbapSuiteLicenses.vue","webpack:///./src/Modules/Auth/Components/AuthPage/AuthPage.vue?31d0","webpack:///./src/Modules/Auth/Components/AuthPage/AuthPage.ts","webpack:///./src/Modules/Auth/Components/AuthPage/AuthPage.ts?84e6","webpack:///./src/Modules/Auth/Components/AuthPage/AuthPage.vue","webpack:///./src/Modules/Auth/Models/SignIn/SignInResponse.model.ts","webpack:///./src/Core/Components/Alert/Alert.vue?18ea","webpack:///./src/Modules/Reports/Components/ReportsDialog/ReportsDialog.vue?9792","webpack:///./src/Services/Emory/Components/BackupStatusTag/EmoryBackupStatusTag.vue?647a","webpack:///./src/Services/AbapSuite/Views/Documentation/AbapSuiteDocumentation.vue?2546","webpack:///./src/Services/AbapSuite/Views/Documentation/AbapSuiteDocumentation.ts","webpack:///./src/Services/AbapSuite/Views/Documentation/AbapSuiteDocumentation.ts?ad54","webpack:///./src/Services/AbapSuite/Views/Documentation/AbapSuiteDocumentation.vue","webpack:///./src/Services/Settings/Components/InfoItem/InfoItem.vue","webpack:///./src/Modules/Notifications/Components/NotificationContent/OrgAccessRequestNotifContent/OrgAccessRequestNotifContent.vue?1481","webpack:///./src/Modules/Notifications/Components/NotificationContent/OrgAccessRequestNotifContent/OrgAccessRequestNotifContent.ts","webpack:///./src/Modules/Notifications/Components/NotificationContent/OrgAccessRequestNotifContent/OrgAccessRequestNotifContent.ts?44de","webpack:///./src/Modules/Notifications/Components/NotificationContent/OrgAccessRequestNotifContent/OrgAccessRequestNotifContent.vue","webpack:///./src/Services/AbapSuite/Views/Documentation/AbapSuiteDocumentation.vue?22f5","webpack:///./src/Core/Components/CollapsableCard/CollapsableCard.vue?0ec3","webpack:///./src/Core/Components/CollapsableCard/CollapsableCard.ts","webpack:///./src/Core/Components/CollapsableCard/CollapsableCard.ts?0a69","webpack:///./src/Core/Components/CollapsableCard/CollapsableCard.vue","webpack:///./src/Modules/Trial/Components/TrialCounter/TrialCounter.vue?94c3","webpack:///./src/Modules/Trial/Components/TrialCounter/TrialCounter.ts","webpack:///./src/Modules/Trial/Components/TrialCounter/TrialCounter.ts?8c23","webpack:///./src/Modules/Trial/Components/TrialCounter/TrialCounter.vue","webpack:///./src/Modules/Orgs/Components/OrgSwitcher/OrgSwitcher.vue?2a48","webpack:///./src/Modules/Orgs/Components/OrgRoleSummary/OrgRoleSummary.vue?3649","webpack:///./src/Modules/Orgs/Components/OrgRoleSummary/OrgRoleSummary.ts","webpack:///./src/Modules/Orgs/Components/OrgRoleSummary/OrgRoleSummary.ts?d6e8","webpack:///./src/Modules/Orgs/Components/OrgRoleSummary/OrgRoleSummary.vue","webpack:///./src/Modules/Trial/Components/TrialDialog/TrialDialog.vue?21bc","webpack:///./src/Modules/Notifications/Errors/RespondOrgAccessRequestNotificationApiError.ts","webpack:///./src/Modules/Notifications/Errors/RespondContractPurchaseNotificationApiError.ts","webpack:///./src/Modules/Notifications/Errors/GetOrgOutboxNotificationsApiError.ts","webpack:///./src/Modules/Notifications/Errors/GetMyOutboxNotificationsApiError.ts","webpack:///./src/Modules/Notifications/Errors/RespondOrgInvitationLinkApiError.ts","webpack:///./src/Modules/Notifications/Errors/GetNotificationsInboxApiError.ts","webpack:///./src/Modules/Notifications/Errors/SendOrgAccessRequestApiError.ts","webpack:///./src/Modules/Notifications/Errors/SendContractPurchaseApiError.ts","webpack:///./src/Modules/Notifications/Errors/RespondNotificationApiError.ts","webpack:///./src/Modules/Notifications/Errors/SendLicenseExchangeApiError.ts","webpack:///./src/Modules/Notifications/Errors/SendOrgInvitationApiError.ts","webpack:///./src/Modules/Notifications/API/Notifications.api.ts","webpack:///./src/Modules/Reports/Components/BillingPeriodDialog/BillingPeriodDialog.vue?0fec","webpack:///./src/Modules/Reports/Components/PaymentForm/PaymentForm.vue?b247","webpack:///./src/Modules/Reports/Components/PaymentForm/PaymentForm.ts","webpack:///./src/Modules/Reports/Components/PaymentForm/PaymentForm.ts?933d","webpack:///./src/Modules/Reports/Components/PaymentForm/PaymentForm.vue","webpack:///./src/Modules/Reports/Models/FinancialInfo.model.ts","webpack:///./src/Modules/Auth/Views/AuthView.vue?5c44","webpack:///./src/Modules/Auth/Views/AuthView.ts","webpack:///./src/Modules/Auth/Views/AuthView.ts?3475","webpack:///./src/Modules/Auth/Views/AuthView.vue","webpack:///./src/Modules/Auth/Components/RecoveryPanel/RecoveryPanel.vue?ebca","webpack:///./src/Core/Models/Execution.ts","webpack:///./src/Modules/Licensing/Components/DimensionSelectorOption/DimensionSelectorOption.vue?9b68","webpack:///./src/Modules/Licensing/Components/DimensionSelectorOption/DimensionSelectorOption.ts","webpack:///./src/Modules/Licensing/Components/DimensionSelectorOption/DimensionSelectorOption.ts?b393","webpack:///./src/Modules/Licensing/Components/DimensionSelectorOption/DimensionSelectorOption.vue","webpack:///./src/Modules/Reports/Store/Reports.store.ts","webpack:///./src/Modules/Orgs/Components/OrgSuggestionListItem/OrgSuggestionListItem.vue?6c83","webpack:///./src/Modules/Licensing/Components/ExportLicensingSummaryDialog/ExportLicensingSummaryDialog.vue?5530","webpack:///./src/Modules/Licensing/Components/ExportLicensingSummaryDialog/ExportLicensingSummaryDialog.ts","webpack:///./src/Modules/Licensing/Components/ExportLicensingSummaryDialog/ExportLicensingSummaryDialog.ts?2eed","webpack:///./src/Modules/Licensing/Components/ExportLicensingSummaryDialog/ExportLicensingSummaryDialog.vue","webpack:///./src/Modules/Licensing/Components/Views/LicenseDetails/LicenseDetailsView.vue?7f78","webpack:///./src/Modules/Orgs/Components/OrgSuggestionList/OrgSuggestionList.vue?7edf","webpack:///./src/Modules/Orgs/Components/OrgSuggestionList/OrgSuggestionList.ts","webpack:///./src/Modules/Orgs/Components/OrgSuggestionList/OrgSuggestionList.ts?6004","webpack:///./src/Modules/Orgs/Components/OrgSuggestionList/OrgSuggestionList.vue","webpack:///./src/Modules/Trial/Components/TrialDimensionSlot/TrialDimensionSlot.vue?fb29","webpack:///./src/Services/Emory/Models/Filters/EmoryLicenseFilters.model.ts","webpack:///./src/Core/Components/ServiceViewport/ServiceViewport.vue?7792","webpack:///./src/Core/Components/Menu/Menu.vue?7c85","webpack:///./src/Modules/Resources/Models/Categories.model.ts","webpack:///./src/Core/Mixins/FileDownload.mixin.ts","webpack:///./src/Core/Components/QueryParam/QueryParam.vue?09ee","webpack:///./src/Core/Components/QueryParam/QueryParam.ts","webpack:///./src/Core/Components/QueryParam/QueryParam.ts?e052","webpack:///./src/Core/Components/QueryParam/QueryParam.vue","webpack:///./src/Services/Emory/Views/Licenses/EmoryLicenses.vue?4756","webpack:///./src/Services/Emory/Views/Licenses/EmoryLicenses.ts","webpack:///./src/Services/Emory/Views/Licenses/EmoryLicenses.ts?5865","webpack:///./src/Services/Emory/Views/Licenses/EmoryLicenses.vue","webpack:///./src/Modules/Reports/Components/FinancialInfoDialog/FinancialInfoDialog.vue?011a","webpack:///./src/Modules/Orgs/Components/OrgEditorForm/OrgEditorForm.vue?0db3","webpack:///./src/Modules/Orgs/Components/OrgEditorForm/OrgEditorForm.ts","webpack:///./src/Modules/Orgs/Components/OrgEditorForm/OrgEditorForm.ts?b8c0","webpack:///./src/Modules/Orgs/Components/OrgEditorForm/OrgEditorForm.vue","webpack:///./src/Modules/Licensing/Components/ContractsSummaryFiltersPanel/ContractsSummaryFiltersPanel.vue?a3fe","webpack:///./src/Modules/Licensing/Components/ContractsSummaryFiltersPanel/ContractsSummaryFiltersPanel.ts","webpack:///./src/Modules/Licensing/Components/ContractsSummaryFiltersPanel/ContractsSummaryFiltersPanel.ts?bda0","webpack:///./src/Modules/Licensing/Components/ContractsSummaryFiltersPanel/ContractsSummaryFiltersPanel.vue","webpack:///./src/Modules/Licensing/Components/Views/Contracts/ContractsView.vue?b12b","webpack:///./src/Core/API/AxiosAPI.ts","webpack:///./src/Core/Errors/ConsoleError.ts","webpack:///./src/Modules/Trial/Components/TrialStatus/TrialStatus.vue?54eb","webpack:///./src/Modules/Trial/Components/TrialStatus/TrialStatus.ts","webpack:///./src/Modules/Trial/Components/TrialStatus/TrialStatus.ts?6ce5","webpack:///./src/Modules/Trial/Components/TrialStatus/TrialStatus.vue","webpack:///./src/Modules/Orgs/Components/OrgRoleEditor/OrgRoleEditor.vue?2a43","webpack:///./src/Modules/Orgs/Components/OrgRoleEditor/OrgRoleEditor.ts","webpack:///./src/Modules/Orgs/Components/OrgRoleEditor/OrgRoleEditor.ts?3329","webpack:///./src/Modules/Orgs/Components/OrgRoleEditor/OrgRoleEditor.vue","webpack:///./src/Core/Components/Views/Forbidden/ForbiddenView.vue?313c","webpack:///./src/Core/Components/Views/Forbidden/ForbiddenView.ts","webpack:///./src/Core/Components/Views/Forbidden/ForbiddenView.ts?da98","webpack:///./src/Core/Components/Views/Forbidden/ForbiddenView.vue","webpack:///./src/Modules/Legal/Components/DataProtectionDialog/DataProtectionDialog.vue?ef3e","webpack:///./src/Core/Components/ServiceSelector/ServiceSelector.vue?46fc","webpack:///./src/Modules/Licensing/Models/LicenseFilters.model.ts","webpack:///./src/Core/Components/Views/PreviewAccess/PreviewAccessView.vue?5bc4","webpack:///./src/Core/Components/Views/PreviewAccess/PreviewAccessView.ts","webpack:///./src/Core/Components/Views/PreviewAccess/PreviewAccessView.ts?2c01","webpack:///./src/Core/Components/Views/PreviewAccess/PreviewAccessView.vue","webpack:///./src/Modules/Orgs/Components/NoOrgAlert/NoOrgAlert.vue?5474","webpack:///./src/Modules/Orgs/Components/NoOrgAlert/NoOrgAlert.ts","webpack:///./src/Modules/Orgs/Components/NoOrgAlert/NoOrgAlert.ts?d433","webpack:///./src/Modules/Orgs/Components/NoOrgAlert/NoOrgAlert.vue","webpack:///./src/Services/AbapSuite/Views/Packages/AbapSuiteDownloads.vue?8325","webpack:///./src/Services/AbapSuite/Views/Packages/AbapSuiteDownloads.ts","webpack:///./src/Services/AbapSuite/Views/Packages/AbapSuiteDownloads.ts?ffaa","webpack:///./src/Services/AbapSuite/Views/Packages/AbapSuiteDownloads.vue","webpack:///./src/Modules/Licensing/Components/LicensingSummaryExpand/LicensingSummaryExpand.vue?e6e7","webpack:///./src/Modules/Licensing/Components/LicensingSummaryExpand/LicensingSummaryExpand.ts","webpack:///./src/Modules/Licensing/Components/LicensingSummaryExpand/LicensingSummaryExpand.ts?3d9c","webpack:///./src/Modules/Licensing/Components/LicensingSummaryExpand/LicensingSummaryExpand.vue","webpack:///./src/Modules/Licensing/Models/LicensingStatus.model.ts","webpack:///./src/Modules/Notifications/Components/ContractPurchaseOrgSelectionDialog/ContractPurchaseOrgSelectionDialog.vue?ebe2","webpack:///./src/Modules/Notifications/Components/ContractPurchaseOrgSelectionDialog/ContractPurchaseOrgSelectionDialog.ts","webpack:///./src/Modules/Notifications/Components/ContractPurchaseOrgSelectionDialog/ContractPurchaseOrgSelectionDialog.ts?1ffb","webpack:///./src/Modules/Notifications/Components/ContractPurchaseOrgSelectionDialog/ContractPurchaseOrgSelectionDialog.vue","webpack:///./src/Modules/Licensing/Components/LicenseTransfer/LicenseTransfer.vue?cb66","webpack:///./src/Modules/Users/Errors/RemoveUserFromCurrentOrgApiError.ts","webpack:///./src/Modules/Users/Errors/UpdateOrgUserRoleApiError.ts","webpack:///./src/Modules/Users/Errors/DeleteUserApiError.ts","webpack:///./src/Modules/Users/Errors/UpdateUserApiError.ts","webpack:///./src/Modules/Users/Errors/CreateUserApiError.ts","webpack:///./src/Modules/Users/Errors/GetUsersApiError.ts","webpack:///./src/Modules/Users/API/Users.api.ts","webpack:///./src/Modules/Orgs/Components/OrgLabel/OrgLabel.vue?aa4b","webpack:///./src/Modules/Orgs/Components/OrgLabel/OrgLabel.ts","webpack:///./src/Modules/Orgs/Components/OrgLabel/OrgLabel.ts?1c03","webpack:///./src/Modules/Orgs/Components/OrgLabel/OrgLabel.vue","webpack:///./src/Modules/Orgs/Components/OrgRoleTreeItem/OrgRoleTreeItem.vue?74c4","webpack:///./src/Modules/Orgs/Components/OrgRoleTreeItem/OrgRoleTreeItem.ts","webpack:///./src/Modules/Orgs/Components/OrgRoleTreeItem/OrgRoleTreeItem.ts?3661","webpack:///./src/Modules/Orgs/Components/OrgRoleTreeItem/OrgRoleTreeItem.vue","webpack:///./src/Core/Components/PurchasePopover/PurchasePopover.vue?4af3","webpack:///./src/Services/AbapSuite/Views/Packages/AbapSuiteDownloads.vue?ef56","webpack:///./src/Modules/Resources/Components/ManageResourcesDialog/ManageResourcesDialog.vue?b8fb","webpack:///./src/Modules/Licensing/Components/AdminCreateContractDialog/AdminCreateContractDialog.vue?4cbb","webpack:///./src/Modules/Licensing/Components/AdminCreateContractDialog/AdminCreateContractDialog.ts","webpack:///./src/Modules/Licensing/Components/AdminCreateContractDialog/AdminCreateContractDialog.ts?0701","webpack:///./src/Modules/Licensing/Components/AdminCreateContractDialog/AdminCreateContractDialog.vue","webpack:///./src/Modules/Notifications/Components/NotificationListItem/NotificationListItem.vue?8b1f","webpack:///./src/Modules/Notifications/Components/NotificationListItem/NotificationListItem.ts","webpack:///./src/Modules/Notifications/Components/NotificationListItem/NotificationListItem.ts?86e0","webpack:///./src/Modules/Notifications/Components/NotificationListItem/NotificationListItem.vue","webpack:///./src/Services/Emory/Components/HostFiltersPanelExtension/HostFiltersPanelExtension.vue?853b","webpack:///./src/Services/Emory/Components/HostFiltersPanelExtension/HostFiltersPanelExtension.ts","webpack:///./src/Services/Emory/Components/HostFiltersPanelExtension/HostFiltersPanelExtension.ts?3141","webpack:///./src/Services/Emory/Components/HostFiltersPanelExtension/HostFiltersPanelExtension.vue","webpack:///./src/Core/Components/DocsLink/DocsLink.vue?7192","webpack:///./src/Core/Components/DocsLink/DocsLink.ts","webpack:///./src/Core/Components/DocsLink/DocsLink.ts?d979","webpack:///./src/Core/Components/DocsLink/DocsLink.vue","webpack:///./src/Modules/Reports/Views/Report/ReportContractDetails/ReportContractDetails.vue?ef54","webpack:///./src/Modules/Reports/Views/Report/ReportContractDetails/ReportContractDetails.ts","webpack:///./src/Modules/Reports/Views/Report/ReportContractDetails/ReportContractDetails.ts?6e51","webpack:///./src/Modules/Reports/Views/Report/ReportContractDetails/ReportContractDetails.vue","webpack:///./src/Modules/Notifications/Components/NotificationListItem/NotificationListItem.vue?fe27","webpack:///./src/Services/AbapSuite/Views/LicenseDetails/AbapSuiteLicenseDetails.vue?24e6","webpack:///./src/Services/AbapSuite/Views/LicenseDetails/AbapSuiteLicenseDetails.ts","webpack:///./src/Services/AbapSuite/Views/LicenseDetails/AbapSuiteLicenseDetails.ts?b54b","webpack:///./src/Services/AbapSuite/Views/LicenseDetails/AbapSuiteLicenseDetails.vue","webpack:///./src/Modules/Reports/Components/ReportsDialog/ReportsDialog.vue?122c","webpack:///./src/Modules/Reports/Models/LeadGeneratorContract.model.ts","webpack:///./src/Modules/Reports/Components/ReportsDialog/ReportsDialog.ts","webpack:///./src/Modules/Reports/Components/ReportsDialog/ReportsDialog.ts?617b","webpack:///./src/Modules/Reports/Components/ReportsDialog/ReportsDialog.vue","webpack:///./src/Modules/Trial/Components/TrialSummary/TrialSummary.vue?bc0f","webpack:///./src/Modules/Reports/Views/Report/ReportContractDetails/ReportContractDetails.vue?b3be","webpack:///./src/Modules/Trial/Models/TrialInfo.model.ts","webpack:///./src/Modules/Trial/Store/Trial.store.ts","webpack:///./src/Modules/Reports/Components/BillingPeriod/BillingPeriod.vue?dd9a","webpack:///./src/Modules/Reports/Components/BillingPeriod/BillingPeriod.ts","webpack:///./src/Modules/Reports/Components/BillingPeriod/BillingPeriod.ts?79bb","webpack:///./src/Modules/Reports/Components/BillingPeriod/BillingPeriod.vue","webpack:///./src/Modules/Auth/Models/SignIn/NewPwdChallenge.model.ts","webpack:///./src/Modules/Licensing/Components/Views/Contracts/ContractsView.vue?db37","webpack:///./src/Modules/Licensing/Components/Views/Contracts/ContractsView.ts","webpack:///./src/Modules/Licensing/Components/Views/Contracts/ContractsView.ts?58f5","webpack:///./src/Modules/Licensing/Components/Views/Contracts/ContractsView.vue","webpack:///./src/Modules/Licensing/Components/LicenseExchangeStatusCell/LicenseExchangeStatusCell.vue?ac2a","webpack:///./src/Modules/Licensing/Components/LicenseExchangeStatusCell/LicenseExchangeStatusCell.ts","webpack:///./src/Modules/Licensing/Components/LicenseExchangeStatusCell/LicenseExchangeStatusCell.ts?ae73","webpack:///./src/Modules/Licensing/Components/LicenseExchangeStatusCell/LicenseExchangeStatusCell.vue","webpack:///./src/Modules/Orgs/Components/OrgRoleSelector/OrgRoleSelector.vue?fae4","webpack:///./src/Modules/Auth/Components/ForgotPwdPanel/ForgotPwdPanel.vue?bfde","webpack:///./src/Modules/Trial/Components/TrialDimensionsSelector/TrialDimensionsSelector.vue?64a7","webpack:///./src/Modules/Trial/Components/TrialDimensionsSelector/TrialDimensionsSelector.ts","webpack:///./src/Modules/Trial/Components/TrialDimensionsSelector/TrialDimensionsSelector.ts?2053","webpack:///./src/Modules/Trial/Components/TrialDimensionsSelector/TrialDimensionsSelector.vue","webpack:///./src/Modules/Notifications/Components/NotificationsInboxPopover/NotificationsInboxPopover.vue?9067","webpack:///./src/Services/Emory/Views/BackupDetails/EmoryBackupDetails.vue?a15e","webpack:///./src/Services/Emory/Views/BackupDetails/EmoryBackupDetails.ts","webpack:///./src/Services/Emory/Views/BackupDetails/EmoryBackupDetails.ts?3fe2","webpack:///./src/Services/Emory/Views/BackupDetails/EmoryBackupDetails.vue","webpack:///./src/Core/Components/Label/Label.vue?3a31","webpack:///./src/Core/Components/Label/Label.ts","webpack:///./src/Core/Components/Label/Label.ts?17c4","webpack:///./src/Core/Components/Label/Label.vue","webpack:///./src/Services/Emory/Views/BackupHistory/EmoryBackupHistory.vue?ec3c","webpack:///./src/Services/Emory/Models/Backups/BackupFilters.model.ts","webpack:///./src/Services/Emory/Models/FileSizeFilter.model.ts","webpack:///./src/Services/Emory/Views/BackupHistory/EmoryBackupHistory.ts","webpack:///./src/Services/Emory/Views/BackupHistory/EmoryBackupHistory.ts?32e5","webpack:///./src/Services/Emory/Views/BackupHistory/EmoryBackupHistory.vue","webpack:///./src/Modules/Licensing/Components/LicenseFiltersPanel/LicenseFiltersPanel.vue?65a6","webpack:///./src/Modules/Licensing/Components/LicenseFiltersPanel/LicenseFiltersPanel.ts","webpack:///./src/Modules/Licensing/Components/LicenseFiltersPanel/LicenseFiltersPanel.ts?cd3a","webpack:///./src/Modules/Licensing/Components/LicenseFiltersPanel/LicenseFiltersPanel.vue","webpack:///./src/Modules/Auth/Models/SignIn/SignInChallenge.model.ts","webpack:///./src/Modules/Licensing/Components/HostRegistrationDialog/HostRegistrationDialog.vue?309c","webpack:///./src/Modules/Licensing/Components/HostRegistrationDialog/HostRegistrationDialog.ts","webpack:///./src/Modules/Licensing/Components/HostRegistrationDialog/HostRegistrationDialog.ts?7ba9","webpack:///./src/Modules/Licensing/Components/HostRegistrationDialog/HostRegistrationDialog.vue","webpack:///./src/Modules/Auth/Components/RespondInvitationPanel/RespondInvitationPanel.vue?d6f4","webpack:///./src/Modules/Auth/Components/RespondInvitationPanel/RespondInvitationPanel.ts","webpack:///./src/Modules/Auth/Components/RespondInvitationPanel/RespondInvitationPanel.ts?2c60","webpack:///./src/Modules/Auth/Components/RespondInvitationPanel/RespondInvitationPanel.vue","webpack:///./src/Modules/Licensing/Components/LicenseTransferDialog/LicenseTransferDialog.vue?0852","webpack:///./src/Modules/Licensing/Components/LicenseTransfer/LicenseTransfer.ts","webpack:///./src/Modules/Licensing/Components/LicenseTransferDialog/LicenseTransferDialog.ts","webpack:///./src/Modules/Licensing/Components/LicenseTransferDialog/LicenseTransferDialog.ts?18a9","webpack:///./src/Modules/Licensing/Components/LicenseTransferDialog/LicenseTransferDialog.vue","webpack:///./src/Core/Utils/Utils.ts","webpack:///./src/Core/Components/Icon/Icon.vue?916d","webpack:///./src/Modules/Trial/Components/TrialSummary/TrialSummary.vue?5cf5","webpack:///./src/Modules/Trial/Components/TrialSummary/TrialSummary.ts","webpack:///./src/Modules/Trial/Components/TrialSummary/TrialSummary.ts?0675","webpack:///./src/Modules/Trial/Components/TrialSummary/TrialSummary.vue","webpack:///./src/Modules/Reports/Models/Payment.model.ts","webpack:///./src/Services/Preinstalled/Views/Hub/AmisHub.vue?0714","webpack:///./src/Services/Preinstalled/Views/Hub/AmisHub.ts","webpack:///./src/Services/Preinstalled/Views/Hub/AmisHub.ts?48a9","webpack:///./src/Services/Preinstalled/Views/Hub/AmisHub.vue","webpack:///./src/Modules/Licensing/Components/LicenseTransfer/LicenseTransfer.vue?fd4d","webpack:///./src/Modules/Reports/Models/ReportContractFilters.ts","webpack:///./src/Modules/Users/Components/UserStatusTag/UserStatusTag.vue?7f12","webpack:///./src/Modules/Users/Models/UserStatus.model.ts","webpack:///./src/Modules/Users/Components/UserStatusTag/UserStatusTag.ts","webpack:///./src/Modules/Users/Components/UserStatusTag/UserStatusTag.ts?76f9","webpack:///./src/Modules/Users/Components/UserStatusTag/UserStatusTag.vue","webpack:///./src/Modules/Licensing/Components/LicenseTransfer/LicenseTransfer.vue?52e1","webpack:///./src/Modules/Licensing/Components/LicenseTransfer/LicenseTransfer.ts?2e99","webpack:///./src/Modules/Licensing/Components/LicenseTransfer/LicenseTransfer.ts?eab3","webpack:///./src/Modules/Licensing/Components/LicenseTransfer/LicenseTransfer.vue","webpack:///./src/Modules/Reports/Models/BillingPeriod.model.ts","webpack:///./src/Services/AbapSuite/Views/Hub/AbapSuiteHub.vue?a5b1","webpack:///./src/Modules/Licensing/Models/ContractOrigin.ts","webpack:///./src/Core/Components/CollapsableCard/CollapsableCard.vue?078a","webpack:///./src/Core/Components/Viewport/Viewport.vue?0736","webpack:///./src/Core/Components/Viewport/Viewport.ts","webpack:///./src/Core/Components/Viewport/Viewport.ts?b27d","webpack:///./src/Core/Components/Viewport/Viewport.vue","webpack:///./src/Modules/Notifications/Models/Notification.model.ts","webpack:///./src/Modules/Licensing/Components/LicenseSummary/LicenseSummary.vue?b52c","webpack:///./src/Services/Settings/Views/AppSettings/AppSettings.vue?eaae","webpack:///./src/Services/Settings/Views/AppSettings/AppSettings.ts","webpack:///./src/Services/Settings/Views/AppSettings/AppSettings.ts?79bd","webpack:///./src/Services/Settings/Views/AppSettings/AppSettings.vue","webpack:///./src/Core/Components/Footer/Footer.vue?57ca","webpack:///./src/Modules/Resources/Components/PlatformSelector/PlatformSelector.vue?ddd8","webpack:///./src/Modules/Resources/Components/PlatformSelector/PlatformSelector.ts","webpack:///./src/Modules/Resources/Components/PlatformSelector/PlatformSelector.ts?f8fb","webpack:///./src/Modules/Resources/Components/PlatformSelector/PlatformSelector.vue","webpack:///./src/Modules/Trial/Components/TrialDimensionSlot/TrialDimensionSlot.vue?7712","webpack:///./src/Core/Models/Cookies/BooleanCookie.model.ts","webpack:///./src/Services/Console/router.ts","webpack:///./src/Modules/Licensing/Components/LicensingStatusTag/LicensingStatusTag.vue?21af","webpack:///./src/Modules/Licensing/Components/LicensingStatusTag/LicensingStatusTag.ts","webpack:///./src/Modules/Licensing/Components/LicensingStatusTag/LicensingStatusTag.ts?d24f","webpack:///./src/Modules/Licensing/Components/LicensingStatusTag/LicensingStatusTag.vue","webpack:///./src/Services/Emory/Views/Documentation/EmoryDocumentation.vue?504e","webpack:///./src/Core/Components/Redirect/Redirect.vue?e595","webpack:///./src/Core/Components/Redirect/Redirect.ts","webpack:///./src/Core/Components/Redirect/Redirect.ts?d172","webpack:///./src/Core/Components/Redirect/Redirect.vue","webpack:///./src/Modules/Auth/Store/Auth.state.ts","webpack:///./src/Core/Components/Title/Title.vue?cf67","webpack:///./src/Services/Emory/Views/BackupHistory/EmoryBackupHistory.vue?1530","webpack:///./src/Modules/Orgs/Store/Orgs.store.ts","webpack:///./src/Services/Emory/Models/Backups/BackupObject.model.ts","webpack:///./src/Services/Emory/Models/Backups/BackupLifecycle.model.ts","webpack:///./src/Services/Emory/Models/Backups/Backup.model.ts","webpack:///./src/Modules/Resources/Models/Release.model.ts","webpack:///./src/Core/Components/Details/Details.vue?867b","webpack:///./src/Services/Emory/Views/Contracts/EmoryContracts.vue?fa11","webpack:///./src/Services/Emory/Views/Contracts/EmoryContracts.ts","webpack:///./src/Services/Emory/Views/Contracts/EmoryContracts.ts?29ed","webpack:///./src/Services/Emory/Views/Contracts/EmoryContracts.vue","webpack:///./src/Modules/Orgs/Components/OrgLicensingSummaryView/OrgsLicensingSummaryView.vue?d10a","webpack:///./src/Modules/Auth/Components/AuthController/AuthController.vue?c089","webpack:///./src/Modules/Users/Components/UserSummaryBanner/UserSummaryBanner.vue?48d1","webpack:///./src/Modules/Users/Components/UserSummaryBanner/UserSummaryBanner.ts","webpack:///./src/Modules/Users/Components/UserSummaryBanner/UserSummaryBanner.ts?e99b","webpack:///./src/Modules/Users/Components/UserSummaryBanner/UserSummaryBanner.vue","webpack:///./src/Modules/Users/Views/UsersManager/UsersManager.vue?707c","webpack:///./src/Modules/Users/Views/UsersManager/UsersManager.ts","webpack:///./src/Modules/Users/Views/UsersManager/UsersManager.ts?d0eb","webpack:///./src/Modules/Users/Views/UsersManager/UsersManager.vue","webpack:///./src/Core/Components/Empty/Empty.vue?1b88","webpack:///./src/Modules/Reports/Components/ContractSelector/ContractSelector.vue?f6f1","webpack:///./src/Modules/Reports/Components/ContractSelector/ContractSelector.ts","webpack:///./src/Modules/Reports/Components/ContractSelector/ContractSelector.ts?cfd4","webpack:///./src/Modules/Reports/Components/ContractSelector/ContractSelector.vue","webpack:///./src/Services/Console/Views/Hub/ConsoleHub.vue?7830","webpack:///./src/Services/Emory/Views/Hub/EmoryHub.vue?3af6","webpack:///./src/Core/Utils/Notify.ts","webpack:///./src/Modules/Auth/Mixins/StateCleaner.mixin.ts","webpack:///./src/Modules/Licensing/Components/AdminCreateContractDialog/AdminCreateContractDialog.vue?11b3","webpack:///./src/Core/Components/FiltersCollapse/FiltersCollapse.vue?b43c","webpack:///./src/Services/Emory/Components/EmoryBackupFiltersPanel/EmoryBackupFiltersPanel.vue?ff26","webpack:///./src/Services/Emory/Components/EmoryBackupFiltersPanel/EmoryBackupFiltersPanel.ts","webpack:///./src/Services/Emory/Components/EmoryBackupFiltersPanel/EmoryBackupFiltersPanel.ts?c488","webpack:///./src/Services/Emory/Components/EmoryBackupFiltersPanel/EmoryBackupFiltersPanel.vue","webpack:///./src/Core/Components/UserMenu/UserMenu.vue?7c6d","webpack:///./src/Services/Preinstalled/Views/Documentation/PreinstalledDocumentation.vue?d982","webpack:///./src/Services/Preinstalled/Views/Documentation/PreinstalledDocumentation.ts","webpack:///./src/Services/Preinstalled/Views/Documentation/PreinstalledDocumentation.ts?1529","webpack:///./src/Services/Preinstalled/Views/Documentation/PreinstalledDocumentation.vue","webpack:///./src/Core/Components/Drawer/Drawer.vue?304a","webpack:///./src/Core/Components/Drawer/Drawer.ts","webpack:///./src/Core/Components/Drawer/Drawer.ts?f23c","webpack:///./src/Core/Components/Drawer/Drawer.vue","webpack:///./src/Core/Mixins/RedirectCountdown.mixin.ts","webpack:///./src/Services/Emory/Views/BackupHistory/EmoryBackupHistory.vue?987a","webpack:///./src/Modules/Notifications/Components/NotificationSummaryContainer/NotificationSummaryContainer.vue?f091","webpack:///./src/Modules/Reports/Components/ContractsReport/ContractsReport.vue?efc3","webpack:///./src/Modules/Reports/Components/ContractsReport/ContractsReport.ts","webpack:///./src/Modules/Reports/Components/ContractsReport/ContractsReport.ts?3440","webpack:///./src/Modules/Reports/Components/ContractsReport/ContractsReport.vue","webpack:///./src/Services/Emory/Views/ContractDetails/EmoryContractDetails.vue?f343","webpack:///./src/Services/Emory/Views/ContractDetails/EmoryContractDetails.ts","webpack:///./src/Services/Emory/Views/ContractDetails/EmoryContractDetails.ts?e319","webpack:///./src/Services/Emory/Views/ContractDetails/EmoryContractDetails.vue","webpack:///./src/Core/Components/FeatureCard/FeatureCard.vue?c6b3","webpack:///./src/Services/Emory/Components/BackupAzureSummary/BackupAzureSummary.vue?2ed1","webpack:///./src/Services/Emory/Components/BackupAzureSummary/BackupAzureSummary.ts","webpack:///./src/Services/Emory/Components/BackupAzureSummary/BackupAzureSummary.ts?d454","webpack:///./src/Services/Emory/Components/BackupAzureSummary/BackupAzureSummary.vue","webpack:///./src/Modules/Licensing/Components/Views/Licenses/LicensesView.vue?e21d","webpack:///./src/Modules/Orgs/Components/OrgRoleSelector/OrgRoleSelector.vue?1cd2","webpack:///./src/Modules/Reports/Errors/GetContractReportApiError.ts","webpack:///./src/Modules/Reports/Errors/GetContractsReportApiError.ts","webpack:///./src/Modules/Reports/API/Reports.api.ts","webpack:///./src/Modules/Auth/Components/RecoveryPanel/RecoveryPanel.vue?8e71","webpack:///./src/Modules/Auth/Models/Recovery.model.ts","webpack:///./src/Modules/Auth/Components/RecoveryPanel/RecoveryPanel.ts","webpack:///./src/Modules/Auth/Components/RecoveryPanel/RecoveryPanel.ts?fb68","webpack:///./src/Modules/Auth/Components/RecoveryPanel/RecoveryPanel.vue","webpack:///./src/Modules/Auth/Components/RoleTesting/RoleTesting.vue?98c0","webpack:///./src/Modules/Auth/Components/RoleTesting/RoleTesting.ts","webpack:///./src/Modules/Auth/Components/RoleTesting/RoleTesting.ts?a211","webpack:///./src/Modules/Auth/Components/RoleTesting/RoleTesting.vue","webpack:///./src/Modules/Notifications/Components/NotificationSkeleton/NotificationSkeleton.vue?898a","webpack:///src/Modules/Notifications/Components/NotificationSkeleton/NotificationSkeleton.vue","webpack:///./src/Modules/Notifications/Components/NotificationSkeleton/NotificationSkeleton.vue?5c60","webpack:///./src/Modules/Notifications/Components/NotificationSkeleton/NotificationSkeleton.vue","webpack:///./src/Modules/Users/Views/UsersManager/UsersManager.vue?1902","webpack:///./src/Modules/Users/Components/UserGeneralSummary/UserGeneralSummary.vue?3f91","webpack:///./src/Modules/Users/Components/UserGeneralSummary/UserGeneralSummary.ts","webpack:///./src/Modules/Users/Components/UserGeneralSummary/UserGeneralSummary.ts?34ba","webpack:///./src/Modules/Users/Components/UserGeneralSummary/UserGeneralSummary.vue","webpack:///./src/Modules/Resources/Models/Platform.model.ts","webpack:///./src/Services/Emory/Components/TrialDialog/EmoryTrialDialog.vue?808f","webpack:///./src/Services/Emory/Components/TrialDialog/EmoryTrialDialog.ts","webpack:///./src/Services/Emory/Components/TrialDialog/EmoryTrialDialog.ts?e2b0","webpack:///./src/Services/Emory/Components/TrialDialog/EmoryTrialDialog.vue","webpack:///./src/Core/Utils/FileSize.ts","webpack:///./src/Modules/Licensing/Components/DimensionSelector/DimensionSelector.vue?fef4","webpack:///./src/Modules/Licensing/Components/DimensionSelector/DimensionSelector.ts","webpack:///./src/Modules/Licensing/Components/DimensionSelector/DimensionSelector.ts?982c","webpack:///./src/Modules/Licensing/Components/DimensionSelector/DimensionSelector.vue","webpack:///./src/Core/Components/ErrorAlert/ErrorAlert.vue?35ce","webpack:///./src/Core/Components/Header/Header.vue?e24f","webpack:///./src/Core/Components/CopyLabel/CopyLabel.vue?8837","webpack:///./src/Core/Components/CopyLabel/CopyLabel.ts","webpack:///./src/Core/Components/CopyLabel/CopyLabel.ts?8d15","webpack:///./src/Core/Components/CopyLabel/CopyLabel.vue","webpack:///./src/Modules/Auth/Components/RespondInvitationPanel/RespondInvitationPanel.vue?7b73","webpack:///./src/Modules/Notifications/Components/OrgInvitationsOutboxDialog/OrgInvitationsOutboxDialog.vue?a7a5","webpack:///./src/Modules/Notifications/Components/OrgInvitationsOutboxDialog/OrgInvitationsOutboxDialog.ts","webpack:///./src/Modules/Notifications/Components/OrgInvitationsOutboxDialog/OrgInvitationsOutboxDialog.ts?8083","webpack:///./src/Modules/Notifications/Components/OrgInvitationsOutboxDialog/OrgInvitationsOutboxDialog.vue","webpack:///./src/Modules/Orgs/Components/OrgLicensingSummaryView/OrgsLicensingSummaryView.vue?b7b0","webpack:///./src/Modules/Orgs/Models/OrgLicensingSummary.model.ts","webpack:///./src/Modules/Orgs/Models/OrgsLicensingSummaryFilters.model.ts","webpack:///./src/Modules/Orgs/Components/OrgLicensingSummaryView/OrgsLicensingSummaryView.ts","webpack:///./src/Modules/Orgs/Components/OrgLicensingSummaryView/OrgsLicensingSummaryView.ts?77ef","webpack:///./src/Modules/Orgs/Components/OrgLicensingSummaryView/OrgsLicensingSummaryView.vue","webpack:///./src/Modules/Orgs/Components/RoleSelector/RoleSelector.vue?7e90","webpack:///./src/Modules/Orgs/Components/RoleSelector/RoleSelector.ts","webpack:///./src/Modules/Orgs/Components/RoleSelector/RoleSelector.ts?00c3","webpack:///./src/Modules/Orgs/Components/RoleSelector/RoleSelector.vue","webpack:///./src/Modules/Trial/Components/TrialDimensionsSelector/TrialDimensionsSelector.vue?f595","webpack:///./src/Modules/Licensing/Components/ContractValiditySummary/ContractValiditySummary.vue?dd95","webpack:///./src/Modules/Licensing/Components/ContractValiditySummary/ContractValiditySummary.ts","webpack:///./src/Modules/Licensing/Components/ContractValiditySummary/ContractValiditySummary.ts?37d9","webpack:///./src/Modules/Licensing/Components/ContractValiditySummary/ContractValiditySummary.vue","webpack:///./src/Core/Components/MenuItem/MenuItem.vue?5625","webpack:///./src/Modules/Reports/Components/ReportContractsExpand/ReportContractsExpand.vue?b676","webpack:///./src/Modules/Reports/Components/ReportContractsExpand/ReportContractsExpand.ts","webpack:///./src/Modules/Reports/Components/ReportContractsExpand/ReportContractsExpand.ts?2804","webpack:///./src/Modules/Reports/Components/ReportContractsExpand/ReportContractsExpand.vue","webpack:///./src/Core/Components/AwsRegionSelector/AwsRegionSelector.vue?5987","webpack:///./src/Core/Models/AwsRegion.model.ts","webpack:///./src/Core/Components/AwsRegionSelector/AwsRegionSelector.ts","webpack:///./src/Core/Components/AwsRegionSelector/AwsRegionSelector.ts?f0c1","webpack:///./src/Core/Components/AwsRegionSelector/AwsRegionSelector.vue","webpack:///./src/Modules/Orgs/Errors/GetOrgLicensingSummaryApiError.ts","webpack:///./src/Modules/Orgs/Errors/UpdateOrgApiError.ts","webpack:///./src/Modules/Orgs/Errors/GetOrgRolesApiError.ts","webpack:///./src/Modules/Orgs/Errors/GetOrgSuggestionsApiError.ts","webpack:///./src/Modules/Orgs/Errors/CreateOrgApiError.ts","webpack:///./src/Modules/Orgs/Errors/SetDefaultOrganizationApiError.ts","webpack:///./src/Modules/Orgs/Errors/GetOrgChildrenApiError.ts","webpack:///./src/Modules/Orgs/API/Orgs.api.ts","webpack:///./src/Core/Components/ServiceSelector/ServiceSelector.vue?8504","webpack:///./src/Core/Components/ErrorAlert/ErrorAlert.vue?4089","webpack:///./src/Core/Components/ErrorAlert/ErrorAlert.ts","webpack:///./src/Core/Components/ErrorAlert/ErrorAlert.ts?f149","webpack:///./src/Core/Components/ErrorAlert/ErrorAlert.vue","webpack:///./src/Services/Emory/Components/BackupExportDialog/EmoryBackupExportDialog.vue?14e2","webpack:///./src/Services/Emory/Components/BackupExportDialog/EmoryBackupExportDialog.ts","webpack:///./src/Services/Emory/Components/BackupExportDialog/EmoryBackupExportDialog.ts?efeb","webpack:///./src/Services/Emory/Components/BackupExportDialog/EmoryBackupExportDialog.vue","webpack:///./src/Services sync router\\.ts$","webpack:///./src/Modules/Users/Components/UsersRoleManager/UsersRoleManager.vue?8620","webpack:///./src/Modules/Reports/Components/LeadGeneratorSelector/LeadGeneratorSelector.vue?7b73","webpack:///./src/Modules/Reports/Components/LeadGeneratorSelector/LeadGeneratorSelector.ts","webpack:///./src/Modules/Reports/Components/LeadGeneratorSelector/LeadGeneratorSelector.ts?3c12","webpack:///./src/Modules/Reports/Components/LeadGeneratorSelector/LeadGeneratorSelector.vue","webpack:///./src/Modules/Licensing/Components/LicenseExchangeStatusCell/LicenseExchangeStatusCell.vue?fa3e","webpack:///./src/Services/Emory/Views/Hub/EmoryHub.vue?031e","webpack:///./src/Services/Emory/Views/Hub/EmoryHub.ts","webpack:///./src/Services/Emory/Views/Hub/EmoryHub.ts?b1aa","webpack:///./src/Services/Emory/Views/Hub/EmoryHub.vue","webpack:///./src/Modules/Auth/Components/NewPwdForm/NewPwdForm.vue?ca0f","webpack:///./src/Modules/Orgs/Components/OrgRoleTreeItem/OrgRoleTreeItem.vue?edc4","webpack:///./src/Core/Components/DateLabel/DateLabel.vue?f7bc","webpack:///./src/Modules/Orgs/Components/OrgSuggestionListItem/OrgSuggestionListItem.vue?f870","webpack:///./src/Modules/Orgs/Components/OrgSuggestionListItem/OrgSuggestionListItem.ts","webpack:///./src/Modules/Orgs/Components/OrgSuggestionListItem/OrgSuggestionListItem.ts?57fd","webpack:///./src/Modules/Orgs/Components/OrgSuggestionListItem/OrgSuggestionListItem.vue","webpack:///./src/Services/AbapSuite/router.ts","webpack:///./src/Core/Mixins/PageLayout.mixin.ts","webpack:///./src/Modules/Licensing/Components/ContractFiltersPanel/ContractFiltersPanel.vue?75ab","webpack:///./src/Modules/Licensing/Components/ContractFiltersPanel/ContractFiltersPanel.ts","webpack:///./src/Modules/Licensing/Components/ContractFiltersPanel/ContractFiltersPanel.ts?938d","webpack:///./src/Modules/Licensing/Components/ContractFiltersPanel/ContractFiltersPanel.vue","webpack:///./src/Services/Emory/Components/EmoryBackupFiltersPanel/EmoryBackupFiltersPanel.vue?4d0a","webpack:///./src/Modules/Notifications/Store/NotificationsInbox.store.ts","webpack:///./src/Modules/Licensing/Models/Contract.model.ts","webpack:///./src/Modules/Licensing/Models/ContractFilters.model.ts","webpack:///./src/Modules/Notifications/Components/NotificationsList/NotificationsList.vue?f1e4","webpack:///./src/Modules/Notifications/Components/NotificationsList/NotificationsList.ts","webpack:///./src/Modules/Notifications/Components/NotificationsList/NotificationsList.ts?bf15","webpack:///./src/Modules/Notifications/Components/NotificationsList/NotificationsList.vue","webpack:///./src/Modules/Notifications/Components/NotificationSummaryContainer/NotificationSummaryContainer.vue?9438","webpack:///./src/Modules/Notifications/Components/NotificationSummaryContainer/NotificationSummaryContainer.ts","webpack:///./src/Modules/Notifications/Components/NotificationSummaryContainer/NotificationSummaryContainer.ts?3de3","webpack:///./src/Modules/Notifications/Components/NotificationSummaryContainer/NotificationSummaryContainer.vue","webpack:///./src/Modules/Notifications/Components/NotificationContent/LicenseSharingNotifContent/LicenseSharingNotifContent.vue?fadd","webpack:///./src/Modules/Notifications/Components/NotificationContent/LicenseSharingNotifContent/LicenseSharingNotifContent.ts","webpack:///./src/Modules/Notifications/Components/NotificationContent/LicenseSharingNotifContent/LicenseSharingNotifContent.ts?4106","webpack:///./src/Modules/Notifications/Components/NotificationContent/LicenseSharingNotifContent/LicenseSharingNotifContent.vue","webpack:///./src/Modules/Users/Models/User.model.ts","webpack:///./src/Modules/Notifications/Components/NotificationContent/OrgAccessRequestNotifContent/OrgAccessRequestNotifContent.vue?257b","webpack:///./src sync \\.vue$","webpack:///./src/Services/Preinstalled/Views/Documentation/PreinstalledDocumentation.vue?590c","webpack:///./src/Modules/Resources/Models/ProductVersion.model.ts","webpack:///./src/Modules/Orgs/Components/InviteMemberForm/InviteMemberForm.vue?cf2f","webpack:///./src/Modules/Orgs/Components/InviteMemberForm/InviteMemberForm.ts","webpack:///./src/Modules/Orgs/Components/InviteMemberForm/InviteMemberForm.ts?0695","webpack:///./src/Modules/Orgs/Components/InviteMemberForm/InviteMemberForm.vue","webpack:///./src/Services/Emory/Components/BackupGCloudSummary/BackupGCloudSummary.vue?ac50","webpack:///./src/Services/Emory/Components/BackupGCloudSummary/BackupGCloudSummary.ts","webpack:///./src/Services/Emory/Components/BackupGCloudSummary/BackupGCloudSummary.ts?d7b5","webpack:///./src/Services/Emory/Components/BackupGCloudSummary/BackupGCloudSummary.vue","webpack:///./src/Services/Emory/Errors/GetBackupsExportApiError.ts","webpack:///./src/Services/Emory/Errors/GetBackupLevelsApiError.ts","webpack:///./src/Services/Emory/Errors/GetBackupsApiError.ts","webpack:///./src/Services/Emory/API/EmoryBackups.api.ts","webpack:///./src/Services/Settings/Views/AccountSettings/AccountSettings.vue?5e43","webpack:///./src/Core/Components/Card/Card.vue?2d15","webpack:///./src/Core/Components/Card/Card.ts","webpack:///./src/Core/Components/Card/Card.ts?5d19","webpack:///./src/Core/Components/Card/Card.vue","webpack:///./src/Services/Preinstalled/Views/Catalog/AmisCatalog.vue?d37e","webpack:///./src/Core/Components/NotificationCenter/NotificationCenter.vue?d111","webpack:///./src/Core/Components/NotificationCenter/NotificationCenter.ts","webpack:///./src/Core/Components/NotificationCenter/NotificationCenter.ts?418e","webpack:///./src/Core/Components/NotificationCenter/NotificationCenter.vue","webpack:///./src/Modules/Licensing/Components/LicenseUsageSummary/LicenseUsageSummary.vue?148d","webpack:///./src/Modules/Licensing/Components/LicenseUsageSummary/LicenseUsageSummary.ts","webpack:///./src/Modules/Licensing/Components/LicenseUsageSummary/LicenseUsageSummary.ts?0d03","webpack:///./src/Modules/Licensing/Components/LicenseUsageSummary/LicenseUsageSummary.vue","webpack:///./src/Services/AbapSuite/Views/ContractDetails/AbapSuiteContractDetails.vue?c9e7","webpack:///./src/Services/AbapSuite/Views/ContractDetails/AbapSuiteContractDetails.ts","webpack:///./src/Services/AbapSuite/Views/ContractDetails/AbapSuiteContractDetails.ts?b0cb","webpack:///./src/Services/AbapSuite/Views/ContractDetails/AbapSuiteContractDetails.vue","webpack:///./src/Services/Emory/Models/Backups/BackupHistoryPage.model.ts","webpack:///./src/Services/Emory/Models/Backups/BackupLevel.model.ts","webpack:///./src/Services/Emory/Store/EmoryBackups.store.ts","webpack:///./src/Modules/Auth/Mixins/SignOut.mixin.ts","webpack:///./src/Core/Components/MenuItem/MenuItem.vue?4e9c","webpack:///./src/Core/Components/MenuItem/MenuItem.ts","webpack:///./src/Core/Components/MenuItem/MenuItem.ts?4413","webpack:///./src/Core/Components/MenuItem/MenuItem.vue","webpack:///./src/Core/Components/Details/Details.vue?b789","webpack:///./src/Core/Components/Details/Details.ts","webpack:///./src/Core/Components/Details/Details.ts?20ea","webpack:///./src/Core/Components/Details/Details.vue","webpack:///./src/Core/Components/YesNoLabel/YesNoLabel.vue?6c6a","webpack:///./src/Core/Components/YesNoLabel/YesNoLabel.ts","webpack:///./src/Core/Components/YesNoLabel/YesNoLabel.ts?dc58","webpack:///./src/Core/Components/YesNoLabel/YesNoLabel.vue","webpack:///./src/Services/AbapSuite/Views/Contracts/AbapSuiteContracts.vue?3dd0","webpack:///./src/Services/AbapSuite/Views/Contracts/AbapSuiteContracts.ts","webpack:///./src/Services/AbapSuite/Views/Contracts/AbapSuiteContracts.ts?c137","webpack:///./src/Services/AbapSuite/Views/Contracts/AbapSuiteContracts.vue","webpack:///./src/Modules/Notifications/Components/NotificationContent/OrgInvitationNotifContent/OrgInvitationNotifContent.vue?feab","webpack:///./src/Modules/Notifications/Components/NotificationContent/OrgInvitationNotifContent/OrgInvitationNotifContent.ts","webpack:///./src/Modules/Notifications/Components/NotificationContent/OrgInvitationNotifContent/OrgInvitationNotifContent.ts?d230","webpack:///./src/Modules/Notifications/Components/NotificationContent/OrgInvitationNotifContent/OrgInvitationNotifContent.vue","webpack:///./src/Modules/Notifications/Components/OrgAccessRequestRoleSelectionDialog/OrgAccessRequestRoleSelectionDialog.vue?6935","webpack:///./src/Modules/Notifications/Components/OrgAccessRequestRoleSelectionDialog/OrgAccessRequestRoleSelectionDialog.ts","webpack:///./src/Modules/Notifications/Components/OrgAccessRequestRoleSelectionDialog/OrgAccessRequestRoleSelectionDialog.ts?0ad8","webpack:///./src/Modules/Notifications/Components/OrgAccessRequestRoleSelectionDialog/OrgAccessRequestRoleSelectionDialog.vue","webpack:///./src/Modules/Licensing/Components/LicenseSummary/LicenseSummary.vue?1912","webpack:///./src/Modules/Licensing/Components/LicenseSummary/LicenseSummary.ts","webpack:///./src/Modules/Licensing/Components/LicenseSummary/LicenseSummary.ts?01e2","webpack:///./src/Modules/Licensing/Components/LicenseSummary/LicenseSummary.vue","webpack:///./src/Modules/Notifications/Models/OrgAccessRequestNotification.model.ts","webpack:///./src/Modules/Notifications/Models/LicenseSharingNotification.model.ts","webpack:///./src/Modules/Notifications/Models/LicenseReturnNotification.model.ts","webpack:///./src/Modules/Notifications/Models/ContractPurchaseNotification.model.ts","webpack:///./src/Modules/Notifications/Models/Notification.factory.ts","webpack:///./src/Modules/Orgs/Components/OrgRoleTag/OrgRoleTag.vue?93ef","webpack:///./src/Modules/Orgs/Components/OrgRoleTag/OrgRoleTag.ts","webpack:///./src/Modules/Orgs/Components/OrgRoleTag/OrgRoleTag.ts?9b08","webpack:///./src/Modules/Orgs/Components/OrgRoleTag/OrgRoleTag.vue","webpack:///./src/Modules/Orgs/Components/OrgsContractsSummaryFiltersPanel/OrgsLicensingSummaryFiltersPanel.vue?cc6e","webpack:///./src/Modules/Orgs/Components/OrgsContractsSummaryFiltersPanel/OrgsLicensingSummaryFiltersPanel.ts","webpack:///./src/Modules/Orgs/Components/OrgsContractsSummaryFiltersPanel/OrgsLicensingSummaryFiltersPanel.ts?e2b2","webpack:///./src/Modules/Orgs/Components/OrgsContractsSummaryFiltersPanel/OrgsLicensingSummaryFiltersPanel.vue","webpack:///./src/Services/Settings/Views/OrganizationSetup/OrganizationSetup.vue?a976","webpack:///./src/Services/Settings/Views/OrganizationSetup/OrganizationSetup.ts","webpack:///./src/Services/Settings/Views/OrganizationSetup/OrganizationSetup.ts?56e6","webpack:///./src/Services/Settings/Views/OrganizationSetup/OrganizationSetup.vue","webpack:///./src/Core/Components/YesNoCheckboxGroup/YesNoCheckboxGroup.vue?13e3","webpack:///./src/Core/Components/YesNoCheckboxGroup/YesNoCheckboxGroup.ts?c346","webpack:///./src/Core/Components/YesNoCheckboxGroup/YesNoCheckboxGroup.ts?525d","webpack:///./src/Core/Components/YesNoCheckboxGroup/YesNoCheckboxGroup.vue","webpack:///./src/Core/Components/Layouts/ColumnsLayout/ColumnsLayout.vue?db83","webpack:///./src/Core/Components/Layouts/ColumnsLayout/ColumnsLayout.ts","webpack:///./src/Core/Components/Layouts/ColumnsLayout/ColumnsLayout.ts?3877","webpack:///./src/Core/Components/Layouts/ColumnsLayout/ColumnsLayout.vue","webpack:///./src/Modules/Reports/Components/FinancialInfoReport/FinancialInfoReport.vue?967b","webpack:///./src/Core/Models/ConsoleRoute.ts","webpack:///./src/Core/Components/SuperadminButton/SuperadminButton.vue?5cc6","webpack:///./src/Core/Components/SuperadminButton/SuperadminButton.vue?0360","webpack:///./src/Core/Components/SuperadminButton/SuperadminButton.ts","webpack:///./src/Core/Components/SuperadminButton/SuperadminButton.ts?f243","webpack:///./src/Core/Components/SuperadminButton/SuperadminButton.vue","webpack:///./src/Modules/Notifications/Store/NotificationsOutbox.store.ts","webpack:///./src/Modules/Resources/Errors/GetPermissionsApiError.ts","webpack:///./src/Modules/Resources/Errors/GetReleasesApiError.ts","webpack:///./src/Modules/Resources/Errors/GetResourceLinkApiError.ts","webpack:///./src/Modules/Resources/Errors/CreateReleaseApiError.ts","webpack:///./src/Modules/Resources/Errors/GetWizardReleasesApiError.ts","webpack:///./src/Modules/Resources/Errors/CreateProductVersionApiError.ts","webpack:///./src/Modules/Resources/Errors/CreatePlatformApiError.ts","webpack:///./src/Modules/Resources/Errors/UploadResourceApiError.ts","webpack:///./src/Modules/Resources/API/Resources.api.ts","webpack:///./src/Modules/Licensing/Components/ContractsSummaryView/ContractsSummaryView.vue?7a51","webpack:///./src/Modules/Notifications/Components/NotificationsInboxPopover/NotificationsInboxPopover.vue?b7b3","webpack:///./src/Modules/Notifications/Components/NotificationsInboxPopover/NotificationsInboxPopover.ts","webpack:///./src/Modules/Notifications/Components/NotificationsInboxPopover/NotificationsInboxPopover.ts?6d4c","webpack:///./src/Modules/Notifications/Components/NotificationsInboxPopover/NotificationsInboxPopover.vue","webpack:///./src/Core/App.vue?9db0","webpack:///./src/Modules/Licensing/Components/ContractsSummaryView/ContractsSummaryView.vue?e30c","webpack:///./src/Modules/Licensing/Models/ContractsSummaryFilters.model.ts","webpack:///./src/Modules/Licensing/Models/LicensingSummary.model.ts","webpack:///./src/Modules/Licensing/Components/ContractsSummaryView/ContractsSummaryView.ts","webpack:///./src/Modules/Licensing/Components/ContractsSummaryView/ContractsSummaryView.ts?9ea3","webpack:///./src/Modules/Licensing/Components/ContractsSummaryView/ContractsSummaryView.vue","webpack:///./src/Services/Emory/Views/LicenseDetails/EmoryLicenseDetails.vue?4478","webpack:///./src/Services/Emory/Views/LicenseDetails/EmoryLicenseDetails.ts","webpack:///./src/Services/Emory/Views/LicenseDetails/EmoryLicenseDetails.ts?dabb","webpack:///./src/Services/Emory/Views/LicenseDetails/EmoryLicenseDetails.vue","webpack:///./src/Modules/Licensing/Components/Views/ContractDetails/ContractDetailsView.vue?3f78","webpack:///./src/Modules/Licensing/Components/Views/ContractDetails/ContractDetailsView.ts","webpack:///./src/Modules/Licensing/Components/Views/ContractDetails/ContractDetailsView.ts?bb61","webpack:///./src/Modules/Licensing/Components/Views/ContractDetails/ContractDetailsView.vue","webpack:///./src/Core/Components/UserMenu/UserMenu.vue?78b9","webpack:///./src/Core/Components/UserMenu/UserMenu.ts","webpack:///./src/Core/Components/UserMenu/UserMenu.ts?d239","webpack:///./src/Core/Components/UserMenu/UserMenu.vue","webpack:///./src/Modules/Resources/Models/ResourcePermissions.model.ts","webpack:///./src/Modules/Resources/Store/Resources.store.ts","webpack:///./src/Modules/Notifications/Models/OrgInvitationNotification.model.ts","webpack:///./src/Services/Emory/Views/Documentation/EmoryDocumentation.vue?c1d9","webpack:///./src/Services/Emory/Views/Documentation/EmoryDocumentation.ts","webpack:///./src/Services/Emory/Views/Documentation/EmoryDocumentation.ts?520c","webpack:///./src/Services/Emory/Views/Documentation/EmoryDocumentation.vue","webpack:///./src/Modules/Licensing/Components/HostSummary/HostSummary.vue?1670","webpack:///./src/Modules/Licensing/Components/HostSummary/HostSummary.ts","webpack:///./src/Modules/Licensing/Components/HostSummary/HostSummary.ts?8eec","webpack:///./src/Modules/Licensing/Components/HostSummary/HostSummary.vue","webpack:///./src/Core/Components/FiltersDrawer/FiltersDrawer.vue?05d5","webpack:///./src/Core/Components/FiltersDrawer/FiltersDrawer.ts","webpack:///./src/Core/Components/FiltersDrawer/FiltersDrawer.ts?c8e5","webpack:///./src/Core/Components/FiltersDrawer/FiltersDrawer.vue","webpack:///./src/Modules/Users/Store/Users.store.ts","webpack:///./src/Modules/Orgs/Components/OrgSwitcher/OrgSwitcher.vue?379b","webpack:///./src/Modules/Orgs/Components/OrgSwitcher/OrgSwitcher.ts","webpack:///./src/Modules/Orgs/Components/OrgSwitcher/OrgSwitcher.ts?c931","webpack:///./src/Modules/Orgs/Components/OrgSwitcher/OrgSwitcher.vue","webpack:///./src/Modules/Licensing/Components/ContractNotificationsSummary/ContractNotificationsSummary.vue?86ed","webpack:///./src/Modules/Licensing/Components/ContractNotificationsSummary/ContractNotificationsSummary.ts","webpack:///./src/Modules/Licensing/Components/ContractNotificationsSummary/ContractNotificationsSummary.ts?8385","webpack:///./src/Modules/Licensing/Components/ContractNotificationsSummary/ContractNotificationsSummary.vue","webpack:///./src/Services/ServiceID.ts","webpack:///./src/Modules/Legal/Store/Legal.store.ts","webpack:///./src/Services/Emory/Models/Backups/CloudProvider/BackupCloudProvider.model.ts","webpack:///./src/Services/Emory/Models/Backups/CloudProvider/BackupAwsCloudProvider.model.ts","webpack:///./src/Services/Emory/Models/Backups/CloudProvider/BackupAzureCloudProvider.model.ts","webpack:///./src/Services/Emory/Models/Backups/CloudProvider/BackupGCloudCloudProvider.model.ts","webpack:///./src/Modules/Licensing/Components/LicenseGeneralSummary/LicenseGeneralSummary.vue?3d57","webpack:///./src/Modules/Licensing/Components/LicenseGeneralSummary/LicenseGeneralSummary.ts","webpack:///./src/Modules/Licensing/Components/LicenseGeneralSummary/LicenseGeneralSummary.ts?a75c","webpack:///./src/Modules/Licensing/Components/LicenseGeneralSummary/LicenseGeneralSummary.vue","webpack:///./src/Core/Components/Header/Header.vue?2265","webpack:///./src/Core/Components/Label/Label.vue?8917","webpack:///./src/Modules/Orgs/Components/OrgRoleSelector/OrgRoleSelector.vue?5d7a","webpack:///./src/Modules/Orgs/Components/OrgRoleSelector/OrgRoleSelector.ts","webpack:///./src/Modules/Orgs/Components/OrgRoleSelector/OrgRoleSelector.ts?4607","webpack:///./src/Modules/Orgs/Components/OrgRoleSelector/OrgRoleSelector.vue","webpack:///./src/Modules/Auth/Components/AuthPage/AuthPage.vue?77a7","webpack:///./src/Core/Models/ExportFormat.model.ts","webpack:///./src/Services/Console/Views/Hub/ConsoleHub.vue?fa96","webpack:///./src/Core/Directives/ClickOutside.ts","webpack:///./src/Core/Filters/Capitalize.ts","webpack:///./src/Core/Filters/Pluralize.ts","webpack:///./src/Core/Router/modules.ts","webpack:///./src/Core/Router/index.ts","webpack:///./src/Core/Store/modules.ts","webpack:///./src/Core/Store/index.ts","webpack:///./src/Core/Log/LoggerConfig.ts","webpack:///./src/Core/Utils/Env.ts","webpack:///./src/Core/Log/Logger.ts","webpack:///./src/Core/Components/index.ts","webpack:///./src/Core/main.ts","webpack:///./src/Modules/Licensing/Components/Views/LicenseDetails/LicenseDetailsView.vue?aaf5","webpack:///./src/Modules/Licensing/Components/Views/LicenseDetails/LicenseDetailsView.ts","webpack:///./src/Modules/Licensing/Components/Views/LicenseDetails/LicenseDetailsView.ts?683c","webpack:///./src/Modules/Licensing/Components/Views/LicenseDetails/LicenseDetailsView.vue","webpack:///./src/Modules/Trial/Components/TrialCounter/TrialCounter.vue?1077","webpack:///./src/Modules/Licensing/Components/DimensionSelectorOption/DimensionSelectorOption.vue?7f54","webpack:///./src/Modules/Trial/Components/TrialDimensionSlot/TrialDimensionSlot.vue?0e54","webpack:///./src/Modules/Trial/Components/TrialDimensionSlot/TrialDimensionSlot.ts","webpack:///./src/Modules/Trial/Components/TrialDimensionSlot/TrialDimensionSlot.ts?9fea","webpack:///./src/Modules/Trial/Components/TrialDimensionSlot/TrialDimensionSlot.vue","webpack:///./src/Modules/Licensing/Models/ExpirationThreshold.model.ts","webpack:///./src/Modules/Resources/Components/ReleasesCollapse/ReleasesCollapse.vue?bb8c","webpack:///./src/Modules/Licensing/Components/Views/Licenses/LicensesView.vue?5c00","webpack:///./src/Modules/Licensing/Components/Views/Licenses/LicensesView.ts","webpack:///./src/Modules/Licensing/Components/Views/Licenses/LicensesView.ts?54d1","webpack:///./src/Modules/Licensing/Components/Views/Licenses/LicensesView.vue","webpack:///./src/Services/Emory/router.ts","webpack:///./src/Modules/Licensing/Components/LicenseTransferDialog/LicenseTransferDialog.vue?6ff8","webpack:///./src/Core/Components/FeatureCard/FeatureCard.vue?ee43","webpack:///./src/Core/Components/FeatureCard/FeatureCard.ts","webpack:///./src/Core/Components/FeatureCard/FeatureCard.ts?cb75","webpack:///./src/Core/Components/FeatureCard/FeatureCard.vue","webpack:///./src/Core/Components/Dialog/Dialog.vue?2b59","webpack:///./src/Core/Components/Dialog/Dialog.ts","webpack:///./src/Core/Components/Dialog/Dialog.ts?0bb7","webpack:///./src/Core/Components/Dialog/Dialog.vue","webpack:///./src/Modules/Resources/Components/ProductVersionSelector/ProductVersionSelector.vue?1ed1","webpack:///./src/Modules/Resources/Components/ProductVersionSelector/ProductVersionSelector.ts","webpack:///./src/Modules/Resources/Components/ProductVersionSelector/ProductVersionSelector.ts?08cb","webpack:///./src/Modules/Resources/Components/ProductVersionSelector/ProductVersionSelector.vue","webpack:///./src/Modules/Licensing/Components/LicenseListRow/LicenseListRow.vue?d44a","webpack:///./src/Modules/Licensing/Components/LicenseListRow/LicenseListRow.ts","webpack:///./src/Modules/Licensing/Components/LicenseListRow/LicenseListRow.ts?59ee","webpack:///./src/Modules/Licensing/Components/LicenseListRow/LicenseListRow.vue","webpack:///./src/Modules/Trial/Components/TrialDialog/TrialDialog.vue?2b27","webpack:///./src/Modules/Trial/Components/TrialDialog/TrialDialog.ts","webpack:///./src/Modules/Trial/Components/TrialDialog/TrialDialog.ts?f4e0","webpack:///./src/Modules/Trial/Components/TrialDialog/TrialDialog.vue","webpack:///./src/Modules/Reports/Components/FinancialInfoReport/FinancialInfoReport.vue?e23c","webpack:///./src/Modules/Reports/Components/FinancialInfoReport/FinancialInfoReport.ts","webpack:///./src/Modules/Reports/Components/FinancialInfoReport/FinancialInfoReport.ts?635f","webpack:///./src/Modules/Reports/Components/FinancialInfoReport/FinancialInfoReport.vue","webpack:///./src/Services/AbapSuite/Models/Filters/AbapSuiteLicenseFilters.model.ts","webpack:///./src/Services/Emory/Views/Packages/EmoryPackages.vue?92ed","webpack:///./src/Services/Emory/Views/Packages/EmoryPackages.ts","webpack:///./src/Services/Emory/Views/Packages/EmoryPackages.ts?86c6","webpack:///./src/Services/Emory/Views/Packages/EmoryPackages.vue","webpack:///./src/Core/Components/List/List.vue?1720","webpack:///./src/Core/Components/Title/Title.vue?98da","webpack:///./src/Core/Components/Title/Title.ts","webpack:///./src/Core/Components/Title/Title.ts?02ca","webpack:///./src/Core/Components/Title/Title.vue","webpack:///./src/Modules/Reports/Components/PaymentForm/PaymentForm.vue?2101","webpack:///./src/Core/Components/DateLabel/DateLabel.vue?d613","webpack:///./src/Core/Components/DateLabel/DateLabel.ts","webpack:///./src/Core/Components/DateLabel/DateLabel.ts?e5e2","webpack:///./src/Core/Components/DateLabel/DateLabel.vue","webpack:///./src/Core/Components/Pulse/Pulse.vue?aef6","webpack:///./src/Modules/Auth/Models/Roles/Permissions.model.ts","webpack:///./src/Modules/Licensing/Components/AdminEditContractDialog/AdminEditContractDialog.vue?32af","webpack:///./src/Modules/Orgs/Components/OrgSummary/OrgSummary.vue?18e2","webpack:///./src/Modules/Orgs/Components/OrgSummary/OrgSummary.ts","webpack:///./src/Modules/Orgs/Components/OrgSummary/OrgSummary.ts?3443","webpack:///./src/Modules/Orgs/Components/OrgSummary/OrgSummary.vue","webpack:///./src/Modules/Auth/Components/NewPwdChallengePanel/NewPwdChallengePanel.vue?88ba","webpack:///./src/Modules/Auth/Components/NewPwdChallengePanel/NewPwdChallengePanel.ts","webpack:///./src/Modules/Auth/Components/NewPwdChallengePanel/NewPwdChallengePanel.ts?3d1d","webpack:///./src/Modules/Auth/Components/NewPwdChallengePanel/NewPwdChallengePanel.vue","webpack:///./src/Services/Emory/Components/BackupAwsSummary/BackupAwsSummary.vue?7201","webpack:///./src/Services/Emory/Components/BackupAwsSummary/BackupAwsSummary.ts","webpack:///./src/Services/Emory/Components/BackupAwsSummary/BackupAwsSummary.ts?be85","webpack:///./src/Services/Emory/Components/BackupAwsSummary/BackupAwsSummary.vue","webpack:///./src/Core/Components/DateSpan/DateSpan.vue?aabb","webpack:///./src/Modules/Resources/Components/ReleasesList/ReleasesList.vue?c0ad","webpack:///./src/Modules/Licensing/Components/ContractSummary/ContractSummary.vue?687c","webpack:///./src/Modules/Licensing/Components/ContractSummary/ContractSummary.ts","webpack:///./src/Modules/Licensing/Components/ContractSummary/ContractSummary.ts?9e81","webpack:///./src/Modules/Licensing/Components/ContractSummary/ContractSummary.vue","webpack:///./src/Core/Components/Views/NotFound/NotFoundView.vue?e8ff","webpack:///./src/Core/Components/Views/NotFound/NotFoundView.ts","webpack:///./src/Core/Components/Views/NotFound/NotFoundView.ts?3c22","webpack:///./src/Core/Components/Views/NotFound/NotFoundView.vue","webpack:///./src/Modules/Auth/Components/SignUpPanel/SignUpPanel.vue?3642","webpack:///./src/Modules/Licensing/Components/OriginSelector/OriginSelector.vue?e069","webpack:///./src/Modules/Licensing/Components/OriginSelector/OriginSelector.ts","webpack:///./src/Modules/Licensing/Components/OriginSelector/OriginSelector.ts?300f","webpack:///./src/Modules/Licensing/Components/OriginSelector/OriginSelector.vue","webpack:///./src/Modules/Legal/Components/DataProtectionDialog/DataProtectionDialog.vue?903e","webpack:///./src/Modules/Legal/Components/DataProtectionDialog/DataProtectionDialog.ts","webpack:///./src/Modules/Legal/Components/DataProtectionDialog/DataProtectionDialog.ts?e864","webpack:///./src/Modules/Legal/Components/DataProtectionDialog/DataProtectionDialog.vue","webpack:///./src/Services/Emory/Components/TrialDialog/EmoryTrialDialog.vue?c108","webpack:///./src/Modules/Licensing/Models/License.model.ts","webpack:///./src/Core/Components/YesNoCheckboxGroup/YesNoCheckboxGroup.ts","webpack:///./src/Modules/Licensing/Models/Host.model.ts","webpack:///./src/Services/AbapSuite/Models/AbapSuiteHost.model.ts","webpack:///./src/Services/AbapSuite/Models/AbapSuiteLicense.model.ts","webpack:///./src/Services/Emory/Models/EmoryHost.model.ts","webpack:///./src/Services/Emory/Models/EmoryLicense.model.ts","webpack:///./src/Modules/Licensing/Models/License.factory.ts","webpack:///./src/Modules/Licensing/Store/Licensing.store.ts","webpack:///./src/Services/Settings/Components/SettingsItem/ConfigItem.vue?6366","webpack:///./src/Modules/Orgs/Components/OrgSelector/OrgSelector.vue?1a5f","webpack:///./src/Modules/Orgs/Components/OrgSelector/OrgSelector.ts","webpack:///./src/Modules/Orgs/Components/OrgSelector/OrgSelector.ts?405f","webpack:///./src/Modules/Orgs/Components/OrgSelector/OrgSelector.vue","webpack:///./src/Core/Components/PropValueSelector/PropValueSelector.vue?5776","webpack:///./src/Core/Components/PropValueSelector/PropValueSelector.ts","webpack:///./src/Core/Components/PropValueSelector/PropValueSelector.ts?c2c6","webpack:///./src/Core/Components/PropValueSelector/PropValueSelector.vue","webpack:///./src/Services/Emory/Components/BackupSummary/EmoryBackupSummary.vue?28e0","webpack:///./src/Services/Emory/Components/BackupSummary/EmoryBackupSummary.ts","webpack:///./src/Services/Emory/Components/BackupSummary/EmoryBackupSummary.ts?d46f","webpack:///./src/Services/Emory/Components/BackupSummary/EmoryBackupSummary.vue","webpack:///./src/Services/Settings/router.ts","webpack:///./src/Core/Components/Layouts/ColumnsLayout/ColumnsLayout.vue?907e","webpack:///./src/Services/Settings/Views/AccountSettings/AccountSettings.vue?499a","webpack:///./src/Modules/Auth/Components/SignUpPanel/SignUpPanel.vue?6984","webpack:///./src/Modules/Auth/Models/SignUp/SignUp.model.ts","webpack:///./src/Modules/Auth/Components/SignUpPanel/SignUpPanel.ts","webpack:///./src/Modules/Auth/Components/SignUpPanel/SignUpPanel.ts?05de","webpack:///./src/Modules/Auth/Components/SignUpPanel/SignUpPanel.vue","webpack:///./src/Modules/Licensing/Components/ContractListRow/ContractListRow.vue?6da4","webpack:///./src/Modules/Users/Components/UserSummary/UserSummary.vue?18f9","webpack:///./src/Modules/Users/Components/UserSummary/UserSummary.ts","webpack:///./src/Modules/Users/Components/UserSummary/UserSummary.ts?0afb","webpack:///./src/Modules/Users/Components/UserSummary/UserSummary.vue","webpack:///./src/Modules/Reports/Components/ReportContractsFilterPanel/ReportContractsFilterPanel.vue?8737","webpack:///./src/Modules/Reports/Components/ReportContractsFilterPanel/ReportContractsFilterPanel.ts","webpack:///./src/Modules/Reports/Components/ReportContractsFilterPanel/ReportContractsFilterPanel.ts?13b3","webpack:///./src/Modules/Reports/Components/ReportContractsFilterPanel/ReportContractsFilterPanel.vue","webpack:///./src/Modules/Auth/Components/SignInPanel/SignInPanel.vue?ae22","webpack:///./src/Modules/Auth/Models/SignIn/SignIn.model.ts","webpack:///./src/Modules/Auth/Components/SignInPanel/SignInPanel.ts","webpack:///./src/Modules/Auth/Components/SignInPanel/SignInPanel.ts?e5e6","webpack:///./src/Modules/Auth/Components/SignInPanel/SignInPanel.vue","webpack:///./src/Core/Components/ErrorAlert/ErrorAlert.vue?77b3","webpack:///./src/Core/Models/Cookies/AbstractCookie.model.ts","webpack:///./src/Modules/Licensing/Components/LicensingStatusBreakdown/LicensingStatusBreakdown.vue?7f33","webpack:///./src/Modules/Licensing/Components/LicensingStatusBreakdown/LicensingStatusBreakdown.ts","webpack:///./src/Modules/Licensing/Components/LicensingStatusBreakdown/LicensingStatusBreakdown.ts?330e","webpack:///./src/Modules/Licensing/Components/LicensingStatusBreakdown/LicensingStatusBreakdown.vue","webpack:///./src/Core/Components/Layouts/Layout/Layout.vue?d300","webpack:///./src/Modules/Trial/Components/TrialCounter/TrialCounter.vue?eafd","webpack:///./src/Core/Components/DateSpan/DateSpan.vue?f472","webpack:///./src/Core/Components/DateSpan/DateSpan.ts","webpack:///./src/Core/Components/DateSpan/DateSpan.ts?53dc","webpack:///./src/Core/Components/DateSpan/DateSpan.vue","webpack:///./src/Modules/Licensing/Models/Dimension.model.ts","webpack:///./src/Core/Components/Pulse/Pulse.vue?1d19","webpack:///./src/Core/Components/Pulse/Pulse.ts","webpack:///./src/Core/Components/Pulse/Pulse.ts?999d","webpack:///./src/Core/Components/Pulse/Pulse.vue","webpack:///./src/Modules/Licensing/API/Licensing.api.ts","webpack:///./src/Modules/Licensing/Errors/GetContractsApiError.ts","webpack:///./src/Modules/Licensing/Errors/GetDimensionsApiError.ts","webpack:///./src/Modules/Licensing/Errors/GetLicensesApiError.ts","webpack:///./src/Modules/Licensing/Errors/RegisterHostApiError.ts","webpack:///./src/Modules/Licensing/Errors/UnregisterHostApiError.ts","webpack:///./src/Modules/Licensing/Errors/CreateContractApiError.ts","webpack:///./src/Modules/Licensing/Errors/UpdateContractApiError.ts","webpack:///./src/Modules/Licensing/Errors/GetLicensingExportApiError.ts","webpack:///./src/Modules/Licensing/Errors/GetLicensingSummaryApiError.ts","webpack:///./src/Modules/Licensing/Errors/RecoverLicenseApiError.ts","webpack:///./src/Modules/Licensing/Errors/ContractsCheckApiError.ts","webpack:///./src/Modules/Reports/Models/ReportContract.model.ts","webpack:///./src/Core/Components/Layouts/Layout/Layout.vue?b8c4","webpack:///./src/Core/Components/Layouts/Layout/Layout.ts","webpack:///./src/Core/Components/Layouts/Layout/Layout.ts?21fc","webpack:///./src/Core/Components/Layouts/Layout/Layout.vue","webpack:///./src/Modules/Licensing/Views/LicensingSummary/LicensingSummary.vue?6725","webpack:///./src/Modules/Licensing/Views/LicensingSummary/LicensingSummary.ts","webpack:///./src/Modules/Licensing/Views/LicensingSummary/LicensingSummary.ts?6d20","webpack:///./src/Modules/Licensing/Views/LicensingSummary/LicensingSummary.vue","webpack:///./src/Modules/Auth/Errors/SessionInitError.ts","webpack:///./src/Modules/Auth/Models/SessionToken.model.ts","webpack:///./src/Modules/Auth/Store/Auth.store.ts","webpack:///./src/Modules/Reports/Components/BillingPeriod/BillingPeriod.vue?245e","webpack:///./src/Modules/Orgs/Components/OrgRoleTree/OrgRoleTree.vue?edd2","webpack:///./src/Modules/Orgs/Components/OrgRoleTree/OrgRoleTree.ts","webpack:///./src/Modules/Orgs/Components/OrgRoleTree/OrgRoleTree.ts?9594","webpack:///./src/Modules/Orgs/Components/OrgRoleTree/OrgRoleTree.vue","webpack:///./src/Modules/Reports/Views/Report/FinancialReportView.vue?8de3","webpack:///./src/Modules/Auth/Components/ForgotPwdPanel/ForgotPwdPanel.vue?efe0","webpack:///./src/Modules/Auth/Models/ForgotPwd/ForgotPwd.model.ts","webpack:///./src/Modules/Auth/Components/ForgotPwdPanel/ForgotPwdPanel.ts","webpack:///./src/Modules/Auth/Components/ForgotPwdPanel/ForgotPwdPanel.ts?a1e9","webpack:///./src/Modules/Auth/Components/ForgotPwdPanel/ForgotPwdPanel.vue","webpack:///./src/Services/Preinstalled/router.ts","webpack:///./src/Modules/Auth/Components/AuthDialog/AuthDialog.vue?2b8a","webpack:///./src/Modules/Auth/Components/AuthController/AuthController.ts","webpack:///./src/Modules/Auth/Components/AuthDialog/AuthDialog.ts","webpack:///./src/Modules/Auth/Components/AuthDialog/AuthDialog.ts?cdf5","webpack:///./src/Modules/Auth/Components/AuthDialog/AuthDialog.vue","webpack:///./src/Modules/Resources/Components/ManageResourcesDialog/ManageResourcesDialog.vue?6670","webpack:///./src/Modules/Resources/Models/Resource.model.ts","webpack:///./src/Modules/Resources/Components/ManageResourcesDialog/ManageResourcesDialog.ts","webpack:///./src/Modules/Resources/Components/ManageResourcesDialog/ManageResourcesDialog.ts?bfe8","webpack:///./src/Modules/Resources/Components/ManageResourcesDialog/ManageResourcesDialog.vue","webpack:///./src/Modules/Licensing/Components/NextExpirationsCollapse/NextExpirationsCollapse.vue?bf5c","webpack:///./src/Modules/Licensing/Components/NextExpirationsCollapse/NextExpirationsCollapse.ts","webpack:///./src/Modules/Licensing/Components/NextExpirationsCollapse/NextExpirationsCollapse.ts?fefa","webpack:///./src/Modules/Licensing/Components/NextExpirationsCollapse/NextExpirationsCollapse.vue","webpack:///./src sync \\.store\\.ts$","webpack:///./src/Core/Components/Card/Card.vue?ce25","webpack:///./src/Core/Components/FiltersCollapse/FiltersCollapse.vue?2502","webpack:///./src/Core/Components/FiltersCollapse/FiltersCollapse.ts","webpack:///./src/Core/Components/FiltersCollapse/FiltersCollapse.ts?3366","webpack:///./src/Core/Components/FiltersCollapse/FiltersCollapse.vue","webpack:///./src/Modules/Orgs/Components/OrgSuggestionSkeleton/OrgSuggestionSkeleton.vue?f670","webpack:///src/Modules/Orgs/Components/OrgSuggestionSkeleton/OrgSuggestionSkeleton.vue","webpack:///./src/Modules/Orgs/Components/OrgSuggestionSkeleton/OrgSuggestionSkeleton.vue?0827","webpack:///./src/Modules/Orgs/Components/OrgSuggestionSkeleton/OrgSuggestionSkeleton.vue","webpack:///./src/Modules/Users/Components/UserEditorDialog/UserEditorDialog.vue?14ec","webpack:///./src/Modules/Users/Components/UserEditorDialog/UserEditorDialog.ts","webpack:///./src/Modules/Users/Components/UserEditorDialog/UserEditorDialog.ts?d6c4","webpack:///./src/Modules/Users/Components/UserEditorDialog/UserEditorDialog.vue","webpack:///./src/Core/Components/Empty/Empty.vue?f5a5","webpack:///./src/Core/Components/Empty/Empty.ts","webpack:///./src/Core/Components/Empty/Empty.ts?3fd9","webpack:///./src/Core/Components/Empty/Empty.vue","webpack:///./src/Services/AbapSuite/Components/HostFiltersPanelExtension/HostFiltersPanelExtension.vue?b0af","webpack:///./src/Services/AbapSuite/Components/HostFiltersPanelExtension/HostFiltersPanelExtension.ts","webpack:///./src/Services/AbapSuite/Components/HostFiltersPanelExtension/HostFiltersPanelExtension.ts?3b3c","webpack:///./src/Services/AbapSuite/Components/HostFiltersPanelExtension/HostFiltersPanelExtension.vue","webpack:///./src/Modules/Auth/Models/Roles/AccessRole.model.ts","webpack:///./src/Modules/Licensing/Components/Views/ContractDetails/ContractDetailsView.vue?3762","webpack:///./src/Modules/Licensing/Models/HostFilters.model.ts","webpack:///./src/Services/Preinstalled/Views/Hub/AmisHub.vue?d3fd","webpack:///./src/Core/AppConfig.ts","webpack:///./src/Modules/Licensing/Components/AdminEditContractDialog/AdminEditContractDialog.vue?791b","webpack:///./src/Modules/Licensing/Components/AdminEditContractDialog/AdminEditContractDialog.ts","webpack:///./src/Modules/Licensing/Components/AdminEditContractDialog/AdminEditContractDialog.ts?1678","webpack:///./src/Modules/Licensing/Components/AdminEditContractDialog/AdminEditContractDialog.vue","webpack:///./src/Modules/Auth/Components/AuthController/AuthController.vue?3220","webpack:///./src/Modules/Auth/Components/AuthController/AuthController.ts?fa05","webpack:///./src/Modules/Auth/Components/AuthController/AuthController.ts?60da","webpack:///./src/Modules/Auth/Components/AuthController/AuthController.vue","webpack:///./src/Modules/Licensing/Components/LicensingStatusBreakdown/LicensingStatusBreakdown.vue?5638","webpack:///./src/Core/Components/List/ListItem.vue?e0ac","webpack:///./src/Core/Components/StatCard/StatCard.vue?f87e","webpack:///./src/Core/Components/StatCard/StatCard.ts","webpack:///./src/Core/Components/StatCard/StatCard.ts?fbc5","webpack:///./src/Core/Components/StatCard/StatCard.vue","webpack:///./src/Modules/Licensing/Components/ContractGeneralSummary/ContractGeneralSummary.vue?4e2a","webpack:///./src/Modules/Licensing/Components/ContractGeneralSummary/ContractGeneralSummary.ts","webpack:///./src/Modules/Licensing/Components/ContractGeneralSummary/ContractGeneralSummary.ts?f6ca","webpack:///./src/Modules/Licensing/Components/ContractGeneralSummary/ContractGeneralSummary.vue","webpack:///./src/Services/Emory/Components/EmoryBackupFiltersPanel/EmoryBackupFiltersPanel.vue?5712","webpack:///./src/Modules/Orgs/Models/Roles/OrganizationRole.model.ts","webpack:///./src/Core/App.vue?3431","webpack:///./src/Modules/Auth/Mixins/SessionInterceptor.mixin.ts","webpack:///./src/Modules/Auth/Models/ContractPurchase.model.ts","webpack:///./src/Core/App.ts","webpack:///./src/Core/App.ts?b366","webpack:///./src/Core/App.vue","webpack:///./src/Modules/Reports/Components/BillingPeriodDialog/BillingPeriodDialog.vue?43dd","webpack:///./src/Modules/Reports/Components/BillingPeriodDialog/BillingPeriodDialog.ts","webpack:///./src/Modules/Reports/Components/BillingPeriodDialog/BillingPeriodDialog.ts?633d","webpack:///./src/Modules/Reports/Components/BillingPeriodDialog/BillingPeriodDialog.vue","webpack:///./src/Modules/Users/Views/UserDetails/UserDetails.vue?f6f1","webpack:///./src/Modules/Users/Views/UserDetails/UserDetails.ts","webpack:///./src/Modules/Users/Views/UserDetails/UserDetails.ts?51c8","webpack:///./src/Modules/Users/Views/UserDetails/UserDetails.vue","webpack:///./src/Core/Components/List/ListItem.vue?dbbc","webpack:///./src/Core/Components/List/ListItem.ts","webpack:///./src/Core/Components/List/ListItem.ts?d594","webpack:///./src/Core/Components/List/ListItem.vue","webpack:///./src/Modules/Notifications/Mixins/NotificationContentMixin.ts","webpack:///./src/Services/Settings/Views/AccountSettings/AccountSettings.vue?e2fc","webpack:///./src/Services/Settings/Views/AccountSettings/AccountSettings.ts","webpack:///./src/Services/Settings/Views/AccountSettings/AccountSettings.ts?cd95","webpack:///./src/Services/Settings/Views/AccountSettings/AccountSettings.vue","webpack:///./src/Core/Components/StatCard/StatCard.vue?de27","webpack:///./src/Modules/Notifications/Components/NotificationContent/LicenseReturnNotifContent/LicenseReturnNotifContent.vue?8309","webpack:///./src/Modules/Notifications/Components/NotificationContent/LicenseReturnNotifContent/LicenseReturnNotifContent.ts","webpack:///./src/Modules/Notifications/Components/NotificationContent/LicenseReturnNotifContent/LicenseReturnNotifContent.ts?8827","webpack:///./src/Modules/Notifications/Components/NotificationContent/LicenseReturnNotifContent/LicenseReturnNotifContent.vue","webpack:///./src/Modules/Orgs/Mixins/OrgSwitch.mixin.ts","webpack:///./src/Modules/Licensing/Components/LicenseValiditySummary/LicenseValiditySummary.vue?b4ef","webpack:///./src/Modules/Licensing/Components/LicenseValiditySummary/LicenseValiditySummary.ts","webpack:///./src/Modules/Licensing/Components/LicenseValiditySummary/LicenseValiditySummary.ts?ba0e","webpack:///./src/Modules/Licensing/Components/LicenseValiditySummary/LicenseValiditySummary.vue","webpack:///./src/Core/Components/CopyLabel/CopyLabel.vue?53db","webpack:///./src/Modules/Reports/Components/ContractsReport/ContractsReport.vue?f49e","webpack:///./src/Modules/Auth/Components/ChangePwdDialog/ChangePwdDialog.vue?0747","webpack:///./src/Modules/Auth/Components/ChangePwdDialog/ChangePwdDialog.ts","webpack:///./src/Modules/Auth/Components/ChangePwdDialog/ChangePwdDialog.ts?9c49","webpack:///./src/Modules/Auth/Components/ChangePwdDialog/ChangePwdDialog.vue","webpack:///./src/Modules/Trial/Components/TrialStatus/TrialStatus.vue?ea31","webpack:///./src/Core/Components/List/List.vue?9268","webpack:///./src/Core/Components/List/List.ts","webpack:///./src/Core/Components/List/List.ts?e01a","webpack:///./src/Core/Components/List/List.vue","webpack:///./src/Services/Emory/Components/BackupStatusTag/EmoryBackupStatusTag.vue?b2d6","webpack:///./src/Services/Emory/Components/BackupStatusTag/EmoryBackupStatusTag.ts","webpack:///./src/Services/Emory/Components/BackupStatusTag/EmoryBackupStatusTag.ts?8ccd","webpack:///./src/Services/Emory/Components/BackupStatusTag/EmoryBackupStatusTag.vue","webpack:///./src/Modules/Licensing/Components/LicenseAvailabilityTag/LicenseAvailabilityTag.vue?affe","webpack:///./src/Modules/Licensing/Components/LicenseAvailabilityTag/LicenseAvailabilityTag.ts","webpack:///./src/Modules/Licensing/Components/LicenseAvailabilityTag/LicenseAvailabilityTag.ts?d2d5","webpack:///./src/Modules/Licensing/Components/LicenseAvailabilityTag/LicenseAvailabilityTag.vue","webpack:///./src/Core/Mixins/AppRestart.mixin.ts","webpack:///./src/Core/Components/Footer/Footer.vue?d572","webpack:///./src/Core/Components/Footer/Footer.ts","webpack:///./src/Core/Components/Footer/Footer.ts?ec7d","webpack:///./src/Core/Components/Footer/Footer.vue","webpack:///./src/Modules/Auth/Components/NewPwdForm/NewPwdForm.vue?63a1","webpack:///./src/Modules/Auth/Components/NewPwdForm/NewPwdForm.ts","webpack:///./src/Modules/Auth/Components/NewPwdForm/NewPwdForm.ts?037e","webpack:///./src/Modules/Auth/Components/NewPwdForm/NewPwdForm.vue","webpack:///./src/Modules/Resources/Components/ResourcesList/ResourcesList.vue?2c52","webpack:///./src/Modules/Resources/Components/ResourcesList/ResourcesList.ts","webpack:///./src/Modules/Resources/Components/ResourcesList/ResourcesList.ts?aa4f","webpack:///./src/Modules/Resources/Components/ResourcesList/ResourcesList.vue","webpack:///./src/Modules/Orgs/Components/OrgEditorDialog/OrgEditorDialog.vue?b0f8","webpack:///./src/Modules/Orgs/Components/OrgEditorDialog/OrgEditorDialog.ts","webpack:///./src/Modules/Orgs/Components/OrgEditorDialog/OrgEditorDialog.ts?e630","webpack:///./src/Modules/Orgs/Components/OrgEditorDialog/OrgEditorDialog.vue","webpack:///./src/Modules/Trial/Errors/TrialStatusApiError.ts","webpack:///./src/Modules/Trial/Errors/GetTrialDimensionsApiError.ts","webpack:///./src/Modules/Trial/Errors/StartTrialApiError.ts","webpack:///./src/Modules/Trial/API/Trial.api.ts","webpack:///./src/Modules/Notifications/Components/NotificationSkeleton/NotificationSkeleton.vue?a14f","webpack:///./src/Services/Settings/Store/AppSettings/AppSettings.state.ts","webpack:///./src/Services/Settings/Store/AppSettings/AppSettings.store.ts","webpack:///./src/Core/Components/Menu/Menu.vue?a43a","webpack:///./src/Core/Components/Menu/Menu.ts","webpack:///./src/Core/Components/Menu/Menu.ts?ce2d","webpack:///./src/Core/Components/Menu/Menu.vue","webpack:///./src/Services/Settings/Components/SettingsItem/ConfigItem.vue?d3bd","webpack:///./src/Services/Settings/Components/SettingsItem/ConfigItem.ts","webpack:///./src/Services/Settings/Components/SettingsItem/ConfigItem.ts?c1d5","webpack:///./src/Services/Settings/Components/SettingsItem/ConfigItem.vue","webpack:///./src/Services/Console/Views/Hub/ConsoleHub.vue?63d9","webpack:///./src/Services/Console/Views/Hub/ConsoleHub.ts","webpack:///./src/Services/Console/Views/Hub/ConsoleHub.ts?794f","webpack:///./src/Services/Console/Views/Hub/ConsoleHub.vue","webpack:///./src/Modules/Licensing/Components/StatusFilter/StatusSelector.vue?8a4f","webpack:///./src/Modules/Licensing/Components/StatusFilter/StatusSelector.ts","webpack:///./src/Modules/Licensing/Components/StatusFilter/StatusSelector.ts?2098","webpack:///./src/Modules/Licensing/Components/StatusFilter/StatusSelector.vue","webpack:///./src/Core/Components/PurchasePopover/PurchasePopover.vue?dc74","webpack:///./src/Core/Components/PurchasePopover/PurchasePopover.ts","webpack:///./src/Core/Components/PurchasePopover/PurchasePopover.ts?a5b0","webpack:///./src/Core/Components/PurchasePopover/PurchasePopover.vue","webpack:///./src/Modules/Licensing/Components/LicenseListRow/LicenseListRow.vue?2d35","webpack:///./src/Modules/Reports/Components/ReportContractsExpand/ReportContractsExpand.vue?5ef4","webpack:///./src/Core/Components/ServiceViewport/ServiceViewport.vue?3857","webpack:///./src/Core/Components/ServiceViewport/ServiceViewport.ts","webpack:///./src/Core/Components/ServiceViewport/ServiceViewport.ts?3d21","webpack:///./src/Core/Components/ServiceViewport/ServiceViewport.vue","webpack:///./src/Modules/Resources/Components/ReleasesCollapse/ReleasesCollapse.vue?8df9","webpack:///./src/Modules/Resources/Components/ReleasesCollapse/ReleasesCollapse.ts","webpack:///./src/Modules/Resources/Components/ReleasesCollapse/ReleasesCollapse.ts?5d43","webpack:///./src/Modules/Resources/Components/ReleasesCollapse/ReleasesCollapse.vue","webpack:///./src/Core/Components/ServiceSelector/ServiceSelector.vue?50c8","webpack:///./src/Core/Components/ServiceSelector/ServiceSelector.ts","webpack:///./src/Core/Components/ServiceSelector/ServiceSelector.ts?1e15","webpack:///./src/Core/Components/ServiceSelector/ServiceSelector.vue","webpack:///./src/Modules/Notifications/Components/NotificationContent/ContractPurchaseNotifContent/ContractPurchaseNotifContent.vue?c40b","webpack:///./src/Modules/Notifications/Components/NotificationContent/ContractPurchaseNotifContent/ContractPurchaseNotifContent.ts","webpack:///./src/Modules/Notifications/Components/NotificationContent/ContractPurchaseNotifContent/ContractPurchaseNotifContent.ts?7927","webpack:///./src/Modules/Notifications/Components/NotificationContent/ContractPurchaseNotifContent/ContractPurchaseNotifContent.vue","webpack:///./src/Modules/Orgs/Components/OrgEditorForm/OrgEditorForm.vue?c00f","webpack:///./src/Modules/Auth/Errors/SignInApiError.ts","webpack:///./src/Modules/Auth/Errors/SignUpApiError.ts","webpack:///./src/Modules/Auth/Errors/NewPwdApiError.ts","webpack:///./src/Modules/Auth/Errors/ForgotPwdApiError.ts","webpack:///./src/Modules/Auth/Errors/SignOutApiError.ts","webpack:///./src/Modules/Auth/Errors/ChangePwdApiError.ts","webpack:///./src/Modules/Auth/Errors/GetRolesApiError.ts","webpack:///./src/Modules/Auth/Errors/GetRolePermissionsApiError.ts","webpack:///./src/Modules/Auth/API/Auth.api.ts","webpack:///./src/Core/Components/Breadcrumb/Breadcrumb.vue?5415","webpack:///./src/Core/Components/Breadcrumb/Breadcrumb.ts","webpack:///./src/Core/Components/Breadcrumb/Breadcrumb.ts?d173","webpack:///./src/Core/Components/Breadcrumb/Breadcrumb.vue","webpack:///./src/Services/AbapSuite/Models/Filters/AbapSuiteHostFilters.model.ts","webpack:///./src/Core/Components/Alert/Alert.vue?c46a","webpack:///./src/Core/Store/Menu/Menu.store.ts","webpack:///./src/Modules/Users/Components/UsersRoleManager/UsersRoleManager.vue?834d","webpack:///./src/Modules/Users/Components/UsersRoleManager/UsersRoleManager.ts","webpack:///./src/Modules/Users/Components/UsersRoleManager/UsersRoleManager.ts?c1ca","webpack:///./src/Modules/Users/Components/UsersRoleManager/UsersRoleManager.vue","webpack:///./src/Services/Emory/Models/Filters/EmoryHostFilters.model.ts","webpack:///./src/Modules/Resources/Components/ReleasesList/ReleasesList.vue?2fc1","webpack:///./src/Modules/Resources/Components/ReleasesList/ReleasesList.ts","webpack:///./src/Modules/Resources/Components/ReleasesList/ReleasesList.ts?8d1b","webpack:///./src/Modules/Resources/Components/ReleasesList/ReleasesList.vue","webpack:///./src/Core/Components/SubMenuItem/SubMenuItem.vue?37fc","webpack:///./src/Modules/Orgs/Components/OrgRoleEditor/OrgRoleEditor.vue?c3a6","webpack:///./src/Modules/Resources/Components/ReleaseSelector/ReleaseSelector.vue?46be","webpack:///./src/Modules/Resources/Components/ReleaseSelector/ReleaseSelector.ts","webpack:///./src/Modules/Resources/Components/ReleaseSelector/ReleaseSelector.ts?64e6","webpack:///./src/Modules/Resources/Components/ReleaseSelector/ReleaseSelector.vue","webpack:///./src/Modules/Orgs/Models/Organization.model.ts","webpack:///./src/Modules/Licensing/Components/HostFiltersPanel/HostFiltersPanel.vue?6b77","webpack:///./src/Modules/Licensing/Components/HostFiltersPanel/HostFiltersPanel.ts","webpack:///./src/Modules/Licensing/Components/HostFiltersPanel/HostFiltersPanel.ts?af5c","webpack:///./src/Modules/Licensing/Components/HostFiltersPanel/HostFiltersPanel.vue","webpack:///./src/Modules/Resources/Components/ResourcesList/ResourcesList.vue?9efb","webpack:///./src/Modules/Orgs/Components/InviteMemberForm/InviteMemberForm.vue?e533","webpack:///./src/Modules/Reports/Components/FinancialInfoDialog/FinancialInfoDialog.vue?14cf","webpack:///./src/Modules/Reports/Components/FinancialInfoDialog/FinancialInfoDialog.ts","webpack:///./src/Modules/Reports/Components/FinancialInfoDialog/FinancialInfoDialog.ts?bf05","webpack:///./src/Modules/Reports/Components/FinancialInfoDialog/FinancialInfoDialog.vue","webpack:///./src/Core/Components/Header/Header.vue?deab","webpack:///./src/Core/Components/Header/Header.ts","webpack:///./src/Core/Components/Header/Header.ts?3cd8","webpack:///./src/Core/Components/Header/Header.vue","webpack:///./src/Modules/Reports/Models/LeadGenerator.model.ts"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","NavigationStoreGetter","NavigationStoreCommit","NavigationStoreAction","NavigationStore","_legacyAccess","_routes","_previousRoute","_currentRoute","_docsUrl","this","path","find","filter","route","isRoot","isChild","isHidden","isServiceLegacy","hasLegacyAccess","service","serviceId","url","routes","payload","forEach","hasAccess","$router","getRoutes","reduce","consoleRoutes","pathParts","substring","split","servicePath","consoleRoute","ctx","noOrg","Mapping","rootGetter","NoOrganization","allServiceRoutes","getters","AllServiceRoutes","promises","queryPromise","accessRole","can","Console","AccessLegacyService","Promise","resolve","has_contract","has_shared_licenses","licensingCheck","then","check","commit","SetServiceLegacyAccess","all","expired","to","current","matched","from","previous","undefined","getRoute","GetRoute","previousRoute","currentRoute","SetDocsUrl","SetCurrentRoute","replaceNavigation","SetPreviousRoute","$route","createVuexMappingOptions","SetRoutes","useContext","namespaced","render","_vm","_h","$createElement","_c","_self","staticClass","attrs","$mq","lg","model","callback","$$v","currentTab","expression","slot","_v","staticStyle","ref","staticRenderFns","disableFiltersWatcher","filters","searchText","expandedRows","ServiceID","exportResult","contract","filtersBackup","expand","fetchExcel","Execution","getExcel","fetchMRR","getMRR","fetchTCV","getTCV","debouncedFetchReportContracts","getReportContracts","content","run","toDto","Date","getTime","error","base64","downloaded","fileName","downloadFile","permissions","CanListFinancialInfo","fetchReportContracts","$watch","deep","reportContracts","orgsMatch","dimensionMatch","orgs","some","org","orgName","dimensions","selectedDims","map","ld","includes","dimension","contractMatch","meetsFilter","origin","ContractOrigin","nameOf","Connector","AbapSuite","index","indexOf","id","hasContracts","msg","$confirm","type","confirmButtonText","cancelButtonText","contractId","params","toString","status","CanAddFinancialInfo","AddFinancialInfo","ListFinancialInfo","component","disabled","_t","$slots","icon","_e","_s","label","String","required","Boolean","lifecycle","expirationFormat","expiration","style","openDelay","license","hasAvailability","isLine","width","usagePercentage","default","Number","title","description","on","redirect","remainingSeconds","_f","user","enabled","verified","class","alertClass","closable","closeText","showIcon","close","$scopedSlots","footer","visible","plain","isPlainUi","$emit","offset","top","isPlain","floating","subtle","compact","overBackground","collapseClass","accordion","internalValue","newValue","bordered","noArrow","Array","immediate","AmiCategory","categories","_l","category","filteredAmis","onAmiSelected","clearFilters","scopedSlots","_u","fn","row","$event","stopPropagation","amis","Netweaver","BW4HANA","S4HANA","SCM","ERP","SolutionManager","HANAStandalone","text","toLowerCase","a","Set","ami","open","SubServiceTab","ResourceTypeTab","CustomResourcesType","openIssueManager","activeSubServiceTab","activeTab","Packages","Documents","getResPermissions","fetchResourcePermissions","token","hasExpired","noOrganization","Documentation","reset","OnlineDocs","meta","item","openAuthDialog","loading","downloadsNotAllowed","abapSuiteResourcePermissions","canDownload","CanPurchaseContracts","PurchaseContract","CanManageIssues","ManageIssues","CanDownloadPackages","DownloadPackages","CanDownloadOtherPackages","DownloadOtherResources","externalId","originName","directives","rawName","Utils","isNumber","height","viewDetails","viewContract","size","hosts","exchangeStatus","CanListContracts","isOwnedByOrg","currentOrg","CanRegisterHosts","isShared","isSharedToCurrentOrg","$refs","hostRegistrationDialog","$set","ListContracts","RegisterHost","SignInResponse","dto","idToken","idtoken","accessToken","accesstoken","docResource","download","customResourceSelected","script","notification","newUserRole","hideTypeLabel","sender","organization","NotificationContentMixin","configuring","dialog","isOpened","Accept","message","duration","Decline","Cancel","roleSelectionDialog","shouldProceed","acceptOrgAccessRequestNotification","role","Status","classBinding","onCollapseStatusChange","expanded","slotScope","Expanded","defaultCollapsed","Collapsed","isExpanded","separated","compactCookie","trial","format","trialCounterClass","alertStyle","percentageUsed","progressStyle","store","compactable","remainingDays","durSeconds","used","rawPercentage","Math","min","abs","startOf","toNow","fromNow","orgRole","apiKey","ConsoleError","AxiosAPI","instance","slug","baseUrl","response","axios","cause","respondNotification","Cancelled","Accepted","role_id","responseError","org_id","link","respondOrgInvitationLink","Rejected","notificationRef","requestBodyExtension","put","OrgAccessRequest","post","username","OrgInvitation","user_id","contractPurchase","ContractPurchase","contract_id","sentByMe","labelForType","options","LicenseSharing","owner","tenant","product","to_give","toShare","to_return","toReturn","return_immediately","returnImmediately","voluntary_return","voluntaryReturn","paymentNumber","payment","paymentAmount","number","FInfo","amount","date","project","nativeOn","toggleFloatingMenuVisibility","documentationUrl","viewClass","replace","onSignInSuccess","ConsoleRoute","OrgConfigPath","HomePath","marginTop","orgInvitationLink","body","expceptionThrowing","args","mockBlock","console","thisArg","sleep","failProbability","throw","ReportsStoreAction","ReportsStoreCommit","ReportsStore","_reportsDialogVisible","_billingPeriodDialogVisible","_fInfoDialogVisible","_reportContracts","_fInfo","_leadGenerators","_currentYear","getFullYear","year","editedContract","assign","newInfo","currentInfo","billingPeriod","entries","contractID","billingIndex","billingPeriods","findIndex","period","set","leadGenerators","fInfo","dtos","fromDto","getLeadGenerators","getReportContract","getFInfo","updateReportContract","updateBillingPeriod","addBillingPeriod","addFInfo","updateFInfo","SetReportsDialogVisible","SetFInfoDialogVisible","SetBillingPeriodDialogVisible","SetReportContracts","SetLeadGenerators","SetFInfo","AddReportContracts","AddBillingPeriod","AddFInfo","ExportStep","dialogCloseGuard","onClosed","success","cancel","exportComplete","exportSummary","startExport","currentExportStep","serviceName","downloadLicenseFile","exportFormat","CSV","exportLicensingSummary","Download","Configuration","forgotDownload","suggestions","searchQuery","filteredSuggestions","getOrgAccessNotification","getOrgInvitationNotification","requestNotifications","invitationNotifications","meetsSearch","EmoryLicenseFilters","super","initialize","Category","subcategories","FileDownloadMixin","element","document","createElement","setAttribute","encodeURIComponent","display","appendChild","click","removeChild","DateSerializer","param","isNaN","StringSerializer","defVal","isArray","join","NumberSerializer","StringArraySerializer","NumberArraySerializer","BooleanSerializer","init","debouncedSerialize","deserialize","paramVal","query","oldParamVal","serializer","typeSerializer","serialize","delay","catch","e","CanRequestTrial","emoryTrialInfo","canApply","trialDialog","Emory","RequestTrial","createOrUpdate","validationRules","parentOrg","parentDomain","emailDomain","canAssignParentDomain","canAssignUserDomain","domain","hasUncommittedChanges","isUpdateMode","discardUncommittedChanges","validOrgModel","formWithErrors","updateExistingOrg","createNewOrg","domainRegexp","trigger","validator","validateOrgDomain","isRemote","createOrg","promptAppRestart","fetchOrgRoles","Notify","Success","updateOrg","parentId","rule","validDomain","test","Error","form","clearValidate","sessionUser","pop","fields","validateState","CanMarkOrgAsTest","MarkOrgAsTest","dimensionArrayParamSerializer","services","allLicensingStatus","servicesWithLicensing","WithLicensing","contractOrigins","All","awsAxios","defaults","orguuid","orgId","uuid","authToken","headers","common","interceptors","request","unauthenticated","isFatal","fatal","getOrgUUID","getOrgID","setPrototypeOf","trialStatusClass","expirationText","disabledOrgs","clearable","defaultFirstRole","back","seconds","redirectPath","redirectOverwrite","redirectTarget","LicenseFilters","search","Active","withAvailability","onlyWithHosts","tenants","owners","isFiltering","requestPreviewAccess","goToOrganizationSetup","shouldShowSetupButton","isOrgConfig","showSetupButton","sessionToken","signInForDownloads","allVersions","productVersion","platform","release","resources","currentServiceId","releases","platforms","openManageResourcesDialog","fetchProductVersions","CanAddResources","CreateResources","summary","licenseDimensions","units","LicensingStatusPhase","phase","InGrace","Expired","OrgPending","Basic","LicensingStatus","isExpired","isCancelled","isActive","isInGrace","contractService","contractOrigin","byOrg","delete","getOrgRoleForOrg","iconSpacing","iconSize","iconYOffset","isSelected","defaultOrg","node","nodeData","checked","createContract","canCreateContract","originsLinke","poc","datePickerOptions","shouldIncludeDimension","onDimensionSelected","licenses","removeLicense","sort","b","localeCompare","extendedContractId","OnlyLinke","createLinkeContract","Extended","dimensionUnits","acc","curr","firstDayOfWeek","disabledDate","time","now","shortcuts","onClick","picker","add","toDate","isLoading","isInbox","resend","canAccept","canDecline","canResend","canCancel","command","accept","decline","creation","formattedDate","wasSentByMe","isConfiguringResponse","doCancel","doAccept","doDecline","doResend","loadingEvent","configEvent","getContent","onLoadingChange","onConfiguringResponse","smartTrim","onDeclined","$nextTick","getSuccessNotifConfig","onCanceled","onAccepted","tooltip","docsUrl","openDocsPanel","iconPosition","labelFontSize","DetailsTab","onBackClick","getContractById","contractCode","agreement","onViewContract","totalAmount","awsFee","revenue","observations","payments","paymentsNumber","shouldDisplayTenantColumn","shouldDisplayOwnerColumn","fetchReportContract","md","errorMsg","expNotif","expnotif","host","isProduction","reportsDialogVisible","reportContract","leadGenSelector","leadGenID","leadGenObservations","LeadGeneratorContract","leadGeneratorID","LeadGenerator","leadGenerator","currencyOptions","update","fetchLeadGen","locale","setReportsDialogVisible","billingPeriodId","TrialStatus","Available","isBefore","remainingTime","NotAvailable","diff","TrialsStoreCommit","_trialsInfoMap","trialsInfo","trialInfo","trialDto","getTrialInfo","CurrentOrg","responseDto","requestTrialStart","SetTrialInfo","addContracts","rootAction","AddContracts","setResPermissions","SetResourcePermissions","fetchContractLicenses","FetchLicensesByContractId","SetTrialsInfoMap","getTimePeriod","startDate","endDate","displayPeriods","billingPeriodDialog","currency","getFormattedDate","NewPwdChallenge","challenge","session","keepSession","challengeName","password","passwordRetype","challenge_name","ContractsCookie","getContracts","exportLicensingSummaryDialog","createContractDialog","sm","serviceContractsStatus","firstLoad","filteredContracts","expThresholdCookie","thresholdLabel","prop","order","expandedRowIds","toggleExpansion","isAWS","CanEditContract","editContractDialog","xl","hasExpirationNotifEnabled","licensesCount","hostCount","$index","ExpThreshold","unit","fetchAllContracts","serviceContracts","contracts","meetFilters","CanExportSummary","ExportLicensingSummary","CanCreateContract","CreateContract","EditContract","CanEditContractNotifications","EditContractNotifications","hasRecords","original","filtered","ownerCell","outboxNotif","isLicenseSharing","canSwitchToOrg","switchToOrg","inboxNotif","destinationOrg","sourceOrg","sharedTagConfig","orgLicenseSharingOutbox","orgLicenseReturnOutbox","notif","isLicenseIncluded","licenseSharingInbox","licenseReturnInbox","isSharedToOrg","isSingleOption","slots","selectionMap","unitsMap","keys","dim","computeDimensionUnits","values","Section","getBackupById","backup","allSectionsCollapsed","toggleExpandAll","expandedSections","failure","code","reason","sid","hostname","backupHostname","sourceDatabase","clientVersion","licenseUuid","backupLicenseUuid","viewLicense","backupHostUuid","cloud","providerName","tags","tag","objects","backupObjectsSearchText","backupFilteredObjects","buildLocationUrl","resetFilters","getBackup","allSections","Failure","System","Lifecycle","Cloud","Objects","backupId","currentBackupHistoryPage","records","backupDto","licenseId","labelClass","SortOrder","fileSizeSerializer","sorting","totalItemCount","getBackups","exportDialog","fetchBackupHistory","backupRecords","onSortChange","hasFailed","level","numberOfObjects","pageSize","pageSizes","page","bytes","_value","FileSize","B","fileSize","fromBytes","newVal","toBytes","max","levels","showLogLevel","Descending","types","min_start_date","toISOString","max_start_date","min_end_date","max_end_date","min_size","round","max_size","statuses","show_log_level","sort_by","sort_dir","page_number","page_size","filtersDrawerVisible","fetchBackups","debouncedFetchBackupHistory","currentFilters","clearLastBackupHistorySearch","onFiltersDtoChange","oldValue","oldVal","total","Infinity","Ascending","CanExportBackups","ExportBackups","LicenseFiltersSection","visibleSections","hasHosts","serviceLicenseHosts","scope","serviceLicenses","LicenseHosts","flat","currentOrgHasChildren","SignInChallenge","RegistrationMode","registerNewHost","licenseFile","registrationMode","process","minRows","maxRows","registrationKey","ByFile","registration","encrypted","registerEncryptedHost","registerUnencryptedHost","JSON","parse","readFile","file","licenseContent","reject","reader","FileReader","addEventListener","readAsText","isCountdownDisabled","onInvitationAccepted","acceptInvitation","isInDialog","acceptOrgInvitationLink","isSignUp","accepted","setOrgInvitationLink","ExchangeMode","dialogWidth","sendLicenseExchangeNotifications","focus","confirmExchange","getPendingExchanges","canChooseExchangeMode","exchangeMode","selectExchangeMode","exchangeModeLabels","licensesSharedByMe","licensesSharedWithMe","backToExchangeModeSelection","selectedExchangeMode","event","exchange","pendingExchangeOutbox","isInOutboxTab","outboxFirstLoad","pendingExchangeInbox","isInInboxTab","inboxFirstLoad","leftChecked","rightChecked","sharedLicenseIds","initial","shared","notShared","ownerSelectorConfig","tenantSelectorConfig","inbox","noti","isInvolved","outbox","pendingNotis","tenantPendingNotifications","inboxPendingNoti","outboxPendingNoti","isPending","isInboxPending","isOutboxPending","isTenantPendingReturn","isLicenseReturn","isFrom","tenantPendingReturnNoti","isTenantPendingShare","isDestinatedTo","tenantPendingShareNoti","isTenantPendingExchange","isSharedWithTenat","isSharedByOwner","isEligibleToShare","isEligibleToReturn","pendingStatus","getPendingStatus","getExchangeStatus","eligibleForExchange","isPendingForOtherTenant","SharedByMe","initiallyShared","exchangeableLicenses","ids","isSharedOrPendingShare","initiallyNotShared","isNotSharedOrPendingReturn","option","isExchangePending","sharePending","returnPending","currentSharedLicenseIds","initialSharedLicenseIds","sharedLicenses","has","notSharedLicenses","didChange","currentOrgChildren","disabledItems","hierarchical","SharedWithMe","noDataText","licenseOwners","isOwnerAlreadyAdded","isOwnerMyCurrentOrg","singleCard","noCheckbox","transfer","addToRight","addToLeft","buildDimensionSummary","currCount","sharedDimSummary","entry","lastCommaIndex","lastIndexOf","tenantSelector","ownerSelector","Tabs","Exchange","paylaod","sendLicenseExchange","fetchInbox","fetchPendingLicenseExchanges","tab","focusIfNoOwner","Outbox","Inbox","hasReturnWithHosts","dangerouslyUseHTMLString","executeExchange","MappingOptions","namespace","dispatch","root","rootGetters","maxLength","clamp","midpoint","ceil","toremove","lstrip","rstrip","ms","setTimeout","probability","random","passes","str","charAt","toUpperCase","items","group","skipUndefined","prev","itemGroup","getNestedProperty","skipNoValue","skipNull","config","interval","beforeExecute","log","shouldFinish","afterExecute","poll","target","Notification","ServiceWorkerRegistration","permission","querySelector","parent","parentElement","hasOverflow","getComputedStyle","overflow","humanize","Payment","contactMail","Amis","ReportContractsFilters","origins","onlyPocs","withHosts","orgFilters","UserStatusPhase","Confirmed","Archived","Compromised","Unknown","Unconfirmed","ResetRequired","ForcePasswordChange","numberOfLicensesShared","_m","transferClass","transferOptions","shareTransferConfig","returnTransferConfig","onLeftCheckStateChange","onRightCheckStateChange","isLicenseChecked","isLicenseReturned","isLicenseShared","count","transferToRight","transferToLeft","toShareSummary","toReturnSummary","BillingPeriod","commercialProduct","SAP","Linke","Syntax","Lab","AMS","AWS","Trial","MSP","NotificationStatus","NotificationType","sent_by","SystemSender","created_at","expiration_date","modification","updated_at","senderOrgId","sender_org_id","remote","LicenseReturn","stringify","textMeetsSender","pageClass","onRestoreDefaultsClick","cookiesEnabled","hiddenLoadingIndicator","setHiddenLoadingIndicator","hiddenBreadcrumb","setHiddenBreadcrumb","collapsedMenu","toggleCollapsedMenu","expandSubmenus","setExpandSubmenus","setUiMode","setUiContentSizeMode","setUiSize","$ELEMENT","onClearCacheClick","uiContentSizeMode","uiMode","uiSize","navigator","cookieEnabled","restoreAppSettingDefaults","clearState","PackageTypeTab","placeholder","onVersionSelected","version","selectedPlatform","BooleanCookie","signOutOnEnter","menu","hidden","children","authRequired","breadcrumb","groupId","prependPaths","selectionPath","pause","stop","resume","AuthProcess","AuthStatus","OrgsStoreCookies","OrgsStoreCommit","OrgsStoreAction","OrgsStoreGetter","MAX_ORGS_HISTORY_SIZE","MAX_ORGS_HISTORY_SEPARATOR","OrgsStore","_computed","_currentOrgId","_orgRoles","_orgRolesHistory","_suggestions","currentOrgRoleHierarchy","defaultOrgRole","isMain","currentOrgRole","findOrgRoleHierarchy","currentOrgRoleParent","findOrgRole","orgRoles","found","orgRolesHierarchy","hierarchy","childOrgRolesMap","groupBy","assignChildrenRoleOrgs","orphanOrgRoles","isNoAccess","setOrganization","orgIdsHistory","$cookies","OrgsHistory","remove","currOrgRole","existingOrgRole","computed","setDefaultOrganization","FetchOrgRoles","getOrgSuggestions","createOrganization","Switching","history","state","currentHistoryIndex","orgRolesHistory","SetOrgRolesHistory","OrgOverwrite","fetchOrgChildren","getOrgChildren","childrenOfChildren","allChildren","childOrgs","noAccess","getOrgRoles","allowedOrgRoles","SetComputedGetters","userDidChange","ClearOrgRolesHistory","universalOrgAccess","allOrgRoles","SetOrgRoles","overwriteId","switchOrgRole","mainOrgRole","SetCurrentOrgRole","roleDto","getRolePermissions","guestRole","setAccessRole","SetAccessRole","shouldFetchChildren","CreateChildOrg","canForSomeService","ShareLicenses","FetchCurrentOrgChildren","wasSwitchingOrg","Info","historyCookie","initUserNavigation","InitUserNavigation","SetOrgSuggestions","deinitUserNavigation","DeinitUserNavigation","UpdateOrg","localPath","LocalFile","remotePath","RemoteObject","Size","LifecycleType","BackupStatus","Daily","Weekly","Monthly","Yearly","Completed","Failed","Started","start_date","end_date","source_database","license_id","license_uuid","host_id","host_external_id","host_sid","host_hostname","host_platform","host_client_version","error_message","error_code","total_size","Factory","Azure","GCloud","Release","platform_id","fullName","orgArrayParamSerializer","CanCreateAppUsers","CanEditAppUsers","userEditorDialog","getUsers","removeUser","hasUsers","filteredUsers","onDeleteClick","sortByOrgAccess","previewsAccess","universalAccessUsersCount","fetchUsers","deleteUser","users","aScore","bScore","CreateAppUsers","EditAppUsers","CanDeleteAppUsers","DeleteAppUsers","onContractSelected","dates","productName","contractExpiration","contractCreation","customClass","showClose","MergeDefaults","iconClass","info","warning","closeAll","isTop","position","startsWith","Offset","StateCleanerMixin","clearTrialStore","clearResourcesStore","clearLicensingStore","clearEmoryBackupsStore","clearNotificationInboxStore","clearNotificationsStore","clearUsersStore","provider","getSizeUnitFullName","levelsSearchText","getBackupLevels","backupLevels","onLevelsDropdownVisibleChange","groupLevels","allBackupStatus","allSizeUnits","allCloudProviders","getUnitFullName","fetchBackupLevels","filteredLevels","isLog","subtract","toggle","drawerClass","appendToBody","beforeClose","closeOnPressEscape","destroyOnClose","modal","modalAppendToBody","direction","drawerVisible","wrapperClosable","withHeader","uid","randomBytes","marginY","drawers","Function","RedirectCountdownMixin","timeout","setInterval","countDown","clearInterval","redirectMethod","contractsStatus","filteredReportContracts","isPoc","hideMRR","autorenewal","reportsDialog","numLicenses","datasourceChecked","mrrChecked","tcvChecked","leadGenChecked","uploadReports","fetchLeadGenReport","getLeadGenReport","fetchUploadReports","prevRoute","azure","location","containerPath","encryption","encryptionKeyName","contractInfo","recoveryModel","sendToServer","Recovery","verificationcode","onlyDigits","busy","email","codePattern","setLoading","verifyCode","isGuestRole","input","consolePermissions","emoryPermissions","nimbusPermissions","abapSuitePermissions","props","throttle","repeat","dateFormat","Platform","productVersionId","product_version_id","FileSizeUnit","KB","MB","GB","TB","decimals","kiloBytes","megaBytes","gigaBytes","teraBytes","parseFloat","toFixed","hasAvailableDimensions","filterable","getDimensions","disabledInput","multiple","popperClass","onSelectFilterChange","onVisibleChange","noIcon","visibleDropdown","hasNoValue","serviceIdCount","getServiceIdName","serviceIds","fetchs","shouldRefetch","fetchAllDimensions","refetch","serviceDims","newServiceIds","oldServiceIds","selectedServiceIds","shownDimensions","filteredDimensions","dimMap","availableDimensionsMap","dimArr","arr","selectedDimension","classes","copying","copy","showSuccess","copyToClipboard","select","setSelectionRange","execCommand","onDialogClosed","getOrgInvitationsOutbox","hasNotifications","filteredOrgInvitationsOutbox","fetchOrgOutbox","roles","orgInvitationsOutbox","discardNotificationChanges","getSummary","fetchSummary","summaries","serviceLabel","getClassForCell","expandedIds","onExpandChange","table","toggleRowExpansion","hasSummaries","treeData","licenseDimension","licenseUnits","contractExternalId","DimensionName","NumberLicenses","ID","ExternalID","CreationDate","ExpirationDate","licensesSummary","LicensesList","ProductName","Contracts","reverse","OrgUUID","OrgName","serviceSummaries","Products","OrgsLicensingSummaryFilters","withTests","onlyActive","hideWithoutContracts","orgsSummaries","getOrgLicensingSummary","expandedOrgMaxLevel","allServices","debouncedFetchSummary","getLevel","orgUUID","cls","orgExpandedMaxLevel","columnIndex","onRoleSelected","defaultFirstOption","filteredRoles","isManaged","blur","contractExtendedLink","AwsRegion","onRegionSelected","regions","regionGroup","region","findByCode","AllByRegion","selectedRegion","regionsMap","filteredRegions","updateDto","toUpdateDto","ExpandableSection","disableExpanse","exportBackups","recordCount","downloadBackupsHistoryFile","getBackupsExport","webpackContext","req","webpackContextResolve","onLeadGeneratorSelected","selectedLeadGenerator","startTrial","getTrialStatus","fetchTrialInfo","statusMessage","invitationNotif","execution","declineInvitation","accessRequestNotif","cancelRequestAccess","requestAccess","sendOrgAccessRequest","cancelNotification","acceptNotification","declineNotification","appInfo","purchaseMethods","append","LayoutMixin","currentServiceTrialInfo","legacy","docsPanelVisible","NotificationsInboxStoreCommit","NotificationsInboxStoreAction","NotificationsInboxStore","_inbox","_orgInvitationLink","notifications","newNotif","existingNotif","notifIndex","getNotificationsInbox","fetchLicenses","FetchAllLicenses","fetchLicensesPayload","hasNoOrgs","acceptOrgRequestNotification","fetchOrgUsers","FetchOrgUsers","acceptContractPurchaseNotification","fetchByIdPayload","fetchContractById","FetchContractById","fetchLicensesByContractId","declineOrgInvitationLink","SetInboxNotifications","SetOrgInvitationLink","DeleteInboxNotification","PutInboxNotifications","Contract","numHosts","is_poc","expirationNotifications","meetsStatusFilter","meetsOriginsFilter","meetsExpNotif","notifStatus","Enabled","Disabled","searchStatusLabel","searchCode","searchOrigin","threshold","isFinished","ContractFilters","loadingThrottle","licenseService","acceptExchangeNotification","User","agreesCommunications","cognitoId","cognito_id","firstName","lastName","surname","creation_date","update_date","agree_comm","preview_access","universal_org_access","userOrgRoles","org_roles","mainOrgRoleDto","is_main","allowedOrgRoleDtos","trim","isFulfilled","orgRoleDto","hasAccessToOrgs","textMatch","ProductVersion","inviteToOrg","onFieldClear","onInviteClick","doInvite","sendOrgInvitation","gcloud","bucketPath","exp_type","cardClass","header","noPadding","selectable","selected","dashed","borderRadius","sessionRestoreError","reloadPage","isInMaintenance","maintenanceCookie","cookiesPolicyCookie","childrenCount","maintenanceDurationHours","maintenanceStart","maintenanceEnd","updateNotificationsCount","container","childElementCount","reload","authStatus","SignedIn","isSignedIn","isAuth","isAfter","maxHosts","total_items","toSentenceCase","replaceAll","EmoryBackupsStoreCommit","_backupLevels","_currentHistoryPage","_currentFilters","SetBackupLevels","SetCurrentBackupHistoryPage","SetCurrentFilters","filterDto","SignOutMixin","$Progress","start","signOut","finish","menuItemClass","showTooltip","collapse","tooltipContent","activeIndex","detailsClass","spacing","indent","align","yesLabel","noLabel","yesType","noType","recipient","notificationRecipient","resendInvitation","discardChanges","acceptOrgInvitationNotification","CanListHosts","ListHosts","details","licenseSummary","source_org","destination_org","currLicenses","product_name","contract_origin","computedTagType","getInbox","orgInvitationsInbox","orgSuggestions","myOrgRequestsOutbox","fetchOrgSuggestions","fetchMyOutbox","YesNoOption","columnsLayoutClass","embedded","hasActiveTrial","redirectToNonLegacyService","left","showLeft","right","showRight","pageLayoutClass","colSpacing","section","routeConfigs","serviceRoute","getChildren","child","getDefinition","visibleChildren","childrenConfig","RootPath","prependRoutes","visiblePrependRoutes","filteredRoute","filterRouteChildrenForRole","isRouteAccessibleForRole","isParenRouteDefinition","filteredChild","grantsAccessToRoute","previewAccess","inPreview","servicePreventsPush","parentsPreventsPush","sectionPreventsPush","AuthPath","ErrorPath","NotFoundPath","ForbiddenPath","HubPath","autofocus","NotificationsOutboxStoreCommit","NotificationsOutboxStoreAction","NotificationsOutboxStore","_orgOutbox","_myOutbox","notifTypes","FetchOrgOutbox","getOrgOutboxNotifications","getMyOutboxNotifications","commitPayload","PutMyOutboxNotifications","PutOrgOutboxNotifications","sendContractPurchase","addNotifToInbox","AddNotification","FetchPendingLicenseExchanges","ClearMyOutboxNotifications","ClearOrgOutboxNotifications","SetOrgOutboxNotifications","SetMyOutboxNotifications","DeleteNotification","awsUrl","newAxios","resource","resourceId","resId","onPopoverVisible","getNotifications","onNotifConfigReponseChange","popover","removeEventListener","handleDocumentClick","hasSummary","filteredLicensingSummary","ContractsSummaryFilters","Product","Org","LicenseDimensions","licensingSummary","getLicensingSummary","servie","ip","memory","clusterId","contractLicenses","licenseTransferDialog","CanListLicenses","getLicensesByContractId","hasLicenses","filteredContractLicenses","onViewLicenseClick","licenseSlotScope","isShowingBothSharingColumns","sortByOwner","column","sortByTenant","editContract","onExpirationNotificationsChange","currentExpNotificationStep","Licenses","updateContract","CanShareLicenses","updateLicenseSharingColumns","validExpNotifParam","Notifications","getLicenseExchangePending","getLicenseSharingPending","getLicenseReturnPending","currentNotif","dimCount","ListLicenses","canShare","isActiveOrInGrace","canReturnToParent","canReturnFromChild","sharing","return","signedIn","action","isInOrganizationSetup","canSwitchOrg","signingOut","goToAppSettings","goToAccountSettings","restoringSession","signingIn","signOutAndRedirect","performSignOut","RestoringSession","SigningOut","SigningIn","ResourcePermissions","ResourcesStoreAction","ResourcesStoreCommit","_allPlatforms","_releases","_categories","_allVersions","_resourcePermissionsMap","_manageResourcesDialogVisible","productVersions","permissionsMap","getPlatforms","getCategories","getProductVersions","createProductVersion","createPlatform","createRelease","getUploadLink","getPermissions","SetAllPlatforms","SetCategories","SetAllVersions","SetManageResourcesDialogVisible","SetResourcePermissionsMap","OrgInvitationNotification","detailsRemote","meetsRole","textMeetsRecipient","textMeetsRole","OrgInvitationNotificationLink","notificationId","parseInt","invitation","orgname","hasOrgInvitationLink","emoryResourcePermissions","hostCode","clearDisabled","UsersStoreCookies","UsersStoreCommit","UsersStoreAction","UsersStoreGetter","UsersStore","_sessionUser","_users","_orgUsers","LastUser","u","newUser","currentUser","getUser","userDto","createUser","updateUser","updateOrgUserRole","removeUserFromOrg","SerOrgUsers","SetUsers","previousUsername","initUserOrgs","InitOrgs","initUserOrgsPayload","deinitUserOrgs","DeinitOrgs","AddUsers","RemoveAppUser","AddOrgUsers","RemoveOrgUser","SetSessionUser","onOrgRoleSelected","orgsHistoryMaxSize","mockedOrgRole","orgRoleSelector","ForReports","LegalStoreCommit","LegalStore","_dataProtectionDialogVisible","SetDataProtectionDialogVisible","CloudProviderType","location_name","location_path","encryption_type","encryption_key","BaseUrl","sanitizeUrl","BackupCloudProvider","licenseCode","collapseTags","onSelectChange","onSelectClear","_k","keyCode","onKeyDown","button","noMatchText","defaultExpandAll","includeNoAccessRoles","childInset","showRole","noExpand","onTreeOrgRolesChange","selection","tree","getOrgRoleTree","filterTree","getSelectedTreeItem","scrollToTreeItem","dataset","setHighlight","treeItem","highlightSelectedTreeItem","highlightFirstTreeItem","firstTreeItem","getFirstTreeItem","behavior","scroll","popper","$el","scrollOffset","offsetTop","clientHeight","selectCurrentTreeItem","setCurrentTreeItemExpand","navigateTreeItems","getCurrentTreeItem","onSelectionChange","ExportFormat","VueClickOutside","Name","Definition","el","binding","vnode","clickOutsideEvent","contains","context","unbind","Capitalize","Pluralize","quantity","requireModule","filename","use","router","moduleName","LogLevel","RunningMode","Env","Local","Development","Production","defaultConfig","sharedConfig","mergedConfig","logLevel","Trace","Debug","Warn","logMessage","prependLevel","prefix","logParams","warn","logStyle","background","foreground","debug","isDevelopment","isLocal","kebabize","letter","idx","separateFileName","part","componentname","modulename","modName","cmpName","cmpTag","retries","retryDelay","exponentialDelay","ignoredElements","productionTip","Router","$ENV","directive","AppConfig","extend","Store","h","App","mq","xs","xxl","$mount","canOperateWithLicense","isOwnedByCurrentOrg","getLicenseById","licenseHosts","unregisterLicenseHost","filteredLicenseHosts","CanRecoverLicenseFile","CanUnregisterHosts","recoverLicense","recoverLicenseFile","unregisterExistingHost","fetchLicenseById","hostId","unregisterHost","licenseSharingPending","licenseReturnPending","licenseRecovery","hostContent","UnregisterHost","RecoverLicenseFile","licenseExchangePending","hasDimensions","popoverVisible","slotClass","ExpirationThresholdCookie","LicensesCookie","getLicenses","serviceLicenseStatus","filteredLicenses","onViewContractClick","isServiceEmory","shouldDisplayHostsColumns","licenseHasHosts","getClientVersion","getHostName","fetchAllLicenses","DialogResult","isVisible","customDialogClass","fullscreen","lockScroll","closeOnClickModal","center","closeGuard","onOpen","opened","force","markAsCancel","resolvePromise","markAsSuccess","isSuccess","selectedVersion","rowClass","TrialStep","requestTrial","isSelectionFulfilled","getTrialDimensions","fetchTrialDimensions","availableDimensions","onDimensionUnitsChange","step","dimName","currDimUnits","dimUnit","skipNextSteps","NextSteps","isInConfigurationStep","previousYear","nextYear","openFInfoEditor","formattedFInfo","month","fetchFInfo","transformDates","currentYear","isEdit","targetAmi","financialInfoDialog","CanEditFinancialInfo","EditFinancialInfo","AbapSuiteLicenseFilters","fetchPlatforms","fetchSelectedReleaseResources","allPlatforms","titleClass","onBack","labelType","isPrimaryType","Permission","orgCode","changingPwd","onNewPasswordChange","newPwdError","submit","validate","performSignInChallenge","setChangingPwd","respondToNewPwdChallenge","valid","aws","onOriginSelected","dataProtectionDialogVisible","setDataProtectionDialogVisible","parseHosts","shared_with","usage","meetsOwner","meetsTenant","meetsStatus","meetsDimensions","meetsHostFilters","ownerSearch","tenantSearch","HostAvailability","isRegistered","Registered","meetsHostHostnames","hostnames","hname","meetsExternalIds","externalIds","extId","searchHostname","meetBaseFilters","meetsHostSid","sIds","meetsProdEnv","production","Yes","No","meetsBaseFilters","meetVersions","versions","v","meetIps","ips","LicensingStoreGetter","LicensingStoreCommit","LicensingStoreAction","_contractsMap","_licensesMap","_dimensionsMap","_contractPurchase","dimNames","newContract","currentContract","newLicense","currentLicense","SetContractsMap","SetLicensesMap","SetContractPurchase","addLicensePayload","AddLicenses","encryptedHost","FetchLicenseById","contractDto","fetchContractLicensesPayload","SetDimensions","SetContracts","SetLicenses","orgRoleSelectorData","disabledOrgRoles","onOrgRoleChange","or","onValueSelected","propValue","backupUuid","canAccessUser","signUpModel","isDisabled","preventDefault","openDataProtectionDialog","signUpError","canSignUp","signingUp","onSubmitClick","SignUp","agreeCommunications","agreeDataProtectionPolicy","invitationId","checkboxMustBeChecked","performSignUp","setSigningUp","signUp","SigningUp","servicesForReports","signInModel","signInError","canSignIn","SignIn","performSignIn","setSigningIn","signIn","AbstractCookie","read","storedValue","parseCookie","activeCount","expiredCount","inGraceCount","fromLabel","marginRightStyle","linesStyle","toLabel","lineStyle","Dimension","pulseClass","yOffset","xOffset","INITIAL_X_OFFSET","RegisterHostResponseFormat","contractsUrl","licensesUrl","contractid","hostsUrl","File","encrypted_input","dimensionsUrl","extended_contract_id","expireson","ReportContract","hideBreadcrumb","SummaryTab","newTab","oldTab","contractsSummary","orgsLicensingSummary","onNotVisible","onVisible","raw","age","iat","exp","AuthStoreCookies","AuthStoreCommit","AuthStoreAction","_authStatus","SignedOut","_sessionToken","_sessionRestoreError","_accessRole","_roles","_authDialogVisible","_authDialogConfig","setToken","getRoles","SetAuthDialogVisible","resolver","SetAuthDialogConfig","SetAuthStatus","sessionTime","Token","AccessToken","InitSession","DeinitSession","SetSessionRestoreError","initSessionUser","InitSessionUser","fetchRoles","FetchRoles","fetchNotifInbox","FetchInbox","SetSessionToken","deinitSessionUser","DeinitSessionUser","SetRoles","isEmpty","treeClass","treeProps","showCheckbox","filterNode","defaultExpandedKeys","onOrgRoleChecked","orgIds","setSelection","clearSelection","onValuePropChange","empty","defaultHighlight","getTreeItem","firstId","getTree","childId","firstEl","firstChild","lastChild","selectedTreeItem","expandSelection","firstSelectedId","treeItems","classList","navigableItems","getNavigableTreeItems","currId","getCurrentKey","currIndex","nextIndex","getCurrentNode","getNode","childNodes","$forceUpdate","shouldExpand","isLeaf","expandChildren","defaultExpand","filterNoAccessRoles","buildTreeNode","levelLimit","selectedParentNodes","getCheckedNodes","nodes","setCheckedKeys","setCurrentKey","_node","onValueChange","checkedNodes","currSelection","selectedOrgRole","groupKeyline","MAX_SAFE_INTEGER","currentStep","forgotPwdModel","requestForgotPwd","newPassword","confirmForgotPwd","ForgotPwd","newpassword","confirmationcode","ForgotPwdStep","RecoveryEmail","emailForm","codeForm","codeValidation","pwdValidation","newPwdForm","forgotPwd","ChangePassword","Finish","AuthFormPanel","authDialogVisible","onClose","onResolve","authContext","currentPanel","panel","onCancelForgotPwd","newPwdChallenge","newPanel","$parent","isSignIn","isNewPwdChallenge","isRecovery","isForgotPwd","ForgotPassword","isRespondInvitation","RespondInvitation","isNewPasswordChallenge","setCurrentPanel","onSignInComplete","onSignUpComplete","setContractPurchase","targetPanel","forgotPwdPanel","newPwdChallengePanel","signInPanel","signUpPanel","respondInvitationPanel","isError","isUpdate","shouldRender","authDialogConfig","setAuthDialogVisible","controller","authController","ResourceType","manageResourcesDialogVisible","setManageResourcesDialogVisible","canCreate","formValue","abapSuite","platformFilterForRelease","filteredPlatformsForRelease","resourceFilters","filteredPlatforms","filteredReleases","releaseNotes","releaseNote","onCategorySelected","subcategory","handleRemove","handleExceed","fileList","Resource","releaseId","release_id","notesId","release_note_id","uploadResource","deleteResource","platformId","selectedCategory","fetchCategories","platformData","pVersionData","createNewResource","refreshFetch","createNewRelease","createNewProductVersion","createNewPlatform","releaseData","resourceData","FormData","$message","expirationThresholdLabel","cookie","expiredBeforeThreshold","meetsExpirationThreshold","expirationThreshold","filtering","canCreateOrUpdate","createOrUpdateUser","addAllowedOrgRole","removeAllowedOrgRole","clone","selectedOrgs","updateCurrentUser","createCurrentUser","done","emptyClass","Role","is_managed","AccessRole","Permissions","Guest","every","endsWith","routePermissions","reqPermissions","hasPermissions","HostFilters","zIndex","i18n","observable","_locale","_i18n","canEditContract","edit","isSame","newExpDate","expirationDate","errorDescription","onCancelInvitation","goToSignIn","skippable","onForgotPasswordClick","onSignInResult","onSignUpResult","toggleAuthPanel","OrganizationRole","NoAccess","reqInterceptorId","resInterceptorId","addApiInterceptors","ejectApiInterceptors","addRouteInterceptors","beforeEach","next","signOutDueToSessionExpired","afterEach","_to","_from","requestInterceptor","responseInterceptor","eject","nav","PurchaseError","hasContractPurchase","AlreadyAssigned","AssignPending","navigationInitialized","initNavigation","setFloatingMenuVisible","setRoute","loadUrlQueryParams","loadingNotif","Indeterminate","fromQuery","clearQuery","orgInvitation","newSize","oldSize","loadSettingsFromCookies","loadSessionFromCookies","routeGuard","targetRoute","billingPeriodDialogVisible","formType","updateElement","setBillingPeriodDialogVisible","getServiceName","General","MainOrg","AllowedOrgs","fetchUser","fetchedUser","listItemClass","titleLabel","descriptionLabel","vSpacing","labelKeyPath","descriptionKeyPath","cancelExecution","throws","acceptExecution","declineExecution","CanCreateChildOrg","CanEditOrg","hasPreviews","changePwdDialog","leaveCurrentOrg","goToOrgSetup","openOrgEditor","currentOrgApiKey","leaveCurrentOrganization","orgAccessCount","setAsDefaultOrg","onDefaultOrgChange","canSwitchToOrgRole","showListAccessRequestInbox","showInvitationsInbox","orgAccessRequestInbox","invitationsDialog","CanListOrgUsers","getOrgUsers","firstOrgUsersLoad","organizationUsers","removeUserFromCurrentOrg","getOrgAPIKey","fetchOrgAPIKey","getApiKey","orgAPIKey","CanAcceptOrgAccessRequest","orgUsers","targetOrg","parent_id","orgEditorDialog","defaultOrgSelector","switchToDefaultOrg","$prompt","confirmButtonClass","inputErrorMessage","inputValidator","inputPlaceholder","EditOrg","CanInviteOrgMembers","InviteOrgMembers","ListOrgUsers","CanListOrgInvitations","ListOrgInvitations","AcceptOrgAccessRequest","OrgSwitchMixin","$loading","lock","switchToOrgRole","changePwd","changePassword","onPasswordChange","listClass","listItems","getId","onListItemSelected","idKeyPath","availableSlots","AppRestartMixin","$alert","termsAndConditionsUrl","onInputChange","hasLowercase","validationAttempt","hasUppercase","hasDigit","hasSpecialChar","noWhitespace","hasMinLength","bothPasswordsMatch","wasValid","repeatPassword","Regex","SpecialChar","Uppercase","Lowercase","Whitespace","Digit","Length","hasValue","bothFieldsWithValue","newPasswordForm","isValid","sortedResources","downloadResource","getResourceLink","resourceLink","onEditorSuccess","newOrg","AppSettingsDefaults","_collapsedMenu","_hiddenBreadcrumb","_expandSubmenus","_uiSize","_uiMode","_uiContentSizeMode","_hiddenLoadingIndicator","AppSettingsStoreCookie","AppSettingsStoreCommit","AppSettingsStoreAction","collapsed","CollapsedMenu","ExpandSubmenus","HiddenBreadcrumb","HiddenLoadingIndicator","UiMode","UiSize","UiContentSizeMode","SetCollapsedMenu","SetExpandSubmenus","SetHiddenBreadcrumb","SetHiddenLoadingIndicator","SetUiMode","SetUiContentSizeMode","SetUiSize","isString","menuClass","goToHome","openedSubmenus","activeSectionPath","onMenuItemSelected","sectionRoute","sectionChildRoute","isServiceInPreview","userHasPreviewAccessToRoute","menuItems","submenus","menuItemsCount","serviceSections","sections","getServiceSectionsForRole","isLarge","wasLarge","setCollapsedMenu","isMedium","wasMedium","isFloating","isFloatingMenuVisible","isAccessibleForUserWithPreviewAccess","configItemClass","availableServiceRoutes","availableOtherRoutes","onStatusSelectionChange","statusName","placement","onPurchaseMethodSelected","currentService","method","serviceViewportClass","userHasAccessToRoute","docsPageLoading","openCurrentDocsUrlInNewTab","closeDocsPanel","onDocsPageLoad","scroller","viewportContent","scrollTo","iFrame","contentWindow","href","closeAuthDialog","closeDataProtectionDialog","isFocused","focusKey","serviceSelectorClass","currentServicePath","onServiceSelected","onDropdownVisibleChange","handleKeyDown","hasAppInfo","menuItem","aServiceRoute","normalizeServiceName","overrideSelectDebounce","debouncedOnInputChange","debouncedQueryChange","handleQueryChange","serviceRoutes","filteredServiceRoutes","serviceGroups","getConsoleMenuGroup","normalize","keyMap","toggleFocus","ctrlKey","contractOrg","orgSelectionDialog","requestDto","isSignInChallengeDto","newPwd","rolesUrl","noLink","shouldDisable","AbapSuiteHostFilters","MenuStoreCommit","MenuStore","_isFloatingMenuVisible","SetFloatingMenuVisible","CanEditOrgUsers","currentUserHasManagedRole","onRemoveUserFromCurrentOrg","onUpdateOrgUserRole","userRoleInCurrentOrg","getRemoteOrgRoleForOrg","CanDeleteOrgUsers","DeleteOrgUsers","EditOrgUsers","CanCreateOrgUsers","CreateOrgUsers","EmoryHostFilters","onReleaseSelected","selectedRelease","Organization","isTest","is_test","domain_name","meetsName","meetsUuid","meetsDomain","fInfoDialogVisible","getFinancialTypes","typeOptions","editFInfo","setFInfoDialogVisible","fetchFinancialTypes","newFInfo","headerClass","orgSwitcherPopoverVisible","shouldDisableControls","orgSwitcher","signedOut"],"mappings":"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","file":"js/index.54a51d7f.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"index\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import { NavigationStoreState, SetRoutePayload } from \"./Navigation.state\";\nimport OrgsStore, { OrgsStoreGetter } from \"@Module/Orgs/Store/Orgs.store\";\nimport { Action, Getter, Module, Mutation, VuexModule } from \"types-vue\";\nimport { AccessRole } from \"@Module/Auth/Models/Roles/AccessRole.model\";\nimport LicensingApi from \"@Module/Licensing/API/Licensing.api\";\nimport { ServiceID, ServiceMap } from \"@Service/ServiceID\";\nimport { ConsoleRoute } from \"@Core/Models/ConsoleRoute\";\nimport { User } from \"@Module/Users/Models/User.model\";\nimport { Utils } from \"@Core/Utils/Utils\";\nimport { Console } from \"vue-router\";\nimport { ActionContext } from \"vuex\";\nimport Vue from \"vue\";\nimport { Permission } from \"@Module/Auth/Models/Roles/Permissions.model\";\nimport { ILicensingCheckDto } from \"@Module/Licensing/Models/LicensingCheck.model\";\n\ninterface ServiceLegacyAccessPayload {\n service: ServiceID;\n hasAccess: boolean;\n}\n\nenum NavigationStoreGetter {\n GetRoute = \"getRoute\",\n AllServiceRoutes = \"allServiceRoutes\"\n}\n\nenum NavigationStoreCommit {\n SetRoutes = \"_setRoutes\",\n SetPreviousRoute = \"_setPreviousRoute\",\n SetCurrentRoute = \"_setCurrentRoute\",\n SetServiceLegacyAccess = \"_setServiceLegacyAccess\",\n SetDocsUrl = \"_setDocsUrl\"\n}\n\nexport enum NavigationStoreAction {\n InitUserNavigation = \"initUserNavigation\",\n DeinitUserNavigation = \"deinitUserNavigation\"\n}\n\nexport type InitUserNavigationPayload = {\n user: User;\n accessRole: AccessRole;\n}\n\ndeclare type NavigationStoreContext = ActionContext\n\n@Module({ namespaced: true })\nexport default class NavigationStore extends VuexModule implements NavigationStoreState {\n public static readonly Mapping = Utils.createVuexMappingOptions(\"Navigation\");\n\n public _legacyAccess: ServiceMap = {};\n\n public _routes: ConsoleRoute[] = [];\n\n public _previousRoute: ConsoleRoute = null;\n public _currentRoute: ConsoleRoute = null;\n\n public _docsUrl: string = null;\n\n @Getter()\n public routes(): ConsoleRoute[] {\n return this._routes;\n }\n\n @Getter()\n public navigationInitialized(): boolean {\n return this._routes.length > 0;\n }\n\n @Getter()\n public getRoute(): (path: string) => ConsoleRoute {\n return (path: string) => this._routes.find(r => r.path === path);\n }\n\n @Getter()\n public abapSuiteServiceRoute(): ConsoleRoute[] {\n return this._routes.filter(route => !route.isRoot && !route.isChild && route.path === \"/abap-suite\");\n }\n \n @Getter()\n public availableServiceRoutes(): ConsoleRoute[] {\n return this._routes.filter(route => {\n if (route.isRoot || route.isChild || route.isHidden) {\n return false;\n } else if (route.isServiceLegacy) {\n return route.hasLegacyAccess;\n } else {\n return true;\n }\n });\n }\n\n @Getter()\n public allServiceRoutes(): ConsoleRoute[] {\n return this._routes.filter(route => !route.isRoot && !route.isChild);\n }\n\n @Getter()\n public currentService(): Console.ParentRouteDefinition {\n return this._currentRoute?.service || null;\n }\n\n @Getter()\n public currentServiceId(): ServiceID {\n return this._currentRoute?.serviceId || null;\n }\n\n @Getter() \n public docsUrl(): string { \n return this._docsUrl; \n }\n\n @Getter() \n public docsPanelVisible(): boolean { \n return !!this._docsUrl; \n }\n\n @Getter() \n public previousRoute(): ConsoleRoute { \n return this._previousRoute; \n }\n\n @Getter() \n public currentRoute(): ConsoleRoute { \n return this._currentRoute; \n }\n\n @Mutation() \n protected _setDocsUrl(url: string | null) { \n this._docsUrl = url;\n }\n\n @Mutation() \n protected _setRoutes(routes: ConsoleRoute[]) { \n this._routes = routes;\n }\n\n @Mutation() \n protected _setPreviousRoute(route: ConsoleRoute) { \n this._previousRoute = route;\n }\n\n @Mutation() \n protected _setCurrentRoute(route: ConsoleRoute) { \n this._currentRoute = route;\n }\n\n @Mutation() \n protected _setServiceLegacyAccess(payload: ServiceLegacyAccessPayload) { \n this._routes\n .filter(route => route.serviceId === payload.service)\n .forEach(route => route.hasLegacyAccess = payload.hasAccess);\n }\n\n @Action({ commit: NavigationStoreCommit.SetDocsUrl })\n protected async openDocsPanel(url: string): Promise {\n return url;\n }\n\n @Action({ commit: NavigationStoreCommit.SetDocsUrl })\n protected async closeDocsPanel(): Promise {\n return null;\n }\n\n @Action({ commit: NavigationStoreCommit.SetRoutes })\n public async initNavigation(): Promise {\n const routes = Vue.$router.getRoutes() as Console.RouteRecord[];\n return routes.reduce((consoleRoutes, route) => {\n if (!route.path) { return consoleRoutes; }\n const pathParts = route.path.substring(1).split(\"/\");\n const servicePath = `/${pathParts[0]}`;\n const service = routes.find(r => r.path === servicePath);\n const consoleRoute = ConsoleRoute.create(service, route);\n consoleRoutes.push(consoleRoute);\n return consoleRoutes;\n }, [] as ConsoleRoute[]);\n }\n\n @Action({ useContext: true })\n public async initUserNavigation(ctx: NavigationStoreContext, payload: InitUserNavigationPayload): Promise {\n \n const noOrg: boolean = OrgsStore.Mapping.rootGetter(OrgsStoreGetter.NoOrganization)(ctx);\n if (noOrg) { return; }\n\n const allServiceRoutes: ConsoleRoute[] = ctx.getters[NavigationStoreGetter.AllServiceRoutes];\n const promises = allServiceRoutes.reduce((promises, route) => {\n if (route.isServiceLegacy) {\n const queryPromise = payload.accessRole.can(ServiceID.Console, Permission.AccessLegacyService) \n ? Promise.resolve({ has_contract: true, has_shared_licenses: true } as ILicensingCheckDto)\n : LicensingApi.licensingCheck(route.serviceId);\n queryPromise.then((check: ILicensingCheckDto) => {\n const hasAccess = check.has_contract || check.has_shared_licenses;\n const payload: ServiceLegacyAccessPayload = { service: route.serviceId, hasAccess };\n ctx.commit(NavigationStoreCommit.SetServiceLegacyAccess, payload);\n return hasAccess;\n });\n promises.push(queryPromise);\n }\n return promises;\n }, [] as Promise[]);\n await Promise.all(promises);\n }\n \n @Action({ useContext: true })\n public async deinitUserNavigation(ctx: NavigationStoreContext, expired: boolean): Promise {\n const allServiceRoutes: ConsoleRoute[] = ctx.getters[NavigationStoreGetter.AllServiceRoutes];\n allServiceRoutes.forEach(route => {\n if (route.isServiceLegacy) {\n const payload: ServiceLegacyAccessPayload = { service: route.serviceId, hasAccess: false };\n ctx.commit(NavigationStoreCommit.SetServiceLegacyAccess, payload);\n }\n });\n }\n\n @Action({ useContext: true })\n public async setRoute(ctx: NavigationStoreContext, payload: SetRoutePayload): Promise {\n const to = payload.current.matched[payload.current.matched.length - 1];\n const from = !!payload.previous ? payload.previous.matched[payload.previous.matched.length - 1] : undefined;\n const getRoute: (path: string) => ConsoleRoute = ctx.getters[NavigationStoreGetter.GetRoute];\n\n const previousRoute = !!from ? getRoute(from.path) : undefined;\n const currentRoute = getRoute(to.path);\n\n if (currentRoute?.service.path !== previousRoute?.service.path) {\n ctx.commit(NavigationStoreCommit.SetDocsUrl, null);\n }\n\n ctx.commit(NavigationStoreCommit.SetCurrentRoute, currentRoute);\n if (!!previousRoute && !previousRoute.replaceNavigation) {\n ctx.commit(NavigationStoreCommit.SetPreviousRoute, previousRoute);\n }\n \n Vue.$route = payload.current;\n return currentRoute;\n }\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('core.columns-layout',{staticClass:\"financial-report-view\",attrs:{\"show-right\":!_vm.$mq.lg}},[_c('core.query-param',{attrs:{\"name\":\"tab\"},model:{value:(_vm.currentTab),callback:function ($$v) {_vm.currentTab=$$v},expression:\"currentTab\"}}),_c('div',{staticClass:\"space-y-16\"},[_c('el-tabs',{staticClass:\"w-full\",model:{value:(_vm.currentTab),callback:function ($$v) {_vm.currentTab=$$v},expression:\"currentTab\"}},[_c('el-tab-pane',{attrs:{\"name\":\"contracts\",\"lazy\":\"\"}},[_c('core.label',{staticClass:\"pr-4\",attrs:{\"slot\":\"label\"},slot:\"label\"},[_c('span',[_vm._v(\"Contracts\")]),_c('ion-icon',{staticStyle:{\"width\":\"15px\"},attrs:{\"slot\":\"icon\",\"name\":\"receipt-outline\"},slot:\"icon\"})],1),_c('reports.contracts-report',{ref:\"contractsReport\"})],1),_c('el-tab-pane',{attrs:{\"name\":\"amis\",\"lazy\":\"\"}},[_c('core.label',{staticClass:\"pr-4\",attrs:{\"slot\":\"label\"},slot:\"label\"},[_c('span',[_vm._v(\"Amis & Professional Services\")]),_c('i',{staticClass:\"el-icon-office-building\",attrs:{\"slot\":\"icon\"},slot:\"icon\"})]),_c('reports.financial-info-report')],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Execution } from \"@Core/Models/Execution\";\nimport { IReportContractDto, IReportFiltersDto, ReportContract } from \"@Module/Reports/Models/ReportContract.model\";\nimport ReportsStore from \"@Module/Reports/Store/Reports.store\";\nimport ReportsApi from \"@Module/Reports/API/Reports.api\";\nimport { Component, MapAction, MapGetter, Watch, mixins} from \"types-vue\";\nimport { IReportContractFiltersDto, ReportContractsFilters } from \"@Module/Reports/Models/ReportContractFilters\";\nimport { ContractOrigin } from \"@Module/Licensing/Models/ContractOrigin\";\nimport { ServiceID, ServiceMap } from \"@Service/ServiceID\";\nimport Debounce from \"lodash.debounce\";\nimport { Permission } from \"@Module/Auth/Models/Roles/Permissions.model\";\nimport AppSettingsStore from \"@Service/Settings/Store/AppSettings/AppSettings.store\";\nimport AuthStore from \"@Module/Auth/Store/Auth.store\";\nimport { AccessRole } from \"@Module/Auth/Models/Roles/AccessRole.model\";\nimport FileDownloadMixin from \"@Core/Mixins/FileDownload.mixin\";\n\n\ninterface FileRequestResult {\n name: string;\n content: string;\n base64: boolean;\n downloaded: boolean;\n}\n\n@Component\nexport default class FinancialReportView extends mixins(FileDownloadMixin) {\n\n @MapGetter(AppSettingsStore.Mapping)\n protected isPlainUi: boolean;\n\n @MapAction(ReportsStore.Mapping)\n protected openReportsDialog: () => Promise;\n\n @MapAction(ReportsStore.Mapping)\n protected closeReportsDialog: () => Promise;\n\n @MapGetter(ReportsStore.Mapping)\n protected reportContracts: ReportContract[];\n\n @MapGetter(AuthStore.Mapping)\n protected accessRole: AccessRole;\n \n @MapAction(ReportsStore.Mapping)\n protected fetchReportContracts: (filters: ReportContractsFilters) => Promise;\n\n protected disableFiltersWatcher: VoidFunction = null;\n protected filters: ReportContractsFilters = ReportContractsFilters.create();\n protected searchText: string = null;\n protected expandedRows: number[] = [];\n protected serviceId: ServiceID = ServiceID.Console;\n protected exportResult: FileRequestResult = null;\n protected contract: ReportContract = null;\n protected currentTab: string = \"contracts\";\n\n protected filtersBackup = {\n expand: [],\n searchText: null,\n filters: ReportContractsFilters.create()\n }\n\n protected fetchExcel = Execution.create(\n (filters: IReportContractFiltersDto) => ReportsApi.getExcel(filters), \n ReportsApi\n );\n\n protected fetchMRR = Execution.create(\n () => ReportsApi.getMRR(), \n ReportsApi\n );\n\n protected fetchTCV = Execution.create(\n () => ReportsApi.getTCV(), \n ReportsApi\n );\n\n protected async startExport() {\n const content = await this.fetchExcel.run(this.filters.toDto());\n const name = `Export-${new Date().getTime()}.zip`;\n if (!this.fetchExcel.error) {\n this.exportResult = { \n name, \n content, \n base64: true, \n downloaded: false \n };\n\n const fileName = this.exportResult.name;\n const base64 = this.exportResult.base64;\n this.downloadFile(fileName, content, { base64 });\n this.exportResult.downloaded = true;\n }\n }\n\n protected async downloadExcel() {\n await this.fetchExcel.run(this.filters.toDto());\n }\n\n protected mounted() {\n if (this.permissions.CanListFinancialInfo) {\n this.fetchReportContracts(this.filters);\n }\n this.disableFiltersWatcher = this.$watch(\"filters.dto\", this.debouncedFetchReportContracts, { deep: true });\n }\n\n protected debouncedFetchReportContracts = Debounce(this.getReportContracts, 500);\n protected async getReportContracts() {\n const dtos = await this.fetchReportContracts(this.filters);\n }\n \n\n protected get filteredReportContracts(): ReportContract[] {\n return this.reportContracts\n .filter(s => {\n let orgsMatch = true;\n let dimensionMatch = true;\n if (this.filters.orgs.length > 0) {\n orgsMatch = this.filters.orgs.some(org => org.name === s.orgName);\n }\n if (this.filters.dimensions.length > 0) {\n const selectedDims = this.filters.dimensions.map(d => d.name);\n dimensionMatch = s.dimensions.some(ld => selectedDims.includes(ld.dimension));\n }\n const contractMatch = s.meetsFilter(this.searchText, []);\n return contractMatch && orgsMatch && dimensionMatch;\n }); \n }\n\n protected async exportMRR() {\n const content = await this.fetchMRR.run();\n const name = `Export-${new Date().getTime()}.zip`;\n if (!this.fetchExcel.error) {\n this.exportResult = { \n name, \n content, \n base64: true, \n downloaded: false \n };\n\n const fileName = this.exportResult.name;\n const base64 = this.exportResult.base64;\n this.downloadFile(fileName, content, { base64 });\n this.exportResult.downloaded = true;\n }\n }\n\n\n protected async exportTCV() {\n const content = await this.fetchTCV.run();\n const name = `Export-${new Date().getTime()}.zip`;\n if (!this.fetchExcel.error) {\n this.exportResult = { \n name, \n content, \n base64: true, \n downloaded: false \n };\n\n const fileName = this.exportResult.name;\n const base64 = this.exportResult.base64;\n this.downloadFile(fileName, content, { base64 });\n this.exportResult.downloaded = true;\n }\n }\n\n\n protected originName(origin: ContractOrigin): string {\n return ContractOrigin.nameOf(origin);\n }\n\n protected serviceName(service: ServiceID): string {\n if (service === ServiceID.Connector) {\n return ServiceID.nameOf(ServiceID.AbapSuite);\n }\n return ServiceID.nameOf(service);\n }\n\n protected toggleExpansion(contract: ReportContract) {\n const index = this.expandedRows.indexOf(contract.id);\n if (index >= 0) {\n this.expandedRows.splice(index, 1);\n } else {\n this.expandedRows = [contract.id];\n }\n }\n\n protected get expandedRowIds(): number[] {\n return this.expandedRows\n .filter(id => this.reportContracts.some(contract => contract.id === id));\n }\n\n protected get hasContracts(): boolean {\n return this.reportContracts.length > 0;\n }\n\n protected get firstLoad(): boolean {\n return !this.hasContracts;\n }\n\n protected async resetFilters() {\n try {\n const msg = `Are you sure you want to clear all current filter criteria? This action cannot be undone.`;\n await this.$confirm(msg, \"Clear confirmation\", {\n type: \"warning\",\n confirmButtonText: \"Clear filters\",\n cancelButtonText: \"Cancel\" \n });\n this.filters = ReportContractsFilters.create();\n } catch {}\n }\n\n\n protected viewContract(contractId: number) {\n this.$router.push({\n name: \"report-contract-details\",\n params: { id: contractId.toString() }\n });\n }\n\n\n\n public async onNotVisible() {\n this.disableFiltersWatcher();\n this.expandedRows = [];\n this.filters = ReportContractsFilters.create();\n this.filters.status = [];\n } \n\n\n protected get permissions() {\n return {\n CanAddFinancialInfo: this.accessRole.can(this.serviceId, Permission.AddFinancialInfo),\n CanListFinancialInfo: this.accessRole.can(this.serviceId, Permission.ListFinancialInfo),\n }\n }\n\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./FinancialReportView.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./FinancialReportView.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./FinancialReportView.vue?vue&type=template&id=e25cc75c&scoped=true&\"\nimport script from \"./FinancialReportView.ts?vue&type=script&lang=ts&\"\nexport * from \"./FinancialReportView.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./FinancialReportView.vue?vue&type=style&index=0&id=e25cc75c&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"e25cc75c\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-submenu',{staticClass:\"submenu-item\",attrs:{\"index\":_vm.index,\"disabled\":_vm.disabled,\"popper-append-to-body\":false,\"show-timeout\":0,\"hide-timeout\":500}},[_vm._t(\"title\",[[(!!this.$slots.icon)?_c('i',{staticClass:\"icon-wrap mr-8\"},[_vm._t(\"icon\")],2):_vm._e(),_c('span',[_vm._v(_vm._s(_vm.label))])]],{\"slot\":\"title\"}),_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Prop } from \"types-vue\";\nimport Vue from \"vue\";\n\n@Component\nexport default class SubMenuItem extends Vue {\n \n @Prop({ type: String, required: true })\n protected label: string;\n\n @Prop({ type: String, required: true })\n protected index: string;\n\n @Prop({ type: Boolean, required: false })\n protected disabled: boolean;\n\n}","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./SubMenuItem.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./SubMenuItem.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SubMenuItem.vue?vue&type=template&id=20c8a96e&scoped=true&\"\nimport script from \"./SubMenuItem.ts?vue&type=script&lang=ts&\"\nexport * from \"./SubMenuItem.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./SubMenuItem.vue?vue&type=style&index=0&id=20c8a96e&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"20c8a96e\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AuthView.vue?vue&type=style&index=0&id=19344314&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"flex flex-wrap container-x-16 container-y-16\"},[_c('core.details',{attrs:{\"label\":\"Type\"}},[_c('el-tag',{attrs:{\"size\":\"mini\",\"effect\":\"dark\",\"type\":\"info\",\"disable-transitions\":\"\"}},[_c('span',[_vm._v(_vm._s(_vm.lifecycle.label))])])],1),_c('core.details',{attrs:{\"label\":\"Expiration\"}},[_c('core.date-label',{attrs:{\"format\":_vm.expirationFormat,\"date\":_vm.lifecycle.expiration}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { BackupLifecycle } from \"@Service/Emory/Models/Backups/BackupLifecycle.model\";\nimport { Component, Prop } from \"types-vue\";\nimport Vue from \"vue\";\n\n@Component\nexport default class BackupLifecycleSummary extends Vue {\n \n @Prop({ type: Object, required: true })\n protected lifecycle: BackupLifecycle;\n\n @Prop({ type: String })\n protected expirationFormat: string;\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./BackupLifecycleSummary.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./BackupLifecycleSummary.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./BackupLifecycleSummary.vue?vue&type=template&id=b7a292b4&\"\nimport script from \"./BackupLifecycleSummary.ts?vue&type=script&lang=ts&\"\nexport * from \"./BackupLifecycleSummary.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-tooltip',{staticClass:\"license-progress-bar\",style:(_vm.progressStyle),attrs:{\"open-delay\":_vm.openDelay,\"effect\":_vm.license.hasAvailability ? 'light' : 'dark',\"content\":((_vm.license.hostCount) + \" out of \" + (_vm.license.maxHosts) + \" (\" + (_vm.license.usagePercentage) + \"%)\"),\"enterable\":false,\"transition\":\"el-zoom-in-bottom\",\"placement\":\"top\"}},[_c('el-progress',{attrs:{\"stroke-width\":_vm.isLine ? 5 : 3,\"type\":_vm.type,\"width\":_vm.width,\"percentage\":_vm.license.usagePercentage,\"format\":function () { return ((_vm.license.hostCount) + \"/\" + (_vm.license.maxHosts)); }}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { License } from \"@Module/Licensing/Models/License.model\";\nimport { UIPlacement } from \"@Service/Settings/Store/AppSettings/AppSettings.state\";\nimport { Component, Prop } from \"types-vue\";\nimport Vue from \"vue\";\n\n@Component\nexport default class LicenseUsageProgress extends Vue {\n \n @Prop({ type: Object, required: true })\n protected license: License;\n\n @Prop({ type: String, default: \"line\" })\n protected type: \"line\" | \"circle\" | \"dashboard\";\n\n @Prop({ type: Number, default: 500 })\n protected openDelay: number;\n\n @Prop({ type: String, default: \"top\" })\n protected placement: UIPlacement;\n\n @Prop({ type: Number, default: 100 })\n protected width: number;\n\n protected get isLine(): boolean {\n return this.type === \"line\";\n }\n\n protected get progressStyle() {\n return {\n \"width\": this.isLine ? \"100%\" : `${this.width}px`,\n \"min-width\": this.isLine ? \"4rem\" : \"0\"\n }\n }\n\n \n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./LicenseUsageProgress.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./LicenseUsageProgress.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LicenseUsageProgress.vue?vue&type=template&id=15960440&\"\nimport script from \"./LicenseUsageProgress.ts?vue&type=script&lang=ts&\"\nexport * from \"./LicenseUsageProgress.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('core.alert',{attrs:{\"type\":_vm.type,\"title\":_vm.title,\"description\":_vm.description,\"closable\":false}},[_c('el-button',{attrs:{\"slot\":\"footer\",\"icon\":\"el-icon-top-left\",\"size\":\"mini\"},on:{\"click\":_vm.redirect},slot:\"footer\"},[_vm._v(\"Redirect now\")]),_c('span',{attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_vm._v(\"You will be automatically redirected in \"),_c('span',{staticClass:\"text-semibold\"},[_vm._v(_vm._s(_vm.remainingSeconds)+\" \"+_vm._s(_vm._f(\"pluralize\")('second',_vm.remainingSeconds)))]),_vm._v(\".\")])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import RedirectCountdownMixin from \"@Core/Mixins/RedirectCountdown.mixin\";\nimport { Component, Prop } from \"types-vue\";\nimport { mixins } from \"vue-class-component\";\n\n@Component\nexport default class RedirectAlert extends mixins(RedirectCountdownMixin) {\n\n @Prop({ type: String, default: null })\n protected title: string;\n \n @Prop({ type: String, default: null })\n protected description: string;\n\n @Prop({ type: String, default: \"error\" })\n protected type: \"info\" | \"success\" | \"error\" | \"warning\";\n\n}","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./RedirectAlert.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./RedirectAlert.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./RedirectAlert.vue?vue&type=template&id=a2ac9868&\"\nimport script from \"./RedirectAlert.ts?vue&type=script&lang=ts&\"\nexport * from \"./RedirectAlert.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FiltersDrawer.vue?vue&type=style&index=0&lang=scss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"flex flex-wrap container-x-16 container-y-16\"},[_c('core.details',{attrs:{\"label\":\"Enabled\"}},[_c('core.yes-no-label',{attrs:{\"value\":_vm.user.enabled}})],1),_c('core.details',{attrs:{\"label\":\"Verified\"}},[_c('core.yes-no-label',{attrs:{\"value\":_vm.user.verified}})],1),_c('core.details',{attrs:{\"label\":\"Status\",\"spacing\":\"3px\"}},[_c('users.user-status-tag',{attrs:{\"status\":_vm.user.status}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { User } from \"@Module/Users/Models/User.model\";\nimport { Component, Prop } from \"types-vue\";\nimport Vue from \"vue\";\n\n@Component\nexport default class UserStatusSummary extends Vue {\n\n @Prop({ type: Object, required: true })\n protected user: User;\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./UserStatusSummary.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./UserStatusSummary.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./UserStatusSummary.vue?vue&type=template&id=0c680443&\"\nimport script from \"./UserStatusSummary.ts?vue&type=script&lang=ts&\"\nexport * from \"./UserStatusSummary.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OrgSuggestionList.vue?vue&type=style&index=0&id=076c1876&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.visible)?_c('div',{staticClass:\"alert-wrap\",class:_vm.alertClass},[_c('el-alert',{staticClass:\"alert\",style:(_vm.alertStyle),attrs:{\"type\":_vm.type,\"title\":_vm.title,\"closable\":_vm.closable,\"close-text\":_vm.closeText,\"show-icon\":_vm.showIcon},on:{\"close\":_vm.close}},[_vm._t(\"title\",null,{\"slot\":\"title\"}),_c('div',{staticClass:\"alert-description-wrap\"},[_vm._t(\"default\",[(!!_vm.description)?_c('span',[_vm._v(_vm._s(_vm.description))]):_vm._e()])],2),(!!_vm.$scopedSlots.footer)?_c('div',{staticClass:\"alert-footer-wrap w-full space-x-8 flex content-start items-center\"},[_vm._t(\"footer\",null,{\"close\":_vm.close})],2):_vm._e()],2)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import AppSettingsStore from \"@Service/Settings/Store/AppSettings/AppSettings.store\";\nimport { Component, MapGetter, Prop } from \"types-vue\";\nimport Vue from \"vue\";\n\n@Component\nexport default class Alert extends Vue {\n\n @MapGetter(AppSettingsStore.Mapping)\n protected isPlainUi: boolean;\n \n @Prop({ type: String, default: null })\n protected title: string;\n \n @Prop({ type: String, default: null })\n protected description: string;\n\n @Prop({ type: Boolean, default: true })\n protected closable: boolean;\n\n @Prop({ type: String, default: \"\" })\n protected closeText: string;\n\n @Prop({ type: Boolean, default: true })\n protected showIcon: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected subtle: boolean;\n\n @Prop({ type: Boolean, default: null })\n protected plain: Boolean;\n \n @Prop({ type: Boolean, default: false })\n protected floating: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected compact: boolean;\n\n @Prop({ type: String, default: \"info\" })\n protected type: \"info\" | \"success\" | \"error\" | \"warning\";\n\n @Prop({ type: Boolean, default: false })\n protected overBackground: boolean;\n\n @Prop({ type: String, default: \"50%\" })\n protected top: string;\n\n @Prop({ type: String, default: \"0\" })\n protected offset: string;\n\n protected visible: boolean = true;\n\n protected get isPlain(): boolean {\n return this.plain as boolean ?? this.isPlainUi;\n }\n\n public close() {\n this.visible = false;\n this.$emit(\"close\");\n }\n\n protected get alertStyle() {\n return {\n \"margin-top\": this.offset,\n \"top\": this.top\n }\n }\n\n protected get alertClass() {\n return {\n \"is-plain\": this.isPlain,\n \"is-floating\": this.floating,\n \"is-subtle\": this.subtle,\n \"is-compact\": this.compact,\n \"is-over-background\": this.overBackground,\n \"is-no-title\": !this.title && !this.$slots.title,\n \"is-no-icon\": !this.showIcon\n }\n }\n\n}","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./Alert.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./Alert.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Alert.vue?vue&type=template&id=34b53ad2&scoped=true&\"\nimport script from \"./Alert.ts?vue&type=script&lang=ts&\"\nexport * from \"./Alert.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./Alert.vue?vue&type=style&index=0&lang=scss&\"\nimport style1 from \"./Alert.vue?vue&type=style&index=1&id=34b53ad2&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"34b53ad2\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-collapse',{class:_vm.collapseClass,attrs:{\"accordion\":_vm.accordion},model:{value:(_vm.internalValue),callback:function ($$v) {_vm.internalValue=$$v},expression:\"internalValue\"}},[_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component } from \"types-vue\";\nimport Vue from \"vue\";\nimport { Prop, Watch } from \"vue-property-decorator\";\n\n@Component\nexport default class Collapse extends Vue {\n\n @Prop({ type: [String, Array], default: null })\n protected value: string | string[];\n\n @Prop({ type: Boolean, default: false })\n protected accordion: boolean;\n\n @Prop({ type: Boolean, default: true })\n protected bordered: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected noArrow: boolean;\n\n protected internalValue: string | string[] = null;\n\n @Watch(\"internalValue\")\n protected onInternalValueChange(newValue: string | string[]) {\n this.$emit(\"input\", newValue);\n this.$emit(\"update:value\", newValue);\n }\n\n @Watch(\"value\", { immediate: true })\n protected onValueChange(newValue: string | string[]) {\n this.internalValue = newValue;\n }\n\n protected get collapseClass() {\n return {\n \"is-bordered\": this.bordered,\n \"is-no-arrow\": this.noArrow\n }\n }\n\n}","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./Collapse.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./Collapse.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Collapse.vue?vue&type=template&id=28a35314&\"\nimport script from \"./Collapse.ts?vue&type=script&lang=ts&\"\nexport * from \"./Collapse.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('core.layout',[_c('core.query-param',{attrs:{\"name\":\"search\"},model:{value:(_vm.searchText),callback:function ($$v) {_vm.searchText=$$v},expression:\"searchText\"}}),_c('core.query-param',{attrs:{\"name\":\"cat\",\"type\":\"string-array\"},model:{value:(_vm.categories),callback:function ($$v) {_vm.categories=$$v},expression:\"categories\"}}),_c('div',{staticClass:\"amis-catalog space-y-16\"},[_c('core.label',{attrs:{\"icon-spacing\":\"8px\",\"icon-size\":\"16px\"}},[_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"apps\"},slot:\"icon\"}),_c('H1',[_vm._v(\"Image Catalog\")])],1),_c('core.card',{attrs:{\"bordered\":_vm.isPlainUi,\"no-padding\":\"\"}},[_c('div',{staticClass:\"flex flex-wrap container-x-16 container-y-8 p-x-16 pt-16\"},[_c('el-input',{staticClass:\"text-filter flex-1\",attrs:{\"prefix-icon\":\"el-icon-search\",\"placeholder\":\"Filter images\",\"clearable\":\"\"},model:{value:(_vm.searchText),callback:function ($$v) {_vm.searchText=$$v},expression:\"searchText\"}}),_c('el-select',{staticClass:\"text-filter flex-1\",attrs:{\"placeholder\":\"Filter images by category\",\"filterable\":\"\",\"clearable\":\"\",\"multiple\":\"\"},model:{value:(_vm.categories),callback:function ($$v) {_vm.categories=$$v},expression:\"categories\"}},[(_vm.categories.length === 0)?_c('i',{staticClass:\"el-icon-files ml-6\",attrs:{\"slot\":\"prefix\"},slot:\"prefix\"}):_vm._e(),_vm._l((_vm.categoryOptions),function(category){return _c('el-option',{key:category,attrs:{\"label\":category,\"value\":category}})})],2)],1),_c('el-table',{attrs:{\"data\":_vm.filteredAmis,\"tooltip-effect\":\"light\"},on:{\"row-click\":_vm.onAmiSelected}},[_c('core.empty',{attrs:{\"slot\":\"empty\"},slot:\"empty\"},[_c('div',{staticClass:\"flex-y space-y-16 items-center\"},[_c('span',[_vm._v(\"No image meets your filtering criteria.\")]),_c('el-button',{staticClass:\"w-max-content\",attrs:{\"size\":\"small\",\"icon\":\"el-icon-delete\"},on:{\"click\":_vm.clearFilters}},[_c('span',[_vm._v(\"Clear filters\")])])],1),_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"apps\"},slot:\"icon\"})],1),_c('el-table-column',{attrs:{\"label\":\"Name\",\"prop\":\"name\",\"min-width\":\"190\",\"show-overflow-tooltip\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar row = ref.row;\nreturn _c('span',{},[_vm._v(_vm._s(row.name))])}}])}),_c('el-table-column',{attrs:{\"label\":\"Category\",\"prop\":\"category\",\"min-width\":\"140\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar row = ref.row;\nreturn _c('el-tag',{attrs:{\"size\":\"mini\",\"effect\":\"dark\",\"type\":\"info\"}},[_c('span',[_vm._v(_vm._s(row.category))])])}}])}),_c('el-table-column',{attrs:{\"label\":\"Description\",\"prop\":\"description\",\"min-width\":\"250\",\"show-overflow-tooltip\":\"\"}}),_c('el-table-column',{attrs:{\"align\":\"right\",\"width\":\"68\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar row = ref.row;\nreturn _c('el-tooltip',{attrs:{\"content\":\"View AMI\",\"effect\":\"light\",\"placement\":\"top\",\"open-delay\":500}},[_c('el-button',{staticClass:\"details-button\",attrs:{\"size\":\"mini\",\"type\":\"text\",\"circle\":\"\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.onAmiSelected(row)}}},[_c('ion-icon',{attrs:{\"name\":\"open-outline\"}})],1)],1)}}])})],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { AMI } from \"@Service/Preinstalled/Models/AMI.model\";\nimport AppSettingsStore from \"@Service/Settings/Store/AppSettings/AppSettings.store\";\nimport { Component, MapGetter } from \"types-vue\";\nimport Vue from \"vue\";\n\nenum AmiCategory {\n S4HANA = \"SAP S/4 HANA\",\n BW4HANA = \"SAP BW/4HANA\",\n HANAStandalone = \"SAP HANA Standalone\",\n Netweaver = \"SAP Netweaver\",\n ERP = \"SAP ERP\",\n SolutionManager = \"SAP Solution Manager\",\n SCM = \"SAP SCM\",\n}\n\n@Component\nexport default class AmisCatalog extends Vue {\n\n @MapGetter(AppSettingsStore.Mapping)\n protected isPlainUi: boolean;\n\n protected categories: AmiCategory[] = [];\n protected searchText: string = null;\n\n protected get filteredAmis(): AMI[] {\n const text = this.searchText?.toLowerCase() || \"\";\n return this.amis.filter(a => {\n if (this.categories.length > 0 && !this.categories.includes(a.category as AmiCategory)) {\n return false;\n }\n return a.name.toLowerCase().includes(text) \n || a.description.toLowerCase().includes(text)\n || a.category.toLowerCase().includes(text);\n });\n }\n\n protected clearFilters() {\n this.searchText = null;\n this.categories = [];\n }\n\n protected get categoryOptions(): string[] {\n return [...new Set(this.amis.map(ami => ami.category))];\n }\n\n protected onAmiSelected(ami: AMI) {\n window.open(ami.url);\n }\n\n protected amis: AMI[] = [\n {\n name: \"SAP NW 7.50 Java ASE on Suse\",\n description: \"Includes complete installation for both SAP and RDBMS.\",\n url: \"https://aws.amazon.com/marketplace/pp/B084GTTDQ7?qid=1581523344533&sr=0-4&ref_=srh_res_product_title\",\n category: AmiCategory.Netweaver\n },\n {\n name: \"SAP BW/4HANA 2.0 Suse\",\n description: \"Includes complete installation for both SAP and RDBMS.\",\n url: \"https://aws.amazon.com/marketplace/pp/B084GS6VXG?qid=1581523344533&sr=0-5&ref_=srh_res_product_title\",\n category: AmiCategory.BW4HANA\n },\n {\n name: \"SAP NW 7.52 ABAP ASE on Suse\",\n description: \"Includes complete installation for both SAP and RDBMS.\",\n url: \"https://aws.amazon.com/marketplace/pp/B084H39JHV?qid=1581523344533&sr=0-3&ref_=srh_res_product_title\",\n category: AmiCategory.Netweaver\n },\n {\n name: \"SAP S/4 HANA Release 1909 Suse\",\n description: \"Includes complete installation for both SAP and RDBMS.\",\n url: \"https://aws.amazon.com/marketplace/pp/B084GS3HM3?qid=1581523344533&sr=0-6&ref_=srh_res_product_title\",\n category: AmiCategory.S4HANA\n },\n {\n name: \"SAP S/4 HANA Release 1809 Suse\",\n description: \"Includes complete installation for both SAP and RDBMS.\",\n url: \"https://aws.amazon.com/marketplace/pp/B07W4Q34RF?qid=1581523344533&sr=0-1&ref_=srh_res_product_title\",\n category: AmiCategory.S4HANA\n },\n {\n name: \"SAP S/4 HANA Release 1709 Suse\",\n description: \"Includes complete installation for both SAP S/4 software and database.\",\n url: \"https://aws.amazon.com/marketplace/pp/B07CF7P2QZ?qid=1529320455993&sr=0-1&ref_=srh_res_product_title\",\n category: AmiCategory.S4HANA\n },\n {\n name: \"SAP S/4 HANA Release 1709 RedHat\",\n description: \"Includes complete installation for both SAP S/4 software and database.\",\n url: \"https://aws.amazon.com/marketplace/pp/B07BBP5HQ8?qid=1529320365097&sr=0-3&ref_=srh_res_product_title\",\n category: AmiCategory.S4HANA\n },\n {\n name: \"SAP SCM 7.0 Ehp4 on HANA\",\n description: \"Includes complete installation for both SAP and RDBMS.\",\n url: \"https://aws.amazon.com/marketplace/pp/B07C7JDZRN?qid=1529320620249&sr=0-1&ref_=srh_res_product_title\",\n category: AmiCategory.SCM\n },\n {\n name: \"SAP ERP 6.0 EHP8 Linux/MaxDb\",\n description: \"Includes complete installation for both SAP and RDBMS.\",\n url: \"https://aws.amazon.com/marketplace/pp/B077GTDMQM?qid=1522225348955&sr=0-3&ref_=srh_res_product_title\",\n category: AmiCategory.ERP\n },\n {\n name: \"SAP NW 7.5 on HANA\",\n description: \"Includes complete installation for both SAP and RDBMS.\",\n url: \"https://aws.amazon.com/marketplace/pp/B0748Z1WJK?qid=1522233441439&sr=0-1&ref_=srh_res_product_title\",\n category: AmiCategory.Netweaver\n },\n {\n name: \"SAP Sol. Manager 7.2SR1 ASE Suse\",\n description: \"Includes complete installation for both SAP and RDBMS.\",\n url: \"https://aws.amazon.com/marketplace/pp/B081QSL8L2\",\n category: AmiCategory.SolutionManager\n },\n {\n name: \"SAP HANA 2.0 SP04 Suse\",\n description: \"Includes complete installation for both SAP and RDBMS.\",\n url: \"https://aws.amazon.com/marketplace/pp/B0844XZ2KL\",\n category: AmiCategory.HANAStandalone\n }\n ];\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./AmisCatalog.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./AmisCatalog.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AmisCatalog.vue?vue&type=template&id=78fb514c&scoped=true&\"\nimport script from \"./AmisCatalog.ts?vue&type=script&lang=ts&\"\nexport * from \"./AmisCatalog.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./AmisCatalog.vue?vue&type=style&index=0&id=78fb514c&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"78fb514c\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HostRegistrationDialog.vue?vue&type=style&index=0&id=d328aaa8&lang=scss&scoped=true&\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NextExpirationsCollapse.vue?vue&type=style&index=0&lang=scss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('core.layout',[_c('div',{staticClass:\"abap-suite-home\"},[_c('div',{staticClass:\"space-y-16\"},[_c('div',{staticClass:\"flex container-y-8 flex-wrap items-center w-full space-x-8 content-space-between\"},[_c('core.title',[_c('core.label',{attrs:{\"icon-size\":\"20px\",\"icon-spacing\":\".5rem\"}},[_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"bookmark\"},slot:\"icon\"}),_c('H1',[_vm._v(\"CxLink Suite\")])],1)],1),_c('div',{staticClass:\"flex space-x-8 content-end\"},[(_vm.permissions.CanManageIssues)?_c('el-button',{attrs:{\"size\":\"small\",\"icon\":\"el-icon-chat-line-square\"},on:{\"click\":_vm.openIssueManager}},[_c('span',[_vm._v(\"Manage issues\")])]):_vm._e()],1)],1),_c('div',{staticClass:\"columns-wrap flex flex-wrap container-x-24 container-y-24\"},[_c('div',{staticClass:\"service-info space-y-24\"},[_c('div',[_c('H2',{staticClass:\"mb-8\"},[_vm._v(\"About CxLink Suite\")]),_c('p',[_vm._v(\"CxLink Suite is an SAP-certified ABAP add-on solution that enhances your SAP applications by leveraging the services of the cloud platform. It includes three individually licensed functionalities.\")]),_c('p',[_vm._v(\"CxLink for ArchiveLink, which provides a seamless, integrated experience for document management and archiving using the ArchiveLink communication protocol in the Azure & AWS cloud. CxLink for ILM, with robust integration of SAP Information Lifecycle Management in the AWS Cloud. CxLink Data Lakes, enabling efficient ingestion of SAP data into AWS Data Lakes. CxLink Suite streamlines your processes, ensuring agile and efficient data management.\")]),_c('div',{staticClass:\"flex flex-wrap container-x-24 container-y-16\"},[_c('div',{staticClass:\"flex-2 space-y-8\",staticStyle:{\"min-width\":\"15rem\"}},[_c('H2',[_vm._v(\"Features Overview\")]),_c('div',{staticClass:\"flex flex-wrap w-full container-x-16 container-y-8 pt-4\"},[_c('core.feature-card',{attrs:{\"title\":\"Cost efficient\",\"description\":\"Efficient and cost optimized.\"}},[_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"wallet\"},slot:\"icon\"})],1),_c('core.feature-card',{attrs:{\"title\":\"100% ABAP\",\"description\":\"Completely implemented with ABAP, the native SAP programming language.\"}},[_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"code-slash\"},slot:\"icon\"})],1),_c('core.feature-card',{attrs:{\"title\":\"Management console\",\"description\":\"Web management console built with SAP Webdynpro and SAP Fiori.\"}},[_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"browsers-outline\"},slot:\"icon\"})],1),_c('core.feature-card',{attrs:{\"title\":\"Out of the box\",\"description\":\"No middleware or extra hardware is required to interact with AWS.\"}},[_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"scan\"},slot:\"icon\"})],1),_c('core.feature-card',{attrs:{\"title\":\"Security focus\"}},[_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"shield-half\"},slot:\"icon\"}),_c('div',{staticClass:\"space-y-6\"},[_c('div',[_vm._v(\"HTTPS communication with SSL certificates between SAP and AWS.\")]),_c('div',[_vm._v(\"Encryption supported on client (SSF) and on server (AWS KMS).\")]),_c('div',[_vm._v(\"IAM Policies for restricted access.\")])])],1),_c('core.feature-card',{attrs:{\"title\":\"Certified by SAP\",\"description\":\"Officially certified by SAP.\"}},[_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"ribbon\"},slot:\"icon\"})],1),_c('core.feature-card',{attrs:{\"title\":\"Certified by AWS\",\"description\":\"Officially certified Amazon Web Services.\"}},[_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"ribbon\"},slot:\"icon\"})],1)],1)],1)]),(_vm.permissions.CanPurchaseContracts)?_c('div',{staticClass:\"flex space-x-16 content-space-between pt-16\"},[(_vm.permissions.CanPurchaseContracts)?_c('core.purchase-popover',{attrs:{\"placement\":\"top\"}}):_vm._e()],1):_vm._e()],1),_c('el-tabs',{model:{value:(_vm.activeSubServiceTab),callback:function ($$v) {_vm.activeSubServiceTab=$$v},expression:\"activeSubServiceTab\"}},[_c('el-tab-pane',{attrs:{\"label\":\"ILM\",\"name\":\"documents\"}},[_c('div',[_c('p',[_vm._v(\"CxLink for ILM enhances SAP Information Lifecycle Management capabilities, such as legal document archiving compliance, risk management and disposal, by hosting data in the AWS cloud, unlocking the benefits of the cloud, such as scalability, cost-effectiveness and high availability. By harnessing the power of AWS, CxLink for ILM enables companies to meet compliance requirements and optimise their document management processes.\")])])]),_c('el-tab-pane',{attrs:{\"label\":\"Data ArchiveLink\",\"name\":\"archive\"}},[_c('div',[_c('p',[_vm._v(\"CxLink for ArchiveLink transforms SAP document management and data archiving by seamlessly integrating with cloud storage solutions such as AWS and Azure. This SAP-certified as-a-service plug-in provides a seamless user experience, enabling efficient storage and retrieval of documents and files. It supports CMIS along with ArchiveLink for public and private configurations, including RISE with SAP, providing the most robust solution for document management and archiving.\")])])]),_c('el-tab-pane',{attrs:{\"label\":\"AWS Data Lakes\",\"name\":\"datalakes\"}},[_c('div',[_c('p',[_vm._v(\"CxLink Data Lakes helps you achieve an integrated cloud-native experience for your SAP applications by seamlessly managing both offline and real-time SAP data feeds to AWS cloud data lakes. CxLink Data Lakes leverages SAP SLT capabilities to identify, collect and transfer SASP data across multiple SAP applications and acts as a transport layer from SAP SLT to the AWS platform. Leveraging cloud technologies, it enables real-time analysis of SAP data, integrates external variables with real-time internal business data, and improves process efficiency across teams.\")])])])],1)],1)])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport { ResourcePermissions } from '@Module/Resources/Models/ResourcePermissions.model';\nimport { Permission } from '@Module/Auth/Models/Roles/Permissions.model';\nimport { CustomHubResource } from '@Core/Models/CustomHubResource.model';\nimport { AccessRole } from '@Module/Auth/Models/Roles/AccessRole.model';\nimport { SessionToken } from '@Module/Auth/Models/SessionToken.model';\nimport ResourcesStore from '@Module/Resources/Store/Resources.store';\nimport { Component, MapAction, MapGetter, Watch } from 'types-vue';\nimport OrgsStore from '@Module/Orgs/Store/Orgs.store';\nimport AuthStore from '@Module/Auth/Store/Auth.store';\nimport { Execution } from '@Core/Models/Execution';\nimport { ServiceID } from '@Service/ServiceID';\nimport Vue from 'vue';\n\nconst enum SubServiceTab {\n Documents = \"documents\",\n Archive = \"archive\",\n Datalakes = \"datalakes\"\n}\n\nconst enum ResourceTypeTab {\n Packages = \"packages\",\n Documentation = \"docs\",\n Other = \"other\"\n}\n\nconst enum CustomResourcesType {\n OnlineDocs = \"docs.online\"\n}\n\n@Component\nexport default class AbapSuiteHub extends Vue {\n\n @MapGetter(AuthStore.Mapping)\n protected sessionToken: SessionToken;\n\n @MapGetter(AuthStore.Mapping)\n protected accessRole: AccessRole;\n\n @MapGetter(OrgsStore.Mapping)\n protected noOrganization: boolean;\n\n @MapGetter(ResourcesStore.Mapping)\n protected abapSuiteResourcePermissions: ResourcePermissions;\n \n @MapAction(AuthStore.Mapping)\n protected openAuthDialog: (context?: string) => Promise;\n\n @MapAction(ResourcesStore.Mapping)\n protected fetchResourcePermissions: (service: ServiceID) => Promise;\n\n protected serviceId: ServiceID = ServiceID.AbapSuite;\n protected activeTab: ResourceTypeTab = ResourceTypeTab.Packages;\n protected activeSubServiceTab: SubServiceTab = SubServiceTab.Documents;\n\n protected getResPermissions = Execution\n .create(() => this.fetchResourcePermissions(this.serviceId));\n\n @Watch(\"sessionToken\", { immediate: true })\n protected async onSessionChange(token: SessionToken) {\n if (!!token && !token.hasExpired && !this.noOrganization) {\n this.getResPermissions.run();\n } else {\n this.activeTab = ResourceTypeTab.Documentation;\n this.getResPermissions.reset();\n }\n }\n\n protected get docResources(): CustomHubResource[] {\n return [{ \n id: CustomResourcesType.OnlineDocs, \n label: \"Data Archiving (Online)\",\n meta: { url: `${process.env.VUE_APP_SERVICE_URL_ABAP_DOCS}/cxlink-archive` }\n },\n { \n id: CustomResourcesType.OnlineDocs, \n label: \"AWS Data Lakes (Online)\",\n meta: { url: `${process.env.VUE_APP_SERVICE_URL_ABAP_DOCS}/cxlink-datalakes` }\n },\n { \n id: CustomResourcesType.OnlineDocs, \n label: \"Document Management (Online)\",\n meta: { url: `${process.env.VUE_APP_SERVICE_URL_ABAP_DOCS}/cxlink-documents` }\n }]\n }\n\n protected get otherResources(): CustomHubResource[] { \n return [] \n }\n\n protected customResourceSelected(item: CustomHubResource) {\n if (!!item.meta.url) {\n window.open(item.meta.url);\n }\n }\n\n protected signInForDownloads() {\n const ctx = \"Sign into your account to download resources from this service.\";\n this.openAuthDialog(ctx);\n }\n\n protected get resourceTabsDisabled(): boolean {\n return this.getResPermissions.loading || this.downloadsNotAllowed;\n }\n\n protected get downloadsNotAllowed(): boolean {\n return !!this.abapSuiteResourcePermissions && !this.abapSuiteResourcePermissions.canDownload;\n }\n\n protected openIssueManager() {\n window.open(process.env.VUE_APP_SERVICE_URL_ISSUES);\n }\n\n protected get permissions() {\n return {\n CanPurchaseContracts: this.accessRole.can(this.serviceId, Permission.PurchaseContract),\n CanManageIssues: this.accessRole.can(this.serviceId, Permission.ManageIssues),\n CanDownloadPackages: this.accessRole.can(this.serviceId, Permission.DownloadPackages),\n CanDownloadOtherPackages: this.accessRole.can(this.serviceId, Permission.DownloadOtherResources)\n }\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./AbapSuiteHub.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./AbapSuiteHub.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AbapSuiteHub.vue?vue&type=template&id=57d2ae2d&scoped=true&\"\nimport script from \"./AbapSuiteHub.ts?vue&type=script&lang=ts&\"\nexport * from \"./AbapSuiteHub.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./AbapSuiteHub.vue?vue&type=style&index=0&id=57d2ae2d&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"57d2ae2d\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DimensionSelector.vue?vue&type=style&index=0&lang=scss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('i',{staticClass:\"icon flex-inline h-full items-center content-center\"},[(_vm.type === 'element')?_c('i',{class:_vm.name}):(_vm.type === 'ion-icon')?_c('ion-icon',{attrs:{\"name\":_vm.name}}):_c('img',{attrs:{\"src\":_vm.name}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Prop } from \"types-vue\";\nimport Vue from \"vue\";\n\n@Component\nexport default class Icon extends Vue {\n\n @Prop({ type: String, required: true })\n protected name: string;\n\n @Prop({ type: String, default: \"element\" })\n protected type: \"element\" | \"ion-icon\" | \"custom\";\n \n}","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./Icon.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./Icon.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Icon.vue?vue&type=template&id=765d6310&\"\nimport script from \"./Icon.ts?vue&type=script&lang=ts&\"\nexport * from \"./Icon.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./Icon.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"contract-list-row space-y-4\"},[_c('div',{staticClass:\"flex items-center text-semibold text-ellipsis space-x-8\"},[_c('licensing.licensing-status-tag',{staticClass:\"status-tag\",attrs:{\"status\":_vm.contract.status,\"size\":\"tiny\"}}),_c('small',{staticClass:\"text-ellipsis\"},[_c('span',[_vm._v(\"#C\"+_vm._s(_vm.contract.id))]),_c('el-divider',{staticClass:\"id-separator\",attrs:{\"direction\":\"vertical\"}}),_c('span',[_vm._v(_vm._s(_vm.contract.externalId))])],1)],1),_c('div',{staticClass:\"flex items-center content-space-between flex-wrap container-x-8 container-y-8\"},[_c('small',[_vm._v(\"Expires on \"),_c('core.date-label',{attrs:{\"date\":_vm.contract.expiration,\"format\":\"MM/DD/YY HH:mm\"}})],1),_c('el-tag',{attrs:{\"size\":\"tiny\",\"effect\":\"dark\",\"type\":\"info\"}},[_c('span',[_vm._v(_vm._s(_vm.originName(_vm.contract.origin)))])])],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { ContractOrigin } from \"@Module/Licensing/Models/ContractOrigin\";\nimport { Contract } from \"@Module/Licensing/Models/Contract.model\";\nimport { Component, Prop } from \"types-vue\";\nimport Vue from \"vue\";\n\n@Component\nexport default class ContractListRow extends Vue {\n\n @Prop({ type: Object, required: true })\n protected contract: Contract;\n\n protected originName(origin: ContractOrigin): string {\n return ContractOrigin.nameOf(origin);\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./ContractListRow.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./ContractListRow.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ContractListRow.vue?vue&type=template&id=264caf8a&scoped=true&\"\nimport script from \"./ContractListRow.ts?vue&type=script&lang=ts&\"\nexport * from \"./ContractListRow.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./ContractListRow.vue?vue&type=style&index=0&id=264caf8a&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"264caf8a\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(!_vm.disabled),expression:\"!disabled\"}],staticClass:\"loading\",style:(_vm.loadingStyle),attrs:{\"element-loading-text\":_vm.label,\"element-loading-background\":\"transparent\"}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Utils } from \"@Core/Utils/Utils\";\nimport { Component, Prop } from \"types-vue\";\nimport Vue from \"vue\";\n\n@Component\nexport default class Loading extends Vue {\n\n @Prop({ type: String, default: null })\n protected label: string;\n\n @Prop({ type: Boolean, default: false })\n protected disabled: boolean;\n\n @Prop({ type: [String, Number], default: \"10rem\" })\n protected height: string | number;\n\n protected get loadingStyle() {\n return {\n \"height\": Utils.isNumber(this.height) \n ? `${this.height}px` \n : this.height\n }\n }\n\n}","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./Loading.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./Loading.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Loading.vue?vue&type=template&id=d50ab72c&\"\nimport script from \"./Loading.ts?vue&type=script&lang=ts&\"\nexport * from \"./Loading.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('licensing.licenses-view',{attrs:{\"filters\":_vm.filters,\"service-id\":_vm.serviceId},on:{\"select\":_vm.viewDetails,\"select-contract\":_vm.viewContract},scopedSlots:_vm._u([{key:\"host-filters\",fn:function(ref){\nvar data = ref.data;\nvar size = ref.size;\nvar disabled = ref.disabled;\nreturn _c('abap-suite.host-filters-panel-extension',{attrs:{\"filters\":_vm.filters.hosts,\"data\":data,\"size\":size,\"disabled\":disabled}})}},{key:\"expand\",fn:function(ref){\nvar license = ref.license;\nvar exchangeStatus = ref.exchangeStatus;\nreturn _c('licensing.license-summary',{attrs:{\"license\":license,\"expand\":\"\"}},[_c('div',{staticClass:\"flex content-space-between\"},[_c('div',{staticClass:\"flex-inline space-x-8\"},[_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"primary\",\"icon\":\"el-icon-more\"},on:{\"click\":function($event){return _vm.viewDetails(license)}}},[_c('span',[_vm._v(\"View license details\")])]),(_vm.permissions.CanListContracts\n && license.isOwnedByOrg(_vm.currentOrg))?_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"text\"},on:{\"click\":function($event){return _vm.viewContract(license)}}},[_c('ion-icon',{staticClass:\"mr-8\",attrs:{\"name\":\"receipt-outline\"}}),_c('span',[_vm._v(\"View license contract\")])],1):_vm._e()],1),(_vm.permissions.CanRegisterHosts && (!exchangeStatus.isShared || exchangeStatus.isSharedToCurrentOrg))?_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"default\",\"disabled\":!license.hasAvailability},on:{\"click\":function($event){return _vm.$refs.hostRegistrationDialog.open(license)}}},[_c('ion-icon',{staticClass:\"mr-6\",attrs:{\"name\":\"link-outline\"}}),_c('span',[_vm._v(\"Register a host\")])],1):_vm._e()],1)])}}])},[(_vm.permissions.CanRegisterHosts)?_c('licensing.host-registration-dialog',{ref:\"hostRegistrationDialog\",attrs:{\"service-id\":_vm.serviceId}}):_vm._e(),_c('core.query-param',{attrs:{\"name\":\"prod\",\"type\":\"string-array\"},model:{value:(_vm.filters.hosts.production),callback:function ($$v) {_vm.$set(_vm.filters.hosts, \"production\", $$v)},expression:\"filters.hosts.production\"}}),_c('core.empty',{attrs:{\"slot\":\"empty\"},slot:\"empty\"},[_c('span',[_vm._v(\"You have no licenses.\")]),_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"reader-outline\"},slot:\"icon\"}),(_vm.permissions.CanPurchaseContracts)?_c('div',[_c('el-divider',{staticClass:\"m-y-16 mt-0\"}),_c('div',{staticClass:\"flex space-x-16 p-x-16\"},[(_vm.permissions.CanPurchaseContracts)?_c('core.purchase-popover',{attrs:{\"size\":\"small\",\"placement\":\"top\"}}):_vm._e()],1)],1):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { AbapSuiteLicenseFilters } from \"@Service/AbapSuite/Models/Filters/AbapSuiteLicenseFilters.model\";\nimport { AbapSuiteLicense } from \"@Service/AbapSuite/Models/AbapSuiteLicense.model\";\nimport { Permission } from \"@Module/Auth/Models/Roles/Permissions.model\";\nimport { AccessRole } from \"@Module/Auth/Models/Roles/AccessRole.model\";\nimport { Organization } from \"@Module/Orgs/Models/Organization.model\";\nimport AuthStore from \"@Module/Auth/Store/Auth.store\";\nimport OrgsStore from \"@Module/Orgs/Store/Orgs.store\";\nimport { Component, MapGetter } from \"types-vue\";\nimport { ServiceID } from \"@Service/ServiceID\";\nimport Vue from \"vue\";\n\n@Component\nexport default class AbapSuiteLicenses extends Vue {\n protected serviceId: ServiceID = ServiceID.AbapSuite;\n protected filters = AbapSuiteLicenseFilters.create();\n\n @MapGetter(OrgsStore.Mapping)\n protected currentOrg: Organization;\n\n @MapGetter(AuthStore.Mapping)\n protected accessRole: AccessRole;\n\n protected viewDetails(license: AbapSuiteLicense) {\n this.$router.push({ \n name: \"abap-suite-license-details\", \n params: { id: license.id.toString() }\n });\n }\n\n protected viewContract(license: AbapSuiteLicense) {\n this.$router.push({\n name: \"abap-suite-contract-details\",\n params: { id: license.contractId.toString() }\n });\n }\n\n protected get permissions() {\n return {\n CanListContracts: this.accessRole.can(this.serviceId, Permission.ListContracts),\n CanRegisterHosts: this.accessRole.can(this.serviceId, Permission.RegisterHost),\n CanPurchaseContracts: this.accessRole.can(this.serviceId, Permission.PurchaseContract)\n }\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./AbapSuiteLicenses.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./AbapSuiteLicenses.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AbapSuiteLicenses.vue?vue&type=template&id=61ec2f37&\"\nimport script from \"./AbapSuiteLicenses.ts?vue&type=script&lang=ts&\"\nexport * from \"./AbapSuiteLicenses.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('core.layout',{staticClass:\"auth-page\"},[_c('div',{staticClass:\"flex content-center\"},[_c('core.card',{staticClass:\"auth-card m-y-8\",attrs:{\"bordered\":_vm.isPlainUi}},[_c('auth.auth-controller',{attrs:{\"context\":\"This section is restricted to members. In order to access sign into your account.\"}})],1)],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import AppSettingsStore from \"@Service/Settings/Store/AppSettings/AppSettings.store\";\nimport { Component, MapGetter } from \"types-vue\";\nimport Vue from \"vue\";\n\n@Component\nexport default class AuthPage extends Vue {\n\n @MapGetter(AppSettingsStore.Mapping)\n protected isPlainUi: boolean;\n\n \n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./AuthPage.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./AuthPage.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AuthPage.vue?vue&type=template&id=7e1ad39c&scoped=true&\"\nimport script from \"./AuthPage.ts?vue&type=script&lang=ts&\"\nexport * from \"./AuthPage.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./AuthPage.vue?vue&type=style&index=0&id=7e1ad39c&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7e1ad39c\",\n null\n \n)\n\nexport default component.exports","export interface ISignInResponseDto {\n username: string;\n idtoken: string;\n accesstoken: string;\n refreshtoken: string;\n orgname: string;\n orguuid: string;\n role: string;\n}\n\nexport class SignInResponse {\n public readonly idToken: string;\n public readonly accessToken: string;\n\n private constructor(dto: ISignInResponseDto) {\n this.idToken = dto.idtoken;\n this.accessToken = dto.accesstoken;\n }\n\n public static fromDto(dto: ISignInResponseDto): SignInResponse {\n return new SignInResponse(dto);\n }\n\n}","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Alert.vue?vue&type=style&index=1&id=34b53ad2&lang=scss&scoped=true&\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReportsDialog.vue?vue&type=style&index=0&id=b2ffa1ce&lang=scss&scoped=true&\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmoryBackupStatusTag.vue?vue&type=style&index=0&lang=scss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('core.columns-layout',{staticClass:\"packages-view\",attrs:{\"show-right\":!_vm.$mq.lg}},[_c('div',[_c('core.title',{staticClass:\"flex-0 title-resources\"},[_vm._t(\"title\",[_c('core.label',{attrs:{\"icon-size\":\"18px\",\"icon-spacing\":\".6rem\"}},[_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"archive-outline\"},slot:\"icon\"}),_c('H1',[_vm._v(\"Documentation\")])],1)])],2),_c('div',{staticClass:\"resource-container\"},[_c('div',{key:\"docs\",staticClass:\"cards-resources\",attrs:{\"label\":\"Documentation\",\"name\":\"docs\"}},_vm._l((_vm.docResources),function(docResource){return _c('div',[_c('core.card',{staticClass:\"card-resource\",attrs:{\"title\":docResource.label}},[_c('core.empty',{attrs:{\"slot\":\"empty\",\"description\":\"There are no resources yet.\"},slot:\"empty\"}),(!!docResource.meta && docResource.meta.download)?_c('el-button',{attrs:{\"type\":\"text\",\"size\":\"mini\"},on:{\"click\":function($event){return _vm.customResourceSelected(docResource)}}},[_vm._v(\"Download\")]):_c('el-button',{staticClass:\"resources-button\",attrs:{\"type\":\"text\"},on:{\"click\":function($event){return _vm.customResourceSelected(docResource)}}},[_vm._v(\"View online\")])],1)],1)}),0)])],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport { ResourcePermissions } from '@Module/Resources/Models/ResourcePermissions.model';\nimport { Permission } from '@Module/Auth/Models/Roles/Permissions.model';\nimport { CustomHubResource } from '@Core/Models/CustomHubResource.model';\nimport { AccessRole } from '@Module/Auth/Models/Roles/AccessRole.model';\nimport { SessionToken } from '@Module/Auth/Models/SessionToken.model';\nimport ResourcesStore from '@Module/Resources/Store/Resources.store';\nimport { Component, MapAction, MapGetter, Watch } from 'types-vue';\nimport OrgsStore from '@Module/Orgs/Store/Orgs.store';\nimport AuthStore from '@Module/Auth/Store/Auth.store';\nimport { Execution } from '@Core/Models/Execution';\nimport { ServiceID } from '@Service/ServiceID';\nimport Vue from 'vue';\n\n\nconst enum ResourceTypeTab {\n Packages = \"packages\",\n Documentation = \"docs\",\n Other = \"other\"\n}\n\nconst enum CustomResourcesType {\n OnlineDocs = \"docs.online\"\n}\n\n@Component\nexport default class AbapSuiteDocumentation extends Vue {\n\n @MapGetter(AuthStore.Mapping)\n protected sessionToken: SessionToken;\n\n @MapGetter(AuthStore.Mapping)\n protected accessRole: AccessRole;\n\n @MapGetter(OrgsStore.Mapping)\n protected noOrganization: boolean;\n\n @MapGetter(ResourcesStore.Mapping)\n protected abapSuiteResourcePermissions: ResourcePermissions;\n \n @MapAction(AuthStore.Mapping)\n protected openAuthDialog: (context?: string) => Promise;\n\n @MapAction(ResourcesStore.Mapping)\n protected fetchResourcePermissions: (service: ServiceID) => Promise;\n\n protected serviceId: ServiceID = ServiceID.AbapSuite;\n protected getResPermissions = Execution\n .create(() => this.fetchResourcePermissions(this.serviceId));\n\n @Watch(\"sessionToken\", { immediate: true })\n protected async onSessionChange(token: SessionToken) {\n if (!!token && !token.hasExpired && !this.noOrganization) {\n this.getResPermissions.run();\n } \n }\n\n protected get docResources(): CustomHubResource[] {\n return [{ \n id: CustomResourcesType.OnlineDocs, \n label: \"CXLink Suite Documentation\",\n meta: { url: `${process.env.VUE_APP_SERVICE_URL_ABAP_DOCS}` }\n }]\n }\n\n protected customResourceSelected(item: CustomHubResource) {\n if (!!item.meta.url) {\n window.open(item.meta.url);\n }\n }\n\n protected signInForDownloads() {\n const ctx = \"Sign into your account to download resources from this service.\";\n this.openAuthDialog(ctx);\n }\n\n protected get resourceTabsDisabled(): boolean {\n return this.getResPermissions.loading || this.downloadsNotAllowed;\n }\n\n protected get downloadsNotAllowed(): boolean {\n return !!this.abapSuiteResourcePermissions && !this.abapSuiteResourcePermissions.canDownload;\n }\n\n protected openIssueManager() {\n window.open(process.env.VUE_APP_SERVICE_URL_ISSUES);\n }\n\n protected get permissions() {\n return {\n CanPurchaseContracts: this.accessRole.can(this.serviceId, Permission.PurchaseContract),\n CanManageIssues: this.accessRole.can(this.serviceId, Permission.ManageIssues),\n CanDownloadPackages: this.accessRole.can(this.serviceId, Permission.DownloadPackages),\n CanDownloadOtherPackages: this.accessRole.can(this.serviceId, Permission.DownloadOtherResources)\n }\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./AbapSuiteDocumentation.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./AbapSuiteDocumentation.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AbapSuiteDocumentation.vue?vue&type=template&id=61c4fa64&\"\nimport script from \"./AbapSuiteDocumentation.ts?vue&type=script&lang=ts&\"\nexport * from \"./AbapSuiteDocumentation.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./AbapSuiteDocumentation.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render, staticRenderFns\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"org-access-request-notif-content flex-y space-y-6\"},[_c('notifications.org-access-request-role-selection-dialog',{ref:\"dialog\",attrs:{\"notification\":_vm.notification},model:{value:(_vm.newUserRole),callback:function ($$v) {_vm.newUserRole=$$v},expression:\"newUserRole\"}}),(!_vm.hideTypeLabel)?_c('core.label',{attrs:{\"icon-size\":\"14px\"}},[_c('i',{staticClass:\"el-icon-office-building\",attrs:{\"slot\":\"icon\"},slot:\"icon\"}),_c('H3',[_vm._v(_vm._s(_vm.notification.label))])],1):_vm._e(),_c('div',{staticClass:\"text-semibold\"},[_vm._v(\"User \"+_vm._s(_vm.notification.sender)+\" is requesting access to \"+_vm._s(_vm.notification.organization.name)+\" organization.\")]),_c('notifications.notification-summary-container',[_c('core.details',{attrs:{\"label\":\"Username\",\"value\":_vm.notification.sender,\"spacing\":\"2px\"}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import NotificationContentMixin, { INotificationContent, UiSuccessNotificationMap } from \"@Module/Notifications/Mixins/NotificationContentMixin\";\nimport OrgAccessRequestRoleSelectionDialog from \"../../OrgAccessRequestRoleSelectionDialog/OrgAccessRequestRoleSelectionDialog\";\nimport NotificationsInboxStore, { AcceptOrgAccessRequestPayload } from \"@Module/Notifications/Store/NotificationsInbox.store\";\nimport { OrgAccessRequestNotification } from \"@Module/Notifications/Models/OrgAccessRequestNotification.model\";\nimport { Role } from \"@Module/Auth/Models/Roles/AccessRole.model\";\nimport { Component, MapAction, mixins, Prop } from \"types-vue\";\n\ntype ConfigDialog = OrgAccessRequestRoleSelectionDialog;\n\n@Component\nexport default class OrgAccessRequestNotifContent extends mixins(NotificationContentMixin) implements INotificationContent {\n\n @Prop({ type: Object, required: true })\n protected notification: OrgAccessRequestNotification;\n\n @MapAction(NotificationsInboxStore.Mapping)\n protected acceptOrgAccessRequestNotification: (payload: AcceptOrgAccessRequestPayload) => Promise;\n\n protected newUserRole: Role = null;\n protected configuring: boolean = false;\n\n protected mounted() {\n this.$watch(\n () => (this.$refs.dialog as ConfigDialog)?.isOpened ?? false,\n isOpened => this.configuring = isOpened,\n { immediate: true }\n );\n }\n\n public getSuccessNotifConfig(): UiSuccessNotificationMap {\n return {\n Accept: {\n title: \"Organization access accepted\", \n message: `User ${this.notification.sender} now has access to ${this.notification.organization.name} organization as ${this.newUserRole?.name}.`,\n duration: 6000\n },\n Decline: {\n title: \"Organization access declined\", \n message: `Access request of ${this.notification.sender} to ${this.notification.organization.name} organization has been successfully declined.`,\n duration: 6000\n },\n Cancel: {\n title: \"Access request cancelled\", \n message: `Your access request petition has been cancelled.`\n }\n }\n }\n\n public get isConfiguringResponse() {\n return this.configuring;\n }\n \n public async accept(): Promise {\n const roleSelectionDialog = this.$refs.dialog as ConfigDialog;\n const shouldProceed = await roleSelectionDialog.open();\n if (!shouldProceed) { return false; }\n await this.acceptOrgAccessRequestNotification({\n notification: this.notification,\n role: this.newUserRole\n });\n return true;\n }\n\n}","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--13-3!./OrgAccessRequestNotifContent.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--13-3!./OrgAccessRequestNotifContent.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OrgAccessRequestNotifContent.vue?vue&type=template&id=40d9d5a8&scoped=true&\"\nimport script from \"./OrgAccessRequestNotifContent.ts?vue&type=script&lang=ts&\"\nexport * from \"./OrgAccessRequestNotifContent.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./OrgAccessRequestNotifContent.vue?vue&type=style&index=0&id=40d9d5a8&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"40d9d5a8\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AbapSuiteDocumentation.vue?vue&type=style&index=0&lang=scss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('core.card',{staticClass:\"collapsable-card\",class:_vm.classBinding,attrs:{\"plain\":_vm.plain,\"bordered\":_vm.bordered,\"no-padding\":\"\"}},[_c('core.collapse',{staticClass:\"collapse\",attrs:{\"accordion\":\"\"},on:{\"change\":_vm.onCollapseStatusChange},model:{value:(_vm.expanded),callback:function ($$v) {_vm.expanded=$$v},expression:\"expanded\"}},[_c('el-collapse-item',{attrs:{\"name\":\"expanded\"}},[_c('div',{staticClass:\"section-header flex items-center w-full h-auto\",attrs:{\"slot\":\"title\"},slot:\"title\"},[_vm._t(\"header\",[_c('div',{staticClass:\"w-full space-x-8 mr-4\"},[_vm._t(\"title\",[_c('H2',{staticClass:\"flex-1 text-ellipsis\"},[_vm._v(_vm._s(_vm.title))])],null,_vm.slotScope),_c('span',{staticClass:\"flex-none\"},[_vm._t(\"right-accessory\",null,null,_vm.slotScope)],2)],2)],null,_vm.slotScope)],2),_c('div',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],staticClass:\"content-wrap\"},[_vm._t(\"default\",null,null,_vm.slotScope)],2)])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Prop, Watch } from \"types-vue\";\nimport Vue from \"vue\";\n\nconst enum Status {\n Expanded = \"expanded\",\n Collapsed = \"collapsed\"\n}\n\n@Component\nexport default class CollapsableCard extends Vue {\n\n @Prop({ type: String })\n protected title: string;\n\n @Prop({ type: Boolean })\n protected plain: Boolean;\n \n @Prop({ type: Boolean })\n protected bordered: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected separated: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected loading: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected disabled: boolean;\n\n @Prop({ type: Boolean, default: true })\n protected defaultCollapsed: boolean;\n\n protected expanded: Status = Status.Expanded;\n\n protected created() {\n if (this.defaultCollapsed) {\n this.expanded = Status.Collapsed;\n }\n }\n\n protected get isExpanded(): boolean {\n return this.expanded === Status.Expanded;\n }\n\n protected get classBinding() {\n return {\n \"is-expanded\": this.isExpanded,\n \"is-loading\": this.loading,\n \"is-separated\": this.separated\n }\n }\n\n protected get slotScope() {\n return {\n expanded: this.isExpanded,\n disabled: this.disabled,\n loading: this.loading\n }\n }\n\n protected onCollapseStatusChange(status: Status) {\n this.$emit(\"expand\", status === Status.Expanded);\n }\n\n}","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./CollapsableCard.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./CollapsableCard.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CollapsableCard.vue?vue&type=template&id=cdca72f6&\"\nimport script from \"./CollapsableCard.ts?vue&type=script&lang=ts&\"\nexport * from \"./CollapsableCard.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./CollapsableCard.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-tooltip',{attrs:{\"placement\":\"top\",\"effect\":\"light\",\"disabled\":!_vm.compactCookie.value}},[_c('div',{staticClass:\"flex-y items-center\",attrs:{\"slot\":\"content\"},slot:\"content\"},[_c('strong',[_vm._v(_vm._s(_vm.description))]),_c('small',[_vm._v(_vm._s(_vm.trial.expiration.format('DD/MM/YYYY HH:mm:ss')))])]),_c('core.alert',{staticClass:\"trial-counter-alert\",class:_vm.trialCounterClass,attrs:{\"type\":_vm.alertStyle,\"show-icon\":false,\"closable\":false,\"plain\":_vm.plain,\"compact\":\"\",\"subtle\":\"\"}},[(!_vm.compactCookie.value)?_c('div',{staticClass:\"flex items-start mb-8 pb-4\",attrs:{\"slot\":\"title\"},slot:\"title\"},[_c('core.label',{staticClass:\"flex-1\",attrs:{\"icon-size\":\"12px\"}},[_c('ion-icon',{staticClass:\"flask-icon\",attrs:{\"slot\":\"icon\",\"name\":\"flask\"},slot:\"icon\"}),_c('h3',[_vm._v(_vm._s(_vm.title)+\" \"),_c('small',[_vm._v(\"(\"+_vm._s(_vm.duration)+\" days)\")])])],1),_c('core.label',{staticClass:\"expiration-label\",attrs:{\"icon-position\":\"end\"}},[_c('span',[_vm._v(_vm._s(_vm.description))]),_c('el-tooltip',{attrs:{\"slot\":\"icon\",\"content\":_vm.trial.expiration.format('DD/MM/YYYY HH:mm:ss'),\"placement\":\"top\",\"effect\":\"dark\",\"open-delay\":500},slot:\"icon\"},[_c('i',{staticClass:\"el-icon-time\"})])],1)],1):_vm._e(),_c('div',{staticClass:\"progress-wrap flex items-center space-x-8\"},[(_vm.compactCookie.value)?_c('core.label',{staticClass:\"pr-4 flex-none\",attrs:{\"icon-size\":\"12px\"}},[_c('ion-icon',{staticClass:\"flask-icon\",attrs:{\"slot\":\"icon\",\"name\":\"flask\"},slot:\"icon\"}),_c('H3',[_vm._v(_vm._s(_vm.title))])],1):_vm._e(),_c('el-progress',{staticClass:\"flex-1\",attrs:{\"percentage\":_vm.percentageUsed,\"stroke-width\":2,\"show-text\":false,\"status\":_vm.progressStyle}}),(_vm.compactable)?_c('el-tooltip',{attrs:{\"effect\":\"light\",\"placement\":\"top\",\"open-delay\":500,\"enterable\":false,\"content\":_vm.compactCookie.value ? 'Show more' : 'Show less'}},[_c('span',{staticClass:\"compact-toggler\",on:{\"click\":function($event){return _vm.compactCookie.store(!_vm.compactCookie.value)}}},[_c('i',{class:_vm.compactCookie.value ? 'el-icon-arrow-down' : 'el-icon-arrow-up'})])]):_vm._e()],1)])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { BooleanCookie } from \"@Core/Models/Cookies/BooleanCookie.model\";\nimport { TrialInfo } from \"@Module/Trial/Models/TrialInfo.model\";\nimport { Component, Prop } from \"types-vue\";\nimport Vue from \"vue\";\nimport { Watch } from \"vue-property-decorator\";\n\n@Component\nexport default class TrialCounter extends Vue {\n\n @Prop({ type: Object, required: true })\n protected trial: TrialInfo;\n\n @Prop({ type: Number, required: true })\n protected duration: number;\n\n @Prop({ type: String, default: \"Trial status\" })\n protected title: string;\n\n @Prop({ type: Boolean, default: null })\n protected plain: Boolean;\n\n @Prop({ type: Boolean, default: true })\n protected compactable: boolean;\n\n protected compactCookie = BooleanCookie.create(\"console.comptact-trial\");\n\n @Watch(\"compactable\", { immediate: true })\n protected onCompactablePropChange(compactable: boolean) {\n if (!compactable) {\n this.compactCookie.store(false);\n }\n }\n\n protected get alertStyle(): string {\n if (this.percentageUsed === 100) { return \"error\" }\n else if (this.trial.remainingDays <= 5) { return \"warning\"; }\n else { return \"info\" };\n }\n\n protected get progressStyle(): string {\n if (this.percentageUsed === 100) { return \"exception\" }\n else if (this.trial.remainingDays <= 5) { return \"warning\"; }\n else { return null; };\n }\n\n protected get percentageUsed(): number {\n const durSeconds = this.duration * 24 * 60 * 60;\n const used = durSeconds - this.trial.remainingSeconds;\n const rawPercentage = (100 * used) / durSeconds;\n return Math.min(Math.abs(rawPercentage), 100);\n }\n\n protected get description(): string {\n if (this.percentageUsed === 100) {\n return `Expired ${this.trial.expiration.startOf(\"second\").toNow()}`;\n } else {\n return `Expires ${this.trial.expiration.startOf(\"second\").fromNow()}`;\n }\n }\n\n protected get trialCounterClass() {\n return {\n \"is-compact\": this.compactCookie.value\n }\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./TrialCounter.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./TrialCounter.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TrialCounter.vue?vue&type=template&id=69466f9d&scoped=true&\"\nimport script from \"./TrialCounter.ts?vue&type=script&lang=ts&\"\nexport * from \"./TrialCounter.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./TrialCounter.vue?vue&type=style&index=0&lang=scss&\"\nimport style1 from \"./TrialCounter.vue?vue&type=style&index=1&id=69466f9d&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"69466f9d\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OrgSwitcher.vue?vue&type=style&index=0&lang=scss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('orgs.org-summary',{attrs:{\"org\":_vm.orgRole.organization,\"expand\":_vm.expand}},[_c('core.details',{attrs:{\"label\":\"Role\",\"spacing\":\"3px\"}},[_c('orgs.org-role-tag',{attrs:{\"role\":_vm.orgRole.role}})],1),(_vm.apiKey !== '')?_c('core.details',{attrs:{\"label\":\"Api Key\",\"spacing\":\"3px\"}},[_c('span',[_vm._v(_vm._s(_vm.apiKey))])]):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { OrganizationRole } from \"@Module/Orgs/Models/Roles/OrganizationRole.model\";\nimport { Component, Prop } from \"types-vue\";\nimport Vue from \"vue\";\n\n@Component\nexport default class OrgRoleSummary extends Vue {\n\n @Prop({ type: Object, required: true })\n protected orgRole: OrganizationRole;\n\n @Prop({ type: Boolean, default: false })\n protected expand: boolean;\n\n @Prop({ type: String, default: \"\" })\n protected apiKey: string;\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./OrgRoleSummary.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./OrgRoleSummary.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OrgRoleSummary.vue?vue&type=template&id=209f43b4&\"\nimport script from \"./OrgRoleSummary.ts?vue&type=script&lang=ts&\"\nexport * from \"./OrgRoleSummary.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TrialDialog.vue?vue&type=style&index=0&id=4fafe84e&lang=scss&scoped=true&\"","import { RespondNotificationApiErrorMeta } from \"./RespondNotificationApiError\";\nimport { Role } from \"@Module/Auth/Models/Roles/AccessRole.model\";\nimport { ConsoleError } from \"@Core/Errors/ConsoleError\";\n\ninterface RespondOrgAccessRequestNotificationApiErrorMeta extends RespondNotificationApiErrorMeta {\n role: Role;\n}\n\nexport class RespondOrgAccessRequestNotificationApiError extends ConsoleError {}","import { RespondNotificationApiErrorMeta } from \"./RespondNotificationApiError\";\nimport { Organization } from \"@Module/Orgs/Models/Organization.model\";\nimport { ConsoleError } from \"@Core/Errors/ConsoleError\";\n\ninterface RespondContractPurchaseNotificationApiErrorMeta extends RespondNotificationApiErrorMeta {\n organization: Organization;\n}\n\nexport class RespondContractPurchaseNotificationApiError extends ConsoleError {}","import { ConsoleError } from \"@Core/Errors/ConsoleError\";\nimport { NotificationType } from \"../Models/Notification.model\";\n\ninterface GetOrgOutboxNotificationsApiErrorMeta {\n type: NotificationType;\n}\n\nexport class GetOrgOutboxNotificationsApiError extends ConsoleError {}","import { ConsoleError } from \"@Core/Errors/ConsoleError\";\nimport { NotificationType } from \"../Models/Notification.model\";\n\ninterface GetMyOutboxNotificationsApiErrorMeta {\n type: NotificationType;\n}\n\nexport class GetMyOutboxNotificationsApiError extends ConsoleError {}","import { OrgInvitationNotificationLink } from \"../Models/OrgInvitationNotification.model\";\nimport { RespondNotificationApiErrorMeta } from \"./RespondNotificationApiError\";\nimport { ConsoleError } from \"@Core/Errors/ConsoleError\";\n\ninterface RespondOrgInvitationLinkApiErrorMeta extends RespondNotificationApiErrorMeta {\n link: OrgInvitationNotificationLink;\n}\n\nexport class RespondOrgInvitationLinkApiError extends ConsoleError {}","import { ConsoleError } from \"@Core/Errors/ConsoleError\";\n\ninterface GetNotificationsInboxApiErrorMeta {}\n\nexport class GetNotificationsInboxApiError extends ConsoleError {}","import { Organization } from \"@Module/Orgs/Models/Organization.model\";\nimport { ConsoleError } from \"@Core/Errors/ConsoleError\";\n\ninterface SendOrgAccessRequestApiErrorMeta {\n organization: Organization;\n}\n\nexport class SendOrgAccessRequestApiError extends ConsoleError {}","import { ContractPurchase } from \"@Module/Auth/Models/ContractPurchase.model\";\nimport { ConsoleError } from \"@Core/Errors/ConsoleError\";\n\ninterface SendContractPurchaseApiErrorMeta {\n contractPurchase: ContractPurchase;\n}\n\nexport class SendContractPurchaseApiError extends ConsoleError {}","import { Notification, NotificationRef, NotificationStatus } from \"../Models/Notification.model\";\nimport { ConsoleError } from \"@Core/Errors/ConsoleError\";\n\nexport interface RespondNotificationApiErrorMeta {\n notification: Notification | NotificationRef;\n status: NotificationStatus;\n}\n\nexport class RespondNotificationApiError extends ConsoleError {}","import { Organization } from \"@Module/Orgs/Models/Organization.model\";\nimport { License } from \"@Module/Licensing/Models/License.model\";\nimport { ConsoleError } from \"@Core/Errors/ConsoleError\";\nimport { ServiceID } from \"@Service/ServiceID\";\n\ninterface SendLicenseExchangeApiErrorMeta {\n owner: Organization; \n tenant: Organization; \n service: ServiceID; \n toShare: License[]; \n toReturn: License[];\n returnImmediately: boolean;\n}\n\nexport class SendLicenseExchangeApiError extends ConsoleError {}","import { Organization } from \"@Module/Orgs/Models/Organization.model\";\nimport { Role } from \"@Module/Auth/Models/Roles/AccessRole.model\";\nimport { ConsoleError } from \"@Core/Errors/ConsoleError\";\n\ninterface SendOrgInvitationApiErrorMeta {\n organization: Organization;\n username: string;\n role: Role;\n}\n\nexport class SendOrgInvitationApiError extends ConsoleError {}","import { INotificationDto, Notification, NotificationRef, NotificationResponseStatus, NotificationStatus, NotificationType } from \"../Models/Notification.model\";\nimport { RespondOrgAccessRequestNotificationApiError } from \"../Errors/RespondOrgAccessRequestNotificationApiError\";\nimport { RespondContractPurchaseNotificationApiError } from \"../Errors/RespondContractPurchaseNotificationApiError\";\nimport { GetOrgOutboxNotificationsApiError } from \"../Errors/GetOrgOutboxNotificationsApiError\";\nimport { GetMyOutboxNotificationsApiError } from \"../Errors/GetMyOutboxNotificationsApiError\";\nimport { RespondOrgInvitationLinkApiError } from \"../Errors/RespondOrgInvitationLinkApiError\";\nimport { OrgInvitationNotificationLink } from \"../Models/OrgInvitationNotification.model\";\nimport { GetNotificationsInboxApiError } from \"../Errors/GetNotificationsInboxApiError\";\nimport { SendOrgAccessRequestApiError } from \"../Errors/SendOrgAccessRequestApiError\";\nimport { SendContractPurchaseApiError } from \"../Errors/SendContractPurchaseApiError\";\nimport { RespondNotificationApiError } from \"../Errors/RespondNotificationApiError\";\nimport { SendLicenseExchangeApiError } from \"../Errors/SendLicenseExchangeApiError\";\nimport { SendOrgInvitationApiError } from \"../Errors/SendOrgInvitationApiError\";\nimport { ContractPurchase } from \"@Module/Auth/Models/ContractPurchase.model\";\nimport { Organization } from \"@Module/Orgs/Models/Organization.model\";\nimport { Role } from \"@Module/Auth/Models/Roles/AccessRole.model\";\nimport { License } from \"@Module/Licensing/Models/License.model\";\nimport { ServiceID } from \"@Service/ServiceID\";\nimport AxiosAPI from \"@Core/API/AxiosAPI\";\n\nexport interface LicenseExchangeOptions {\n owner: Organization;\n tenant: Organization;\n service: ServiceID;\n toShare: License[];\n toReturn: License[];\n returnImmediately: boolean;\n voluntaryReturn: boolean;\n}\n\nclass NotificationsAPI extends AxiosAPI {\n private static instance: NotificationsAPI;\n \n public static get Instance(): NotificationsAPI {\n return this.instance || (this.instance = new this());\n }\n \n protected url(slug?: string): string {\n const baseUrl = `${process.env.VUE_APP_SERVICE_URL_BACKEND}/notifications`;\n return !!slug ? `${baseUrl}/${slug}` : baseUrl;\n }\n \n public async getNotificationsInbox(): Promise {\n try {\n const url = this.url(\"inbox\");\n const response = await this.axios.get(url);\n return response.data;\n } catch (error) {\n const message = `An error occurred retrieving your notifications inbox. Please try again later.`;\n throw new GetNotificationsInboxApiError(message, { cause: error });\n }\n }\n\n public async cancelNotification(notification: Notification): Promise {\n return this.respondNotification(notification, NotificationStatus.Cancelled);\n }\n\n public async acceptNotification(notification: Notification): Promise {\n return this.respondNotification(notification, NotificationStatus.Accepted);\n }\n\n public async acceptOrgRequestNotification(notification: Notification, role: Role): Promise {\n try {\n return await this.respondNotification(notification, NotificationStatus.Accepted, { role_id: role.id });\n } catch (error) {\n const responseError: RespondNotificationApiError = error;\n const message = `An error occurred responding the organization access request notification. Please try again later.`;\n throw new RespondOrgAccessRequestNotificationApiError(message, {\n cause: responseError,\n meta: { ...responseError.meta, role }\n });\n }\n }\n\n public async acceptContractPurchaseNotification(notification: Notification, organization: Organization): Promise {\n try {\n return await this.respondNotification(notification, NotificationStatus.Accepted, { org_id: organization.id });\n } catch (error) {\n const responseError: RespondNotificationApiError = error;\n const message = `An error occurred responding the contract purchase notification. Please try again later.`;\n throw new RespondContractPurchaseNotificationApiError(message, {\n cause: responseError,\n meta: { ...responseError.meta, organization }\n });\n }\n }\n\n public async acceptOrgInvitationLink(link: OrgInvitationNotificationLink): Promise {\n return this.respondOrgInvitationLink(link, NotificationStatus.Accepted);\n }\n\n public async declineNotification(notification: Notification): Promise {\n return this.respondNotification(notification, NotificationStatus.Rejected);\n }\n\n public async declineOrgInvitationLink(link: OrgInvitationNotificationLink): Promise {\n return this.respondOrgInvitationLink(link, NotificationStatus.Rejected);\n }\n\n protected async respondOrgInvitationLink(\n link: OrgInvitationNotificationLink, \n status: NotificationResponseStatus\n ): Promise {\n try {\n return this.respondNotification(link.notificationRef, status);\n } catch (error) {\n const responseError: RespondNotificationApiError = error;\n const message = `An error occurred responding the organization invitation. Please try again later.`;\n throw new RespondOrgInvitationLinkApiError(message, {\n cause: responseError,\n meta: { ...responseError.meta, link }\n });\n }\n }\n\n protected async respondNotification(\n notification: Notification | NotificationRef, \n status: NotificationResponseStatus, \n requestBodyExtension: object = {}\n ): Promise {\n try {\n const url = this.url(notification.id.toString());\n const response = await this.axios.put(url, { status, ...requestBodyExtension });\n return response.data;\n } catch (error) {\n const message = `An error occurred responding the notification. Please try again later.`;\n throw new RespondNotificationApiError(message, { \n cause: error,\n meta: { notification, status }\n });\n }\n }\n\n public async sendOrgAccessRequest(organization: Organization): Promise {\n try {\n const url = this.url(NotificationType.OrgAccessRequest);\n const response = await this.axios.post(url, { org_id: organization.id });\n return response.data;\n } catch (error) {\n const message = `An error occurred sending the organization access request. Please try again later.`;\n throw new SendOrgAccessRequestApiError(message, {\n cause: error,\n meta: { organization }\n })\n }\n }\n\n public async sendOrgInvitation(username: string, organization: Organization, role: Role): Promise {\n try {\n const url = this.url(NotificationType.OrgInvitation);\n const response = await this.axios.post(url, {\n org_id: organization.id,\n user_id: username,\n role_id: role.id\n });\n return response.data;\n } catch (error) {\n const message = `An error occurred sending the invitation. Please try again later.`;\n throw new SendOrgInvitationApiError(message, { \n cause: error,\n meta: { organization, username, role }\n });\n }\n }\n\n public async sendContractPurchase(contractPurchase: ContractPurchase): Promise {\n try {\n const url = this.url(NotificationType.ContractPurchase);\n const response = await this.axios.post(url, {\n contract_id: contractPurchase.id\n });\n return response.data;\n } catch (error) {\n const message = `An error occurred registering yout contract purchase. Please try again later.`;\n throw new SendContractPurchaseApiError(message, { \n cause: error,\n meta: { contractPurchase }\n });\n }\n }\n\n public async getOrgOutboxNotifications(type: NotificationType): Promise {\n try {\n const url = this.url(type);\n const response = await this.axios.get(url, {\n params: { sentByMe: false }\n });\n return response.data;\n } catch (error) {\n const message = `An error occurred retrieving ${Notification.labelForType(type)}s sent from your organization. Please try again later.`;\n throw new GetOrgOutboxNotificationsApiError(message, { \n cause: error,\n meta: { type }\n });\n }\n }\n\n public async getMyOutboxNotifications(type: NotificationType, status?: NotificationStatus): Promise {\n try {\n const url = this.url(type);\n const response = await this.axios.get(url, {\n params: { sentByMe: true, status }\n });\n return response.data;\n } catch (error) {\n const message = `An error occurred retrieving ${Notification.labelForType(type)}s sent by you. Please try again later.`;\n throw new GetMyOutboxNotificationsApiError(message, { \n cause: error,\n meta: { type }\n });\n }\n }\n\n public async sendLicenseExchange(options: LicenseExchangeOptions): Promise {\n try {\n const url = this.url(NotificationType.LicenseSharing);\n await this.axios.post(url, {\n owner: options.owner.id,\n tenant: options.tenant.id,\n product: options.service,\n to_give: options.toShare.map(license => license.id), \n to_return: options.toReturn.map(license => license.id),\n return_immediately: options.returnImmediately,\n voluntary_return: options.voluntaryReturn\n });\n } catch (error) {\n const message = `An error occurred exchanging licenses. Please try again later.`;\n throw new SendLicenseExchangeApiError(message, {\n cause: error,\n meta: { \n owner: options.owner, \n tenant: options.tenant, \n service: options.service, \n toShare: options.toShare, \n toReturn: options.toReturn, \n returnImmediately: options.returnImmediately \n }\n });\n }\n }\n}\n\nexport default NotificationsAPI.Instance;","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BillingPeriodDialog.vue?vue&type=style&index=0&id=4275fca2&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"reports-form\"},[_c('h3',[_vm._v(\"Payment \"+_vm._s(_vm.paymentNumber + 1))]),_c('core.details',{staticClass:\"form-input\",attrs:{\"label\":\"Amount\",\"value\":_vm.payment.paymentAmount}},[_c('el-input-number',{attrs:{\"size\":\"medium\",\"controls-position\":\"right\",\"value\":_vm.payment.paymentAmount,\"min\":1},model:{value:(_vm.payment.paymentAmount),callback:function ($$v) {_vm.$set(_vm.payment, \"paymentAmount\", $$v)},expression:\"payment.paymentAmount\"}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Payment } from \"@Module/Reports/Models/Payment.model\";\nimport { HttpRequestOptions } from \"element-ui/types/upload\";\nimport { Component, Prop} from \"types-vue\";\nimport Vue from \"vue\";\n\n@Component\nexport default class PaymentForm extends Vue {\n\n @Prop({ type: Object, required: true })\n protected payment: Payment;\n \n @Prop({ type: Number, required: true })\n protected paymentNumber: number;\n\n protected mounted() {\n this.payment.number = this.paymentNumber + 1\n }\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./PaymentForm.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./PaymentForm.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PaymentForm.vue?vue&type=template&id=32aa2dcb&\"\nimport script from \"./PaymentForm.ts?vue&type=script&lang=ts&\"\nexport * from \"./PaymentForm.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./PaymentForm.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import DayJS, { Dayjs } from \"dayjs\";\n\nexport interface IfInfoDto {\n id?: string;\n amount: number;\n date: string;\n type: string;\n project?: string;\n}\n\nexport interface FormattedfInfo {\n id: string;\n month: string;\n fInfo: FInfo;\n amount: number;\n type: string;\n project?: string;\n}\n\nexport interface fInfoTypes {\n id: string;\n type: string;\n}\n\nexport class FInfo {\n id?: string;\n amount: number;\n date: Dayjs;\n type: string;\n project?: string;\n\n private constructor(dto: IfInfoDto) {\n this.id = dto.id;\n this.amount = dto.amount;\n this.date = DayJS(dto.date);\n this.type = dto.type;\n this.project = dto?.project;\n }\n\n public static create(dto?: Partial): FInfo {\n return new FInfo({\n id: dto?.id,\n amount: dto?.amount,\n date: dto?.date,\n type: dto?.type,\n project: dto?.project,\n });\n }\n\n public toDto(): IfInfoDto {\n return {\n id: this.id,\n amount: this.amount,\n date: this.date.toString(),\n type: this.type,\n project: this.project,\n };\n }\n\n public static fromDto(dto: IfInfoDto): FInfo {\n return new FInfo(dto);\n }\n\n\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-header',{staticClass:\"header flex p-y-6 p-x-32 space-x-32 items-center\"},[(_vm.$mq.md)?_c('el-button',{staticClass:\"floating-menu-toggle-button h-full\",attrs:{\"type\":\"text\"},nativeOn:{\"click\":function($event){$event.stopPropagation();return _vm.toggleFloatingMenuVisibility($event)}}}):_vm._e(),_c('img',{attrs:{\"height\":\"70%\",\"src\":\"logos/cxlink-logo_color.svg\"}}),_c('el-menu',{staticClass:\"header-menu\",attrs:{\"mode\":\"horizontal\"}},[_c('el-menu-item',[_c('a',{staticClass:\"header-link\",attrs:{\"target\":\"_blank\",\"href\":_vm.documentationUrl}},[_vm._v(\"Docs\")])]),_c('el-menu-item',[_c('a',{staticClass:\"header-link\",attrs:{\"target\":\"_blank\",\"href\":\"https://www.syntax.com/software/cxlink/\"}},[_vm._v(\"Website\")])])],1)],1),_c('div',{staticClass:\"auth-view flex-y items-center full-screen\",class:_vm.viewClass},[_c('vue-progress-bar',{staticClass:\"top-progress-bar flex-none\"}),_c('legal.data-protection-dialog'),_c('core.layout',{staticClass:\"auth-layout\",attrs:{\"hide-breadcrumb\":\"\"}},[_c('div',{staticClass:\"auth-content flex-y items-center space-y-24\",style:(_vm.contentStyle)},[_c('img',{attrs:{\"height\":\"40px\",\"src\":\"logos/cxlink-logo_color.svg\"}}),_c('core.card',{staticClass:\"auth-card\",attrs:{\"bordered\":_vm.isPlainUi}},[_c('auth.auth-controller',{attrs:{\"skippable\":\"\"},on:{\"cancel\":function($event){return _vm.$router.replace('/')},\"signed-in\":_vm.onSignInSuccess}})],1)],1)])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { OrgInvitationNotificationLink } from \"@Module/Notifications/Models/OrgInvitationNotification.model\";\nimport NotificationsInboxStore from \"@Module/Notifications/Store/NotificationsInbox.store\";\nimport AppSettingsStore from \"@Service/Settings/Store/AppSettings/AppSettings.store\";\nimport { ContractPurchase } from \"../Models/ContractPurchase.model\";\nimport LicensingStore from \"@Module/Licensing/Store/Licensing.store\";\nimport { ConsoleRoute } from \"@Core/Models/ConsoleRoute\";\nimport { Component, MapAction, MapGetter, Vue } from \"types-vue\";\nimport OrgsStore from \"@Module/Orgs/Store/Orgs.store\";\nimport MenuStore from \"@Core/Store/Menu/Menu.store\";\n\n@Component\nexport default class AuthView extends Vue {\n\n @MapGetter(AppSettingsStore.Mapping)\n protected isPlainUi: boolean;\n\n @MapGetter(NotificationsInboxStore.Mapping)\n protected orgInvitationLink: OrgInvitationNotificationLink;\n\n @MapGetter(LicensingStore.Mapping)\n protected contractPurchase: ContractPurchase;\n\n\n protected get documentationUrl(): string{\n return `${process.env.VUE_APP_SERVICE_URL_DOCS}`\n }\n\n\n @MapAction(MenuStore.Mapping)\n protected toggleFloatingMenuVisibility: () => Promise;\n\n @MapGetter(OrgsStore.Mapping)\n protected noOrganization: boolean;\n\n protected get viewClass() {\n return {\n \"is-plain\": this.isPlainUi\n }\n }\n\n protected onSignInSuccess() {\n if (this.noOrganization) {\n this.$router.replace(ConsoleRoute.OrgConfigPath);\n } else {\n this.$router.replace(ConsoleRoute.HomePath);\n }\n }\n\n protected get contentStyle() {\n let marginTop = 3;\n if (!!this.orgInvitationLink) {\n marginTop -= 1;\n }\n if (!!this.contractPurchase) {\n marginTop -= 1;\n }\n return {\n \"margin-top\": `${marginTop}vh`\n }\n }\n\n}","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./AuthView.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./AuthView.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AuthView.vue?vue&type=template&id=19344314&scoped=true&\"\nimport script from \"./AuthView.ts?vue&type=script&lang=ts&\"\nexport * from \"./AuthView.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./AuthView.vue?vue&type=style&index=0&id=19344314&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"19344314\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RecoveryPanel.vue?vue&type=style&index=0&id=673b0f79&lang=scss&scoped=true&\"","import { Utils } from \"@Core/Utils/Utils\";\n\ndeclare type Func = (...args: any[]) => Promise;\n\nexport class Execution {\n\n public readonly run: T;\n protected mockBlock?: () => Promise;\n public loading: boolean = false;\n public expceptionThrowing: boolean = false;\n public error: Error = null;\n\n private constructor(body: T) {\n this.run = (async (...args: any[]) => {\n try {\n this.loading = true;\n this.error = null;\n await this.mockBlock?.();\n const result = await body(...args);\n return result;\n } catch (error) {\n this.error = error;\n if (this.expceptionThrowing) {\n throw error;\n } else {\n console.error(error);\n }\n } finally {\n this.loading = false;\n }\n }) as any;\n }\n\n public static create(body: T, thisArg?: any): Execution {\n if (!!thisArg) {\n return new Execution(body.bind(thisArg));\n } else {\n return new Execution(body);\n }\n }\n\n public static dummy(sleep: number = 1000) {\n return this.create(async () => Utils.sleep(sleep));\n }\n\n public throws(): Execution {\n this.expceptionThrowing = true;\n return this;\n }\n\n public mock(sleep: number, failProbability: number = .5): Execution {\n this.mockBlock = async () => {\n await Utils.sleep(sleep);\n Utils.throw(failProbability);\n }\n return this;\n }\n\n public reset() {\n this.loading = false;\n this.error = null;\n }\n\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"dimension-selector-option flex-y pb-8 pt-6 space-y-4\"},[_c('span',{staticClass:\"dimension-name text-ellipsis\"},[_vm._v(_vm._s(_vm.dimension.description))])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Dimension } from \"@Module/Licensing/Models/Dimension.model\";\nimport { Component, Prop } from \"types-vue\";\nimport Vue from \"vue\";\n\n@Component\nexport default class DimensionSelectorOption extends Vue {\n\n @Prop({ type: Object, required: true })\n protected dimension: Dimension;\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./DimensionSelectorOption.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./DimensionSelectorOption.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DimensionSelectorOption.vue?vue&type=template&id=4fa70d03&scoped=true&\"\nimport script from \"./DimensionSelectorOption.ts?vue&type=script&lang=ts&\"\nexport * from \"./DimensionSelectorOption.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./DimensionSelectorOption.vue?vue&type=style&index=0&id=4fa70d03&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4fa70d03\",\n null\n \n)\n\nexport default component.exports","import { Utils } from \"@Core/Utils/Utils\";\nimport { Action, Getter, Module, Mutation, VuexModule } from \"types-vue\";\nimport { ReportsStoreState } from \"./Reports.state\";\nimport { IReportContractDto, IReportFiltersDto, ReportContract } from \"../Models/ReportContract.model\";\nimport ReportsApi from \"../API/Reports.api\";\nimport { ReportContractsFilters } from \"../Models/ReportContractFilters\";\nimport { FInfo, IfInfoDto } from \"../Models/FinancialInfo.model\";\nimport { ILeadGeneratorDto, LeadGenerator } from \"../Models/LeadGenerator.model\";\nimport { BillingPeriod, IBillingPeriodDto } from \"../Models/BillingPeriod.model\";\nimport Vue from \"vue\";\n\n\nexport const enum ReportsStoreAction {\n fetchReportContracts = \"fetchReportContracts\",\n}\n\nconst enum ReportsStoreCommit {\n SetReportsDialogVisible = \"_setReportsDialogVisible\",\n SetFInfoDialogVisible = \"_setFInfoDialogVisible\",\n SetBillingPeriodDialogVisible = \"_setBillingPeriodDialogVisible\",\n SetReportContracts = \"_setReportContracts\",\n AddReportContracts = \"_addReportContract\",\n AddBillingPeriod = \"_addBillingPeriod\",\n AddFInfo = \"_addFInfo\",\n SetLeadGenerators = \"_setLeadGenerators\",\n SetFInfo = \"_setFInfo\",\n CurrentYear = \"_currentYear\",\n SetCurrentYear = \"_setCurrentYear\",\n\n}\n\n\n@Module({ namespaced: true })\nexport default class ReportsStore extends VuexModule implements ReportsStoreState {\n public static readonly Mapping = Utils.createVuexMappingOptions(\"Reports\");\n \n public _reportsDialogVisible: boolean = false;\n public _billingPeriodDialogVisible: boolean = false;\n public _fInfoDialogVisible: boolean = false;\n public _reportContracts: ReportContract[] = [];\n public _fInfo: FInfo[] = [];\n public _leadGenerators: LeadGenerator[] = [];\n public _currentYear: number = new Date().getFullYear();\n\n @Getter()\n public reportsDialogVisible() { \n return this._reportsDialogVisible;\n }\n\n @Getter()\n public fInfoDialogVisible() { \n return this._fInfoDialogVisible;\n }\n\n @Getter()\n public billingPeriodDialogVisible() { \n return this._billingPeriodDialogVisible;\n }\n\n @Getter()\n public currentYear() { \n return this._currentYear;\n }\n\n @Getter()\n public reportContracts(): ReportContract[] {\n return this._reportContracts;\n }\n\n @Getter()\n public fInfo(): FInfo[] {\n return this._fInfo;\n }\n\n @Getter()\n public leadGenerators(): LeadGenerator[] {\n return this._leadGenerators;\n }\n\n @Mutation()\n protected _setCurrentYear(year: number) { \n this._currentYear = year;\n }\n\n @Mutation()\n protected _setReportsDialogVisible(visible: boolean) { \n this._reportsDialogVisible = visible;\n }\n\n @Mutation()\n protected _setFInfoDialogVisible(visible: boolean) { \n this._fInfoDialogVisible = visible;\n }\n\n @Mutation()\n protected _setBillingPeriodDialogVisible(visible: boolean) { \n this._billingPeriodDialogVisible = visible;\n }\n\n @Action({ commit: ReportsStoreCommit.SetReportsDialogVisible })\n public setReportsDialogVisible(visible: boolean): boolean {\n return visible;\n }\n\n @Action({ commit: ReportsStoreCommit.SetFInfoDialogVisible })\n public setFInfoDialogVisible(visible: boolean): boolean {\n return visible;\n }\n\n @Action({ commit: ReportsStoreCommit.SetBillingPeriodDialogVisible })\n public setBillingPeriodDialogVisible(visible: boolean): boolean {\n return visible;\n }\n\n @Action({ commit: ReportsStoreCommit.SetReportsDialogVisible })\n public openReportsDialog(): boolean {\n return true;\n }\n\n @Action({ commit: ReportsStoreCommit.SetFInfoDialogVisible })\n public openFInfoDialog(): boolean {\n return true;\n }\n\n @Action({ commit: ReportsStoreCommit.SetReportsDialogVisible })\n public closeReportsDialog(): boolean {\n return false;\n }\n\n @Action({ commit: ReportsStoreCommit.SetFInfoDialogVisible })\n public closeFInfoDialog(): boolean {\n return false;\n }\n\n @Action({ commit: ReportsStoreCommit.SetBillingPeriodDialogVisible })\n public closeBillingPeriodDialog(): boolean {\n return false;\n }\n\n @Mutation()\n protected _addReportContract(reportContracts: ReportContract[]) {\n for (const editedContract of reportContracts) {\n const contract = this._reportContracts.find(c => c.id === editedContract.id);\n if (!!contract) {\n Object.assign(contract, editedContract);\n } else {\n this._reportContracts.push(editedContract);\n }\n } \n }\n\n @Mutation()\n protected _addFInfo(newInfo: FInfo) {\n const currentInfo = this._fInfo.find(a => a.id === newInfo.id);\n if (!!currentInfo) {\n this._fInfo = this._fInfo.map(a => (a.id == newInfo.id) ? newInfo : a);\n } else {\n if (newInfo.date.get(\"year\") === this._currentYear){\n this._fInfo.push(newInfo);\n } \n }\n }\n\n @Mutation()\n protected _addBillingPeriod(billingPeriod: BillingPeriod) {\n \n for (let [index, contract] of this._reportContracts.entries()) {\n if (billingPeriod.contractID == contract.id) {\n let billingIndex= contract.billingPeriods.findIndex(period => period.id == billingPeriod.id)\n if (billingIndex !== -1){\n let billingPeriods = [...contract.billingPeriods]\n billingPeriods[billingIndex] = billingPeriod.toDto()\n Vue.set(contract, \"billingPeriods\", billingPeriods)\n this._reportContracts[index].billingPeriods = billingPeriods\n } else {\n contract.billingPeriods.push(billingPeriod.toDto())\n }\n }\n } \n }\n\n @Mutation()\n protected _setReportContracts(reportContracts: ReportContract[]) {\n this._reportContracts = reportContracts;\n }\n\n @Mutation()\n protected _addLeadGenerators(leadGenerators: LeadGenerator[]) {\n this._leadGenerators = leadGenerators;\n }\n\n @Mutation()\n protected _setFInfo(fInfo: FInfo[]) {\n this._fInfo = fInfo;\n }\n\n @Action({ commit: ReportsStoreCommit.SetReportContracts })\n public async fetchReportContracts(filters: ReportContractsFilters): Promise {\n const dtos = await ReportsApi.getReportContracts(filters.toDto());\n return dtos.map(ReportContract.fromDto);\n }\n\n @Action({ commit: ReportsStoreCommit.SetLeadGenerators})\n public async fetchLeadGenerators(): Promise {\n const dtos = await ReportsApi.getLeadGenerators();\n return dtos.map(LeadGenerator.fromDto);\n }\n\n @Action()\n public async fetchReportContract(contractId: number): Promise {\n const dto = await ReportsApi.getReportContract(contractId);\n return ReportContract.fromDto(dto);\n }\n\n @Action({ commit: ReportsStoreCommit.SetFInfo })\n public async fetchFInfo(year: number): Promise {\n const dtos = await ReportsApi.getFInfo(year);\n return dtos.map(FInfo.fromDto);\n }\n\n @Action({commit: ReportsStoreCommit.AddReportContracts})\n protected async updateReportContract(contract: IReportContractDto): Promise {\n const dto = await ReportsApi.updateReportContract(contract);\n return [ReportContract.fromDto(dto)];\n }\n\n @Action({commit: ReportsStoreCommit.AddBillingPeriod})\n protected async updateBillingPeriod(billingPeriod: IBillingPeriodDto): Promise {\n const dto = await ReportsApi.updateBillingPeriod(billingPeriod);\n return BillingPeriod.fromDto(dto);\n }\n\n @Action({commit: ReportsStoreCommit.AddBillingPeriod})\n protected async addBillingPeriod(billingPeriod: IBillingPeriodDto): Promise {\n const dto = await ReportsApi.addBillingPeriod(billingPeriod);\n return BillingPeriod.fromDto(dto);\n }\n\n @Action({commit: ReportsStoreCommit.AddFInfo})\n protected async addFInfo(fInfo: IfInfoDto): Promise {\n const dto = await ReportsApi.addFInfo(fInfo);\n return FInfo.fromDto(dto);\n }\n\n @Action({commit: ReportsStoreCommit.AddFInfo})\n protected async updateFInfo(fInfo: IfInfoDto): Promise {\n const dto = await ReportsApi.updateFInfo(fInfo);\n return FInfo.fromDto(dto);\n }\n\n}","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OrgSuggestionListItem.vue?vue&type=style&index=0&id=fd91e750&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('core.dialog',{ref:\"dialog\",attrs:{\"width\":\"28rem\",\"top\":\"13vh\",\"before-close\":_vm.dialogCloseGuard},on:{\"closed\":_vm.onClosed},scopedSlots:_vm._u([{key:\"footer\",fn:function(ref){\nvar success = ref.success;\nvar cancel = ref.cancel;\nreturn _c('div',{staticClass:\"space-x-8\"},[(_vm.exportComplete)?_c('el-button',{attrs:{\"type\":\"text\"},on:{\"click\":success}},[_c('span',[_vm._v(\"Close\")])]):_vm._e(),(!_vm.exportComplete)?_c('el-button',{attrs:{\"type\":\"text\",\"disabled\":_vm.exportSummary.loading},on:{\"click\":cancel}},[_c('span',[_vm._v(\"Cancel\")])]):_vm._e(),(!_vm.exportComplete)?_c('el-button',{attrs:{\"type\":\"primary\",\"loading\":_vm.exportSummary.loading},on:{\"click\":_vm.startExport}},[(_vm.exportSummary.loading)?_c('span',[_vm._v(\"Exporting\")]):_c('span',[_vm._v(\"Start Export\")])]):_vm._e()],1)}}])},[_c('core.label',{attrs:{\"slot\":\"title\",\"icon-size\":\"20px\"},slot:\"title\"},[_c('H1',[_vm._v(\"Licensing summary export\")]),_c('i',{staticClass:\"el-icon-download\",attrs:{\"slot\":\"icon\"},slot:\"icon\"})],1),_c('el-steps',{staticClass:\"mb-16\",attrs:{\"active\":_vm.currentExportStep,\"finish-status\":\"success\",\"process-status\":!!_vm.exportSummary.error ? 'error' : 'process',\"simple\":\"\"}},[_c('el-step',{attrs:{\"title\":\"Configure export\",\"icon\":_vm.exportSummary.loading ? 'el-icon-loading' : 'el-icon-document'}}),_c('el-step',{attrs:{\"title\":\"Download file\",\"icon\":\"el-icon-download\"}})],1),(_vm.exportComplete)?_c('div',{staticClass:\"space-y-16 flex-y items-center\"},[_c('core.alert',{attrs:{\"type\":\"success\",\"title\":\"Export complete\",\"closable\":false,\"description\":\"Summary export successfully completed.\",\"plain\":\"\"}}),_c('div',{staticClass:\"flex flex-wrap container-x-16 container-y-16\"},[_c('core.details',{attrs:{\"label\":\"Service\"}},[_c('span',[_vm._v(_vm._s(_vm.serviceName))])]),_c('core.details',{staticClass:\"flex-none\",attrs:{\"label\":\"File Name\"}},[_c('span',[_vm._v(_vm._s(this.exportResult.name))])])],1),_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"primary\",\"icon\":\"el-icon-document\"},on:{\"click\":_vm.downloadLicenseFile}},[_c('span',[_vm._v(\"Download file\")])])],1):_c('div',{staticClass:\"space-y-16\"},[_c('div',[_vm._v(\"Exports a summary of all your contracts, licenses, and hosts for this service.\")]),_c('core.details',{attrs:{\"label\":\"Service\"}},[_c('span',[_vm._v(_vm._s(_vm.serviceName))])]),_c('core.details',{attrs:{\"label\":\"Export File Format\"}},[_c('el-select',{staticClass:\"w-full\",attrs:{\"disabled\":_vm.exportSummary.loading},model:{value:(_vm.exportFormat),callback:function ($$v) {_vm.exportFormat=$$v},expression:\"exportFormat\"}},[_c('i',{staticClass:\"el-icon-document ml-6\",attrs:{\"slot\":\"prefix\"},slot:\"prefix\"}),_c('el-option',{attrs:{\"label\":\"Comma Separated Values (.csv)\",\"value\":\"csv\"}})],1)],1),_c('transition',{attrs:{\"name\":\"el-zoom-in-top\"}},[(!!_vm.exportSummary.error)?_c('core.alert',{attrs:{\"type\":\"error\",\"title\":\"Export error\",\"closable\":false,\"description\":_vm.exportSummary.error.message,\"plain\":\"\"}}):_vm._e()],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import FileDownloadMixin from \"@Core/Mixins/FileDownload.mixin\";\nimport { ExportFormat } from \"@Core/Models/ExportFormat.model\";\nimport LicensingApi from \"@Module/Licensing/API/Licensing.api\";\nimport { Component, mixins, Prop } from \"types-vue\";\nimport Dialog from \"@Core/Components/Dialog/Dialog\";\nimport { Execution } from \"@Core/Models/Execution\";\nimport { ServiceID } from \"@Service/ServiceID\";\n\ninterface FileRequestResult {\n name: string;\n content: string;\n base64: boolean;\n downloaded: boolean;\n}\n\nconst enum ExportStep { \n Configuration, \n Download \n}\n\n@Component\nexport default class ExportLicensingSummaryDialog extends mixins(FileDownloadMixin) {\n\n @Prop({ type: String, required: true })\n protected serviceId: ServiceID;\n\n protected exportResult: FileRequestResult = null;\n protected exportFormat = ExportFormat.CSV;\n protected exportSummary = Execution.create(LicensingApi.exportLicensingSummary, LicensingApi);\n\n public open(): Promise {\n return (this.$refs.dialog as Dialog).open();\n }\n\n protected get serviceName(): string {\n return ServiceID.nameOf(this.serviceId);\n }\n\n protected async startExport() {\n this.exportSummary.reset();\n const content = await this.exportSummary.run(this.serviceId, this.exportFormat);\n const name = `Export-${new Date().getTime()}.zip`;\n if (!this.exportSummary.error) {\n this.exportResult = { \n name, content, \n base64: true, \n downloaded: false \n };\n }\n }\n\n protected async downloadLicenseFile(): Promise {\n const content = this.exportResult.content;\n const fileName = this.exportResult.name;\n const base64 = this.exportResult.base64;\n this.downloadFile(fileName, content, { base64 });\n this.exportResult.downloaded = true;\n }\n\n protected get exportComplete(): boolean {\n return this.currentExportStep === ExportStep.Download;\n }\n\n protected get forgotDownload(): boolean {\n return !!this.exportResult && !this.exportResult.downloaded;\n }\n\n protected get currentExportStep(): ExportStep {\n return !this.exportResult ? ExportStep.Configuration : ExportStep.Download;\n }\n\n protected onClosed() {\n this.exportResult = null;\n this.exportSummary.reset();\n this.exportFormat = ExportFormat.CSV\n }\n\n protected async dialogCloseGuard(close: VoidFunction) {\n if (this.exportSummary.loading) {\n try {\n await this.$confirm(\n \"Your summary is still being exported, if you close the dialog you will not be able to download the resulting file.\",\n \"Export warning\",\n { confirmButtonText: \"Close and skip download\", cancelButtonText: \"Cancel\", type: \"warning\" });\n } catch { return; }\n }\n if (this.forgotDownload) {\n try {\n await this.$confirm(\n \"The export process is complete, however you have not downloaded the resulting file.\",\n \"Export download warning\",\n { confirmButtonText: \"Close and skip download\", cancelButtonText: \"Cancel\", type: \"warning\" });\n } catch { return; }\n }\n close()\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./ExportLicensingSummaryDialog.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./ExportLicensingSummaryDialog.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ExportLicensingSummaryDialog.vue?vue&type=template&id=ed715290&\"\nimport script from \"./ExportLicensingSummaryDialog.ts?vue&type=script&lang=ts&\"\nexport * from \"./ExportLicensingSummaryDialog.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LicenseDetailsView.vue?vue&type=style&index=0&id=48ad64ed&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"org-suggestion-list space-y-8\"},[_c('el-input',{attrs:{\"size\":\"small\",\"disabled\":_vm.loading || _vm.suggestions.length === 0,\"prefix-icon\":\"el-icon-search\",\"placeholder\":\"Search suggested organizations\",\"clearable\":\"\"},model:{value:(_vm.searchQuery),callback:function ($$v) {_vm.searchQuery=$$v},expression:\"searchQuery\"}}),_c('orgs.org-suggestion-skeleton',{attrs:{\"loading\":_vm.loading,\"repeat\":2}},[_c('core.list',{staticClass:\"p-x-4 pt-4\",attrs:{\"data\":_vm.filteredSuggestions,\"label-key-path\":\"name\",\"description-key-path\":\"uuid\",\"selectable\":false},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar item = ref.item;\nreturn _c('orgs.org-suggestion-list-item',{attrs:{\"access-request-notif\":_vm.getOrgAccessNotification(item),\"invitation-notif\":_vm.getOrgInvitationNotification(item),\"organization\":item}})}}])},[_c('template',{slot:\"empty\"},[(!!_vm.searchQuery)?_c('core.empty',{attrs:{\"description\":\"No organization meets your filtering criteria.\",\"compact\":\"\"}},[_c('i',{staticClass:\"el-icon-office-building\",attrs:{\"slot\":\"icon\"},slot:\"icon\"})]):_c('core.empty',{attrs:{\"description\":\"There are no organization suggestions.\",\"compact\":\"\"}},[_c('i',{staticClass:\"el-icon-office-building\",attrs:{\"slot\":\"icon\"},slot:\"icon\"})])],1)],2)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { OrgAccessRequestNotification } from \"@Module/Notifications/Models/OrgAccessRequestNotification.model\";\nimport { OrgInvitationNotification } from \"@Module/Notifications/Models/OrgInvitationNotification.model\";\nimport { Organization } from \"@Module/Orgs/Models/Organization.model\";\nimport { Component, Prop } from \"types-vue\";\nimport Vue from \"vue\";\n\n@Component\nexport default class OrgSuggestionList extends Vue {\n\n @Prop({ type: Array, default: () => [] })\n protected suggestions: Organization[];\n\n @Prop({ type: Boolean, default: false })\n protected loading: Boolean;\n\n @Prop({ type: Array, default: () => [] })\n protected requestNotifications: OrgAccessRequestNotification[];\n\n @Prop({ type: Array, default: () => [] })\n protected invitationNotifications: OrgInvitationNotification[];\n\n protected searchQuery: string = null;\n\n protected getOrgAccessNotification(org: Organization) {\n return this.requestNotifications.find(n => n.organization.id === org.id)\n }\n\n protected getOrgInvitationNotification(org: Organization) {\n return this.invitationNotifications.find(n => n.organization.id === org.id)\n }\n\n protected get filteredSuggestions(): Organization[] {\n return this.suggestions.filter(org => org.meetsSearch(this.searchQuery));\n }\n \n \n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./OrgSuggestionList.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./OrgSuggestionList.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OrgSuggestionList.vue?vue&type=template&id=076c1876&scoped=true&\"\nimport script from \"./OrgSuggestionList.ts?vue&type=script&lang=ts&\"\nexport * from \"./OrgSuggestionList.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./OrgSuggestionList.vue?vue&type=style&index=0&id=076c1876&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"076c1876\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TrialDimensionSlot.vue?vue&type=style&index=0&lang=scss&\"","import { LicenseFilters } from \"@Module/Licensing/Models/LicenseFilters.model\";\nimport { EmoryHostFilters } from \"./EmoryHostFilters.model\";\n\nexport class EmoryLicenseFilters extends LicenseFilters {\n\n public hosts: EmoryHostFilters;\n\n protected initialize() {\n super.initialize();\n this.hosts = EmoryHostFilters.create();\n }\n\n public static create(): EmoryLicenseFilters {\n return new EmoryLicenseFilters();\n }\n\n}","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ServiceViewport.vue?vue&type=style&index=0&id=c73d1bc0&lang=scss&scoped=true&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Menu.vue?vue&type=style&index=0&id=629aae7e&lang=scss&scoped=true&\"","export interface ICategoryDto {\n name: string;\n subcategories: string[];\n}\n\nexport class Category {\n public readonly name: string;\n public readonly subcategories: string[];\n\n\n private constructor(dto: ICategoryDto) {\n this.name = dto.name;\n this.subcategories = dto.subcategories;\n }\n\n public static fromDto(dto: ICategoryDto): Category{\n return new Category(dto);\n }\n\n public toDto(): ICategoryDto {\n return {\n name: this.name,\n subcategories: this.subcategories\n };\n }\n}","import { Component } from \"types-vue\";\nimport Vue from \"vue\";\n\nexport interface FileDownloadOptions {\n base64: boolean;\n}\n\n@Component\nexport default class FileDownloadMixin extends Vue {\n\n protected async downloadFile(fileName: string, content: string, options?: FileDownloadOptions): Promise {\n const base64 = options?.base64 ?? false;\n const element = document.createElement(\"a\");\n element.setAttribute(\"href\", `data:application/octet-stream;charset=utf-8${base64 ? ';base64' : ''},` + encodeURIComponent(content));\n element.setAttribute(\"download\", fileName);\n element.style.display = \"none\";\n document.body.appendChild(element);\n element.click();\n document.body.removeChild(element);\n }\n\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(false),expression:\"false\"}]})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Prop } from \"types-vue\";\nimport { Utils } from \"@Core/Utils/Utils\";\nimport Debounce from \"lodash.debounce\";\nimport IsEqual from \"lodash.isequal\";\nimport Clone from \"lodash.clonedeep\";\nimport Vue from \"vue\";\n\ntype ParamValue = string | string[];\n\nexport interface Serializer {\n deserialize(param: ParamValue, defVal?: T): T;\n serialize(value: T): ParamValue;\n}\n\nexport const DateSerializer: Serializer = {\n deserialize(param?: string): Date { \n return isNaN(Number(param)) ? null : new Date(Number(param)); \n },\n serialize(value?: Date): string | undefined { \n return value?.getTime().toString() || undefined; \n }\n}\n\nexport const StringSerializer: Serializer = {\n deserialize(param: ParamValue, defVal: string = null): string { \n return !!param ? Utils.isArray(param) ? param.join(\", \") : param : defVal; \n },\n serialize(value: any): ParamValue { \n return !!value ? String(value) : undefined; \n }\n}\n\nexport const NumberSerializer: Serializer = {\n deserialize(param: ParamValue, defVal: number = 0): number { \n return isNaN(Number(param)) ? defVal : Number(param); \n },\n serialize(value: number): ParamValue { \n return !!value ? String(value) : undefined; \n }\n}\n\nexport const StringArraySerializer: Serializer = {\n deserialize(param: ParamValue): string[] { \n return !!param ? Utils.isArray(param) ? param : [param] : []; \n },\n serialize(value: string[]): ParamValue { \n return value || undefined; \n }\n}\n\nexport const NumberArraySerializer: Serializer = {\n deserialize(param: ParamValue): number[] { \n return !!param ? Utils.isArray(param) ? param.map(Number) : [Number(param)] : []; \n },\n serialize(value: number[]): ParamValue { \n return value.map(String) || undefined; \n }\n}\n\nexport const BooleanSerializer: Serializer = {\n deserialize(param: ParamValue): boolean { \n return param === \"true\" \n },\n serialize(value: boolean): ParamValue { \n return value === true ? \"true\" : undefined; \n }\n}\n\n@Component\nexport default class QueryParam extends Vue {\n\n @Prop({ type: String, required: true })\n protected name: string;\n\n @Prop({ default: null })\n protected default: any;\n\n @Prop({ required: true, default: null })\n protected value: any;\n\n @Prop({ type: Number, default: 0 })\n protected delay: number;\n\n @Prop({ type: String, default: \"string\" })\n protected type: \"string\" | \"number-array\" | \"string-array\" | \"boolean\" | \"number\" | \"date\";\n\n @Prop({ type: Object, default: null })\n protected serializer: Serializer;\n\n protected init: boolean = false;\n\n protected created() {\n this.$watch(\"value\", this.debouncedSerialize, { deep: true, immediate: true });\n this.$watch(`$route.query.${this.name}`, this.deserialize, { immediate: true });\n }\n\n protected get typeSerializer(): Serializer | undefined {\n switch (this.type) {\n case \"number-array\": return NumberArraySerializer;\n case \"string-array\": return StringArraySerializer;\n case \"boolean\": return BooleanSerializer;\n case \"number\": return NumberSerializer;\n case \"date\": return DateSerializer;\n default: return StringSerializer;\n }\n }\n\n private deserialize(paramVal: string | string[] = this.$route.query[this.name], oldParamVal: string | string[]) {\n if (IsEqual(paramVal, oldParamVal)) { return; }\n const serializer = !!this.serializer ? this.serializer : this.typeSerializer;\n let newValue = serializer.deserialize(paramVal, this.default);\n \n if (!this.init) {\n newValue = newValue ?? this.value;\n this.serialize(newValue);\n } \n \n if (!IsEqual(newValue, this.value)) {\n this.$emit(\"input\", newValue);\n this.$emit(\"update:value\", newValue);\n }\n \n this.init = true;\n }\n\n private get debouncedSerialize(): (value?: any) => void {\n return Debounce(this.serialize, this.delay);\n }\n\n private async serialize(value: any = this.value) {\n const query = Clone(this.$route.query);\n const serializer = !!this.serializer ? this.serializer : this.typeSerializer;\n query[this.name] = serializer.serialize(value);\n this.$router.replace({ query }).catch(e => e);\n }\n\n}","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./QueryParam.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./QueryParam.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./QueryParam.vue?vue&type=template&id=740213b6&\"\nimport script from \"./QueryParam.ts?vue&type=script&lang=ts&\"\nexport * from \"./QueryParam.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('licensing.licenses-view',{attrs:{\"filters\":_vm.filters,\"service-id\":_vm.serviceId},on:{\"select\":_vm.viewDetails,\"select-contract\":_vm.viewContract},scopedSlots:_vm._u([{key:\"host-filters\",fn:function(ref){\nvar data = ref.data;\nvar size = ref.size;\nvar disabled = ref.disabled;\nreturn _c('emory.host-filters-panel-extension',{attrs:{\"filters\":_vm.filters.hosts,\"data\":data,\"size\":size,\"disabled\":disabled}})}},{key:\"expand\",fn:function(ref){\nvar license = ref.license;\nvar exchangeStatus = ref.exchangeStatus;\nreturn _c('licensing.license-summary',{attrs:{\"license\":license,\"expand\":\"\"}},[_c('div',{staticClass:\"flex content-space-between\"},[_c('div',{staticClass:\"flex-inline space-x-8\"},[_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"primary\",\"icon\":\"el-icon-more\"},on:{\"click\":function($event){return _vm.viewDetails(license)}}},[_c('span',[_vm._v(\"View license details\")])]),(_vm.permissions.CanListContracts\n && license.isOwnedByOrg(_vm.currentOrg))?_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"text\"},on:{\"click\":function($event){return _vm.viewContract(license)}}},[_c('ion-icon',{staticClass:\"mr-8\",attrs:{\"name\":\"receipt-outline\"}}),_c('span',[_vm._v(\"View license contract\")])],1):_vm._e()],1),(_vm.permissions.CanRegisterHosts && (!exchangeStatus.isShared || exchangeStatus.isSharedToCurrentOrg))?_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"default\",\"disabled\":!license.hasAvailability},on:{\"click\":function($event){return _vm.$refs.hostRegistrationDialog.open(license)}}},[_c('ion-icon',{staticClass:\"mr-6\",attrs:{\"name\":\"link-outline\"}}),_c('span',[_vm._v(\"Register a host\")])],1):_vm._e()],1)])}}])},[_c('core.query-param',{attrs:{\"name\":\"ip\",\"type\":\"string-array\"},model:{value:(_vm.filters.hosts.ips),callback:function ($$v) {_vm.$set(_vm.filters.hosts, \"ips\", $$v)},expression:\"filters.hosts.ips\"}}),_c('core.query-param',{attrs:{\"name\":\"version\",\"type\":\"string-array\"},model:{value:(_vm.filters.hosts.versions),callback:function ($$v) {_vm.$set(_vm.filters.hosts, \"versions\", $$v)},expression:\"filters.hosts.versions\"}}),(_vm.permissions.CanRequestTrial)?_c('emory.emory-trial-dialog',{ref:\"trialDialog\"}):_vm._e(),(_vm.permissions.CanRegisterHosts)?_c('licensing.host-registration-dialog',{ref:\"hostRegistrationDialog\",attrs:{\"service-id\":_vm.serviceId,\"encrypted\":\"\"}}):_vm._e(),_c('core.empty',{attrs:{\"slot\":\"empty\"},slot:\"empty\"},[_c('span',[_vm._v(\"You have no licenses.\")]),_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"reader-outline\"},slot:\"icon\"}),(_vm.permissions.CanPurchaseContracts || (_vm.permissions.CanRequestTrial && !!_vm.emoryTrialInfo && _vm.emoryTrialInfo.canApply))?_c('div',[_c('el-divider',{staticClass:\"m-y-16 mt-0\"}),_c('div',{staticClass:\"flex space-x-16 p-x-16\"},[(_vm.permissions.CanPurchaseContracts)?_c('core.purchase-popover',{attrs:{\"size\":\"small\",\"placement\":\"top\"}}):_vm._e(),(_vm.permissions.CanRequestTrial && !!_vm.emoryTrialInfo && _vm.emoryTrialInfo.canApply)?_c('el-button',{attrs:{\"size\":\"small\"},on:{\"click\":function($event){return _vm.$refs.trialDialog.open()}}},[_c('ion-icon',{staticClass:\"mr-6\",attrs:{\"name\":\"flask\"}}),_c('span',[_vm._v(\"Start your trial\")])],1):_vm._e()],1)],1):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { EmoryLicenseFilters } from \"@Service/Emory/Models/Filters/EmoryLicenseFilters.model\";\nimport { Permission } from \"@Module/Auth/Models/Roles/Permissions.model\";\nimport { AccessRole } from \"@Module/Auth/Models/Roles/AccessRole.model\";\nimport { EmoryLicense } from \"@Service/Emory/Models/EmoryLicense.model\";\nimport { Organization } from \"@Module/Orgs/Models/Organization.model\";\nimport { TrialInfo } from \"@Module/Trial/Models/TrialInfo.model\";\nimport TrialStore from \"@Module/Trial/Store/Trial.store\";\nimport AuthStore from \"@Module/Auth/Store/Auth.store\";\nimport OrgsStore from \"@Module/Orgs/Store/Orgs.store\";\nimport { Component, MapGetter } from \"types-vue\";\nimport { ServiceID } from \"@Service/ServiceID\";\nimport Vue from \"vue\";\n\n@Component\nexport default class EmoryLicenses extends Vue {\n protected serviceId: ServiceID = ServiceID.Emory;\n\n @MapGetter(OrgsStore.Mapping)\n protected currentOrg: Organization;\n\n @MapGetter(AuthStore.Mapping)\n protected accessRole: AccessRole;\n\n @MapGetter(TrialStore.Mapping)\n protected emoryTrialInfo: TrialInfo;\n \n protected filters = EmoryLicenseFilters.create();\n\n protected viewDetails(license: EmoryLicense) {\n this.$router.push({ \n name: \"backup-license-details\", \n params: { id: license.id.toString() }\n });\n }\n\n protected viewContract(license: EmoryLicense) {\n this.$router.push({\n name: \"backup-contract-details\",\n params: { id: license.contractId.toString() }\n });\n }\n\n protected get permissions() {\n return {\n CanListContracts: this.accessRole.can(this.serviceId, Permission.ListContracts),\n CanRegisterHosts: this.accessRole.can(this.serviceId, Permission.RegisterHost),\n CanPurchaseContracts: this.accessRole.can(this.serviceId, Permission.PurchaseContract),\n CanRequestTrial: this.accessRole.can(this.serviceId, Permission.RequestTrial)\n }\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./EmoryLicenses.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./EmoryLicenses.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./EmoryLicenses.vue?vue&type=template&id=08881e8e&\"\nimport script from \"./EmoryLicenses.ts?vue&type=script&lang=ts&\"\nexport * from \"./EmoryLicenses.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FinancialInfoDialog.vue?vue&type=style&index=0&id=e683d296&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-form',{ref:\"form\",staticClass:\"create-org-form space-y-16\",staticStyle:{\"position\":\"relative\"},attrs:{\"spellcheck\":\"false\",\"disabled\":_vm.createOrUpdate.loading,\"model\":_vm.internalValue,\"rules\":_vm.validationRules,\"label-position\":\"top\"}},[(!!_vm.parentOrg)?_c('core.alert',{attrs:{\"type\":\"info\",\"closable\":false,\"plain\":\"\",\"compact\":\"\"}},[_c('H3',{attrs:{\"slot\":\"title\"},slot:\"title\"},[_vm._v(\"Parent organization\")]),_c('orgs.org-summary',{attrs:{\"org\":_vm.parentOrg}})],1):_vm._e(),(_vm.isUpdateMode)?_c('core.details',{attrs:{\"label\":\"Organization name\",\"value\":_vm.value.name}}):_c('el-form-item',{staticClass:\"flex-3\",attrs:{\"label\":\"Organization name\",\"prop\":\"name\",\"required\":\"\"}},[_c('el-input',{attrs:{\"placeholder\":\"Enter a name\",\"clearable\":\"\"},model:{value:(_vm.value.name),callback:function ($$v) {_vm.$set(_vm.value, \"name\", $$v)},expression:\"value.name\"}})],1),_c('core.details',[_c('core.label',{attrs:{\"slot\":\"label\",\"value\":\"Organization domain\",\"icon-position\":\"end\",\"icon-spacing\":\"5px\",\"icon-y-offset\":\"3px\",\"icon-size\":\"15px\",\"type\":\"inherit\"},slot:\"label\"},[_c('el-tooltip',{attrs:{\"slot\":\"icon\",\"effect\":\"light\",\"placement\":\"top\",\"transition\":\"el-zoom-in-bottom\",\"enterable\":false},slot:\"icon\"},[_c('div',{attrs:{\"slot\":\"content\"},slot:\"content\"},[_vm._v(\"The organization domain, if provided, allows us to offer suggested organizations to new registered users whose email address domain match the given organization domain. These users will be able to request access to your organization.\")]),_c('ion-icon',{attrs:{\"name\":\"information-circle-outline\"}})],1)],1),_c('el-form-item',{staticClass:\"flex-2\",attrs:{\"prop\":\"domain\"}},[_c('el-input',{attrs:{\"placeholder\":(\"Enter a domain (i.e. \" + (_vm.parentDomain || _vm.emailDomain) + \")\"),\"clearable\":\"\"},model:{value:(_vm.value.domain),callback:function ($$v) {_vm.$set(_vm.value, \"domain\", $$v)},expression:\"value.domain\"}},[_c('ion-icon',{staticClass:\"domain-icon\",attrs:{\"slot\":\"prepend\",\"name\":\"folder-outline\"},slot:\"prepend\"}),(_vm.canAssignParentDomain || _vm.canAssignUserDomain)?_c('span',{staticClass:\"space-x-4\",attrs:{\"slot\":\"suffix\"},slot:\"suffix\"},[(_vm.canAssignParentDomain)?_c('el-tooltip',{attrs:{\"effect\":\"light\",\"placement\":\"top\",\"transition\":\"el-zoom-in-bottom\",\"enterable\":false}},[_c('span',{attrs:{\"slot\":\"content\"},slot:\"content\"},[_vm._v(\"Assign parent organization domain (\"),_c('span',{staticClass:\"text-semibold\"},[_vm._v(_vm._s(_vm.parentDomain))]),_vm._v(\")\")]),_c('el-button',{attrs:{\"size\":\"mini\",\"type\":\"text\",\"icon\":\"el-icon-office-building\"},on:{\"click\":function($event){_vm.value.domain = _vm.parentDomain}}})],1):_vm._e(),(_vm.canAssignUserDomain)?_c('el-tooltip',{attrs:{\"effect\":\"light\",\"placement\":\"top\",\"transition\":\"el-zoom-in-bottom\",\"enterable\":false}},[_c('span',{attrs:{\"slot\":\"content\"},slot:\"content\"},[_vm._v(\"Assign my email address domain (\"),_c('span',{staticClass:\"text-semibold\"},[_vm._v(_vm._s(_vm.emailDomain))]),_vm._v(\")\")]),_c('el-button',{attrs:{\"size\":\"mini\",\"type\":\"text\",\"icon\":\"el-icon-user\"},on:{\"click\":function($event){_vm.value.domain = _vm.emailDomain}}})],1):_vm._e()],1):_vm._e()],1)],1)],1),(_vm.permissions.CanMarkOrgAsTest)?_c('el-form-item',{attrs:{\"prop\":\"isTest\"}},[_c('el-checkbox',{attrs:{\"label\":\"Organization for testing purposes\"},model:{value:(_vm.value.isTest),callback:function ($$v) {_vm.$set(_vm.value, \"isTest\", $$v)},expression:\"value.isTest\"}})],1):_vm._e(),_c('transition',{attrs:{\"name\":\"el-zoom-in-top\"}},[(!!_vm.createOrUpdate.error)?_c('core.alert',{attrs:{\"type\":\"error\",\"description\":_vm.createOrUpdate.error.message,\"plain\":\"\"}}):_vm._e()],1),_c('div',{staticClass:\"flex space-x-8 pt-4\"},[_c('div',{staticClass:\"flex-1\"},[(_vm.hasUncommittedChanges && _vm.isUpdateMode)?_c('el-button',{on:{\"click\":function($event){return _vm.internalValue.discardUncommittedChanges()}}},[_c('span',[_vm._v(\"Discard changes\")])]):_vm._e()],1),_c('div',{staticClass:\"flex content-end space-x-8\"},[_vm._t(\"footer\",null,{\"loading\":_vm.createOrUpdate.loading}),_c('el-button',{attrs:{\"disabled\":!_vm.validOrgModel || _vm.formWithErrors || !_vm.hasUncommittedChanges,\"loading\":_vm.createOrUpdate.loading,\"type\":\"primary\"},on:{\"click\":_vm.createOrUpdate.run}},[(_vm.createOrUpdate.loading)?[(_vm.isUpdateMode)?_c('span',[_vm._v(\"Updating\")]):_c('span',[_vm._v(\"Creating\")])]:[(_vm.isUpdateMode)?_c('span',[_vm._v(\"Update organization\")]):_c('span',[_vm._v(\"Create organization\")])]],2)],2)])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, MapAction, MapGetter, mixins, Prop, Watch } from \"types-vue\";\nimport { Permission } from \"@Module/Auth/Models/Roles/Permissions.model\";\nimport { AccessRole } from \"@Module/Auth/Models/Roles/AccessRole.model\"\nimport NavigationStore from \"@Core/Store/Navigation/Navigation.store\";\nimport { Organization } from \"@Module/Orgs/Models/Organization.model\";\nimport AppRestartMixin from \"@Core/Mixins/AppRestart.mixin\";\nimport { ConsoleRoute } from \"@Core/Models/ConsoleRoute\";\nimport UsersStore from \"@Module/Users/Store/Users.store\";\nimport { User } from \"@Module/Users/Models/User.model\";\nimport AuthStore from \"@Module/Auth/Store/Auth.store\";\nimport OrgsStore from \"@Module/Orgs/Store/Orgs.store\";\nimport { Execution } from \"@Core/Models/Execution\";\nimport { ElForm } from \"element-ui/types/form\";\nimport { ServiceID } from \"@Service/ServiceID\";\nimport { Notify } from \"@Core/Utils/Notify\";\nimport { Utils } from \"@Core/Utils/Utils\";\n\n@Component\nexport default class OrgEditorForm extends mixins(AppRestartMixin) {\n\n @Prop({ type: Object, default: () => Organization.create() })\n protected value: Organization;\n\n @MapGetter(UsersStore.Mapping)\n protected sessionUser: User;\n\n @MapGetter(AuthStore.Mapping)\n protected accessRole: AccessRole;\n\n @MapGetter(NavigationStore.Mapping)\n protected currentRoute: ConsoleRoute;\n\n @MapGetter(OrgsStore.Mapping)\n protected orgs: Organization[];\n\n @MapGetter(OrgsStore.Mapping)\n protected noOrganization: boolean;\n\n @MapAction(OrgsStore.Mapping)\n protected createOrg: (org: Organization) => Promise;\n\n @MapAction(OrgsStore.Mapping)\n protected updateOrg: (org: Organization) => Promise;\n\n @MapAction(OrgsStore.Mapping)\n protected fetchOrgRoles: () => Promise;\n\n protected internalValue: Organization = null;\n\n protected get isUpdateMode(): boolean {\n return this.value.isRemote;\n }\n\n protected createOrUpdate = Execution.create(async () => {\n if (this.isUpdateMode) {\n await this.updateExistingOrg();\n } else {\n await this.createNewOrg();\n }\n });\n\n private async createNewOrg() {\n await this.createOrg(this.value);\n if (this.noOrganization) {\n this.promptAppRestart();\n await Utils.sleep(100);\n } else {\n await this.fetchOrgRoles();\n }\n Notify.Success({\n title: \"Organization created\",\n message: `Organization ${this.value.name} has been successfully created.`,\n duration: 6000\n });\n this.$emit(\"success\", this.value);\n }\n\n private async updateExistingOrg() {\n await this.updateOrg(this.value);\n Notify.Success({\n title: \"Organization updated\",\n message: `Organization ${this.value.name} has been successfully updated.`,\n duration: 6000\n });\n this.$emit(\"success\", this.value);\n }\n\n protected get parentOrg(): Organization {\n return this.orgs.find(org => org.id === this.value.parentId);\n }\n \n protected domainRegexp = /^(?!-)[A-Za-z0-9-]+([\\-\\.]{1}[a-z0-9]+)*\\.[A-Za-z]{2,6}$/;\n protected validationRules = {\n name: [{ required: true, message: \"Please enter an organization name.\", trigger: [\"change\", \"blur\"] }],\n domain: [{ validator: this.validateOrgDomain, trigger: [\"change\", \"blur\"] }]\n };\n\n protected validateOrgDomain(rule: any, value: string, callback: (error?: Error) => void): void {\n const validDomain = !value || this.domainRegexp.test(value);\n return validDomain \n ? callback() \n : callback(new Error(\"Please enter a valid organization domain (i.e. my-org.com).\"));\n }\n\n @Watch(\"internalValue\", { deep: true })\n protected onInternalValueChange(newValue: Organization) {\n this.$emit(\"input\", newValue);\n this.$emit(\"update:value\", newValue);\n }\n\n @Watch(\"value\", { immediate: true })\n protected onValueChange(newValue: Organization) {\n this.internalValue = newValue;\n }\n\n @Watch(\"createOrUpdate.loading\")\n protected onLoading(loading: boolean) {\n this.$emit(\"loading\", loading);\n }\n\n public reset() {\n (this.$refs.form as ElForm)?.clearValidate();\n }\n\n protected get emailDomain(): string {\n return this.sessionUser.username.split(\"@\").pop();\n }\n\n protected get parentDomain(): string | undefined {\n return this.parentOrg?.domain;\n }\n\n protected get formWithErrors(): boolean {\n return (this.$refs.form as any)?.fields?.some((item: any) => item.validateState === \"error\") || false;\n }\n\n protected get validOrgModel(): boolean {\n return !!this.internalValue.name;\n }\n\n protected get hasUncommittedChanges(): boolean {\n return this.internalValue.hasUncommittedChanges;\n }\n\n protected get canAssignParentDomain(): boolean {\n return !!this.parentDomain && this.internalValue.domain !== this.parentDomain;\n }\n\n protected get canAssignUserDomain(): boolean {\n return this.internalValue.domain !== this.emailDomain \n && this.parentDomain !== this.emailDomain;\n }\n\n protected get permissions() {\n return {\n CanMarkOrgAsTest: this.accessRole.can(ServiceID.Console, Permission.MarkOrgAsTest)\n }\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./OrgEditorForm.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./OrgEditorForm.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OrgEditorForm.vue?vue&type=template&id=69c328b9&scoped=true&\"\nimport script from \"./OrgEditorForm.ts?vue&type=script&lang=ts&\"\nexport * from \"./OrgEditorForm.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./OrgEditorForm.vue?vue&type=style&index=0&id=69c328b9&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"69c328b9\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"contracts-summary-filters space-y-8\"},[_c('core.query-param',{attrs:{\"name\":\"status\",\"type\":\"string-array\"},model:{value:(_vm.value.status),callback:function ($$v) {_vm.$set(_vm.value, \"status\", $$v)},expression:\"value.status\"}}),_c('core.query-param',{attrs:{\"name\":\"origin\",\"type\":\"string-array\"},model:{value:(_vm.value.origins),callback:function ($$v) {_vm.$set(_vm.value, \"origins\", $$v)},expression:\"value.origins\"}}),_c('core.query-param',{attrs:{\"name\":\"service\",\"type\":\"string-array\"},model:{value:(_vm.value.services),callback:function ($$v) {_vm.$set(_vm.value, \"services\", $$v)},expression:\"value.services\"}}),_c('core.query-param',{attrs:{\"name\":\"dimension\",\"serializer\":_vm.dimensionArrayParamSerializer},model:{value:(_vm.value.dimensions),callback:function ($$v) {_vm.$set(_vm.value, \"dimensions\", $$v)},expression:\"value.dimensions\"}}),_c('core.query-param',{attrs:{\"name\":\"test\",\"type\":\"boolean\"},model:{value:(_vm.value.withTests),callback:function ($$v) {_vm.$set(_vm.value, \"withTests\", $$v)},expression:\"value.withTests\"}}),_c('core.query-param',{attrs:{\"name\":\"onlyhosts\",\"type\":\"boolean\"},model:{value:(_vm.value.onlyWithHosts),callback:function ($$v) {_vm.$set(_vm.value, \"onlyWithHosts\", $$v)},expression:\"value.onlyWithHosts\"}}),_c('core.details',{attrs:{\"label\":\"Service\"}},[_c('el-select',{attrs:{\"size\":_vm.size,\"disabled\":_vm.disabled,\"placeholder\":\"Filter by service\",\"no-match-text\":\"No matching service\",\"default-first-option\":\"\",\"clearable\":\"\",\"filterable\":\"\",\"multiple\":\"\"},model:{value:(_vm.value.services),callback:function ($$v) {_vm.$set(_vm.value, \"services\", $$v)},expression:\"value.services\"}},_vm._l((_vm.servicesWithLicensing),function(service){return _c('el-option',{key:service,attrs:{\"value\":service,\"label\":_vm.serviceName(service)}})}),1)],1),_c('core.details',{attrs:{\"label\":\"Product\"}},[_c('el-tooltip',{attrs:{\"effect\":\"light\",\"placement\":\"top\",\"content\":\"Select a service to filter by its available product.\",\"no-match-text\":\"No matching dimension\",\"open-delay\":500,\"enterable\":false,\"disabled\":_vm.disabled || _vm.value.services.length > 0}},[_c('licensing.dimension-selector',{attrs:{\"placeholder\":\"Filter by dimension\",\"disabled\":_vm.disabled || _vm.value.services.length === 0,\"service-id\":_vm.value.services,\"size\":_vm.size,\"multiple\":\"\",\"clearable\":\"\",\"filterable\":\"\",\"no-icon\":\"\"},model:{value:(_vm.value.dimensions),callback:function ($$v) {_vm.$set(_vm.value, \"dimensions\", $$v)},expression:\"value.dimensions\"}})],1)],1),_c('core.details',{attrs:{\"label\":\"Origin\"}},[_c('licensing.origin-selector',{attrs:{\"size\":_vm.size,\"disabled\":_vm.disabled,\"multiple\":\"\",\"filterable\":\"\",\"clearable\":\"\"},model:{value:(_vm.value.origins),callback:function ($$v) {_vm.$set(_vm.value, \"origins\", $$v)},expression:\"value.origins\"}})],1),_c('core.details',{attrs:{\"label\":\"Status\"}},[_c('licensing.status-selector',{attrs:{\"type\":\"select\",\"options\":_vm.allLicensingStatus,\"size\":_vm.size,\"disabled\":_vm.disabled,\"filterable\":\"\",\"clearable\":\"\",\"multiple\":\"\"},model:{value:(_vm.value.status),callback:function ($$v) {_vm.$set(_vm.value, \"status\", $$v)},expression:\"value.status\"}})],1),_c('div',{staticClass:\"pt-4 space-y-8\"},[_c('el-checkbox',{attrs:{\"size\":_vm.size,\"disabled\":_vm.disabled,\"label\":\"Include test organizations\",\"border\":\"\"},model:{value:(_vm.value.withTests),callback:function ($$v) {_vm.$set(_vm.value, \"withTests\", $$v)},expression:\"value.withTests\"}}),_c('el-checkbox',{attrs:{\"size\":_vm.size,\"disabled\":_vm.disabled,\"label\":\"Only with hosts\",\"border\":\"\"},model:{value:(_vm.value.onlyWithHosts),callback:function ($$v) {_vm.$set(_vm.value, \"onlyWithHosts\", $$v)},expression:\"value.onlyWithHosts\"}}),_c('div',{staticClass:\"pt-4 space-y-8\"},[_c('el-checkbox',{attrs:{\"size\":_vm.size,\"disabled\":_vm.disabled,\"label\":\"Only pocs\",\"border\":\"\"},model:{value:(_vm.value.onlyPocs),callback:function ($$v) {_vm.$set(_vm.value, \"onlyPocs\", $$v)},expression:\"value.onlyPocs\"}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { ContractsSummaryFilters } from \"@Module/Licensing/Models/ContractsSummaryFilters.model\";\nimport { LicensingStatusPhase } from \"@Module/Licensing/Models/LicensingStatus.model\";\nimport { UISize } from \"@Service/Settings/Store/AppSettings/AppSettings.state\";\nimport { ContractOrigin } from \"@Module/Licensing/Models/ContractOrigin\";\nimport LicensingStore from \"@Module/Licensing/Store/Licensing.store\";\nimport { Dimension } from \"@Module/Licensing/Models/Dimension.model\";\nimport { Serializer } from \"@Core/Components/QueryParam/QueryParam\";\nimport { Component, MapGetter, Prop, Watch } from \"types-vue\";\nimport { ServiceID } from \"@Service/ServiceID\";\nimport Vue from \"vue\";\n\n@Component\nexport default class ContractsSummaryFiltersPanel extends Vue {\n\n @Prop({ type: Object, required: true })\n protected value: ContractsSummaryFilters;\n\n @Prop({ type: String, default: null })\n protected size: UISize;\n\n @Prop({ type: Boolean, default: false })\n protected disabled: boolean;\n\n @MapGetter(LicensingStore.Mapping)\n protected dimensionArrayParamSerializer: Serializer;\n\n protected servicesWithLicensing: ServiceID[] = ServiceID.WithLicensing;\n protected contractOrigins: ContractOrigin[] = ContractOrigin.All;\n protected allLicensingStatus: LicensingStatusPhase[] = LicensingStatusPhase.All;\n\n protected serviceName(service: ServiceID): string {\n return ServiceID.nameOf(service);\n }\n\n protected originName(origin: ContractOrigin): string {\n return ContractOrigin.nameOf(origin);\n }\n\n @Watch(\"value.services\", { immediate: true })\n protected onServiceFilterChange(services: ServiceID[]) {\n if (services.length === 0) {\n this.value.dimensions = [];\n }\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./ContractsSummaryFiltersPanel.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./ContractsSummaryFiltersPanel.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ContractsSummaryFiltersPanel.vue?vue&type=template&id=b0b61256&\"\nimport script from \"./ContractsSummaryFiltersPanel.ts?vue&type=script&lang=ts&\"\nexport * from \"./ContractsSummaryFiltersPanel.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContractsView.vue?vue&type=style&index=0&id=9ea440d2&lang=scss&scoped=true&\"","import Axios, { AxiosInstance, AxiosInterceptorManager, AxiosRequestConfig, AxiosResponse } from 'axios'\nimport { Organization } from '@Module/Orgs/Models/Organization.model';\nimport _Vue from 'vue'\n\nexport default class AxiosAPI {\n public static readonly axios: AxiosInstance = Axios.create({ unauthenticated: false });\n public static readonly awsAxios: AxiosInstance = Axios.create({ unauthenticated: false });\n\n protected get axios(): AxiosInstance {\n return AxiosAPI.axios;\n }\n\n protected get awsAxios(): AxiosInstance {\n return AxiosAPI.awsAxios;\n } \n\n public static getOrgUUID(): string {\n return this.axios.defaults?.params?.orguuid;\n }\n\n public static getOrgID(): string {\n return this.axios.defaults?.params?.orgId;\n }\n\n public static setOrganization(org?: Organization) {\n this.axios.defaults.params ??= {};\n this.axios.defaults.params.orguuid = org?.uuid;\n this.axios.defaults.params.orgId = org?.id;\n }\n\n public static setToken(token?: string) {\n const authToken = !!token ? `Bearer ${token}` : undefined;\n this.axios.defaults.headers.common[\"Authorization\"] = authToken;\n }\n\n public static get requestInterceptor(): AxiosInterceptorManager {\n return AxiosAPI.axios.interceptors.request;\n }\n\n public static get responseInterceptor(): AxiosInterceptorManager {\n return AxiosAPI.axios.interceptors.response;\n }\n}","import AxiosAPI from \"@Core/API/AxiosAPI\";\n\nexport interface ConsoleErrorOptions {\n cause?: Error;\n meta?: TMeta;\n fatal?: boolean;\n}\n\nexport class ConsoleError extends Error {\n public readonly orguuid: string;\n public readonly id: string;\n public readonly cause?: Error;\n public readonly meta?: TMeta;\n public readonly isFatal: boolean;\n\n public constructor(message: string, options?: ConsoleErrorOptions) {\n super(message);\n this.cause = options?.cause;\n this.meta = options?.meta;\n this.isFatal = options?.fatal ?? false;\n this.orguuid = AxiosAPI.getOrgUUID();\n this.orguuid = AxiosAPI.getOrgID();\n Object.setPrototypeOf(this, new.target.prototype);\n }\n\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"trial-status\",class:_vm.trialStatusClass},[_c('div',{staticClass:\"progress-wrap flex items-center space-x-8\"},[_c('core.label',{staticClass:\"trial-title text-uppercase\",attrs:{\"icon-size\":\"12px\"}},[_c('ion-icon',{staticClass:\"flask-icon\",attrs:{\"slot\":\"icon\",\"name\":\"flask\"},slot:\"icon\"}),_c('core.label',{attrs:{\"icon-position\":\"end\",\"icon-spacing\":\"4px\",\"icon-size\":\"12px\"}},[_c('H5',[_vm._v(_vm._s(_vm.title))]),_c('el-tooltip',{attrs:{\"slot\":\"icon\",\"placement\":\"top\",\"effect\":\"dark\",\"open-delay\":500},slot:\"icon\"},[_c('span',{attrs:{\"slot\":\"content\"},slot:\"content\"},[_vm._v(_vm._s(_vm._f(\"pluralize\")((_vm.duration + \" day\"),_vm.duration))+\" trial\")]),_c('i',{staticClass:\"el-icon-time\"})])],1)],1),_c('el-progress',{staticClass:\"flex-1\",attrs:{\"percentage\":_vm.percentageUsed,\"stroke-width\":3,\"show-text\":false,\"status\":_vm.progressStyle}}),_c('core.label',{staticClass:\"expiration-label\",attrs:{\"icon-position\":\"end\",\"icon-size\":\"12px\",\"icon-spacing\":\"4px\"}},[_c('span',{staticClass:\"remaining-label\"},[_vm._v(_vm._s(_vm.expirationText))]),_c('el-tooltip',{attrs:{\"slot\":\"icon\",\"content\":_vm.trial.expiration.format('DD/MM/YYYY HH:mm:ss'),\"placement\":\"top\",\"effect\":\"dark\",\"open-delay\":500},slot:\"icon\"},[_c('i',{staticClass:\"el-icon-time\"})])],1)],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { TrialInfo } from \"@Module/Trial/Models/TrialInfo.model\";\nimport AppSettingsStore from \"@Service/Settings/Store/AppSettings/AppSettings.store\";\nimport { Component, MapGetter, Prop } from \"types-vue\";\nimport Vue from \"vue\";\n\n@Component\nexport default class TrialStatus extends Vue {\n\n @MapGetter(AppSettingsStore.Mapping)\n protected isPlainUi: boolean;\n\n @Prop({ type: Object, required: true })\n protected trial: TrialInfo;\n\n @Prop({ type: Number, required: true })\n protected duration: number;\n\n @Prop({ type: String, default: \"Trial\" })\n protected title: string;\n\n @Prop({ type: Boolean, default: false })\n protected bordered: boolean;\n\n protected get progressStyle(): string {\n if (this.percentageUsed === 100) { return \"exception\" }\n else if (this.trial.remainingDays <= 5) { return \"warning\"; }\n else { return null; };\n }\n\n protected get percentageUsed(): number {\n const durSeconds = this.duration * 24 * 60 * 60;\n const used = durSeconds - this.trial.remainingSeconds;\n const rawPercentage = (100 * used) / durSeconds;\n return Math.min(Math.abs(rawPercentage), 100);\n }\n\n protected get expirationText(): string {\n if (this.percentageUsed === 100) {\n return `Expired ${this.trial.expiration.startOf(\"second\").toNow()}`;\n } else {\n return `Expires ${this.trial.expiration.startOf(\"second\").fromNow()}`;\n }\n }\n\n protected get trialStatusClass() {\n return {\n \"is-bordered\": this.bordered\n }\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./TrialStatus.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./TrialStatus.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TrialStatus.vue?vue&type=template&id=26dddd30&scoped=true&\"\nimport script from \"./TrialStatus.ts?vue&type=script&lang=ts&\"\nexport * from \"./TrialStatus.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./TrialStatus.vue?vue&type=style&index=0&id=26dddd30&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"26dddd30\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"org-role-editor flex-inline w-full\"},[_c('orgs.org-selector',{staticClass:\"org-selector\",attrs:{\"disabled\":_vm.disabled,\"disabled-items\":_vm.disabledOrgs,\"clearable\":_vm.clearable},on:{\"blur\":function (e) { return _vm.$emit('blur', e); }},model:{value:(_vm.internalValue.organization),callback:function ($$v) {_vm.$set(_vm.internalValue, \"organization\", $$v)},expression:\"internalValue.organization\"}}),_c('orgs.role-selector',{staticClass:\"role-selector\",attrs:{\"disabled\":_vm.disabled,\"clearable\":_vm.clearable,\"default-first-option\":_vm.defaultFirstRole},on:{\"blur\":function (e) { return _vm.$emit('blur', e); }},model:{value:(_vm.internalValue.role),callback:function ($$v) {_vm.$set(_vm.internalValue, \"role\", $$v)},expression:\"internalValue.role\"}},[_c('core.empty',{attrs:{\"slot\":\"empty\",\"description\":\"No matching role\",\"no-icon\":\"\",\"compact\":\"\"},slot:\"empty\"})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { OrganizationRole } from \"@Module/Orgs/Models/Roles/OrganizationRole.model\";\nimport { Organization } from \"@Module/Orgs/Models/Organization.model\";\nimport { Role } from \"@Module/Auth/Models/Roles/AccessRole.model\";\nimport { Component, Prop, Watch } from \"types-vue\";\nimport Vue from \"vue\";\n\n@Component\nexport default class OrgRoleEditor extends Vue {\n\n @Prop({ type: Object, default: () => OrganizationRole.create() })\n protected value: OrganizationRole;\n\n @Prop({ type: Boolean, default: false })\n protected disabled: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected clearable: boolean;\n\n @Prop({ type: Boolean })\n protected defaultFirstRole: boolean;\n\n @Prop({ type: Array, default: null })\n protected roles: Role[] | null;\n\n @Prop({ type: Array, default: () => [] })\n protected disabledOrgs: Organization[];\n\n protected internalValue: OrganizationRole = null;\n\n @Watch(\"internalValue\", { deep: true })\n protected onInternalValueChange(newValue: OrganizationRole) {\n this.$emit(\"input\", newValue);\n this.$emit(\"update:value\", newValue);\n this.$emit(\"select\", newValue);\n this.$emit(\"change\", newValue);\n }\n\n @Watch(\"value\", { immediate: true, deep: true })\n protected onValueChange(newValue: OrganizationRole) {\n this.internalValue = newValue;\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./OrgRoleEditor.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./OrgRoleEditor.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OrgRoleEditor.vue?vue&type=template&id=5f0b48b3&\"\nimport script from \"./OrgRoleEditor.ts?vue&type=script&lang=ts&\"\nexport * from \"./OrgRoleEditor.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./OrgRoleEditor.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('core.layout',{staticClass:\"forbidden\"},[_c('div',{staticClass:\"space-y-24\"},[_c('core.title',{attrs:{\"allow-navigation\":!!_vm.previousRoute},on:{\"back\":function($event){return _vm.$router.back()}}},[_c('core.label',{attrs:{\"value\":\"Forbidden Page\",\"icon-spacing\":\".5rem\"}},[_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"lock-closed\"},slot:\"icon\"})],1)],1),_c('core.redirect-alert',{attrs:{\"seconds\":_vm.seconds,\"redirect-target\":_vm.redirectPath,\"type\":\"error\",\"title\":\"Unauthorized access\",\"description\":\"You don't have enough permission to access this page using the credentials you supplied.\"}})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { ConsoleRoute } from \"@Core/Models/ConsoleRoute\";\nimport NavigationStore from \"@Core/Store/Navigation/Navigation.store\";\nimport { Component, MapGetter, Prop } from \"types-vue\";\nimport Clone from \"lodash.clonedeep\";\nimport Vue from \"vue\";\n\n@Component\nexport default class ForbiddenView extends Vue {\n\n @Prop({ type: Number, default: 5 })\n protected seconds: number;\n\n @Prop({ type: String, default: \"/\" })\n protected redirectTarget: string;\n\n @MapGetter(NavigationStore.Mapping)\n protected currentRoute: ConsoleRoute;\n\n @MapGetter(NavigationStore.Mapping)\n protected previousRoute: ConsoleRoute;\n\n protected redirectOverwrite: string = null;\n\n protected created() {\n this.redirectOverwrite = this.$route.query.redirect as string;\n if (!!this.redirectOverwrite) {\n const query = Clone(this.$route.query);\n delete query.redirect;\n this.$router.replace({ query }).catch(e => e);\n }\n }\n\n protected get redirectPath(): string {\n return this.redirectOverwrite || this.previousRoute?.path || this.redirectTarget || this.currentRoute.redirectPath;\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./ForbiddenView.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./ForbiddenView.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ForbiddenView.vue?vue&type=template&id=34081572&\"\nimport script from \"./ForbiddenView.ts?vue&type=script&lang=ts&\"\nexport * from \"./ForbiddenView.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DataProtectionDialog.vue?vue&type=style&index=0&id=2a6d7d99&lang=scss&scoped=true&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ServiceSelector.vue?vue&type=style&index=1&id=d17f9ca4&lang=scss&scoped=true&\"","import { Organization } from \"@Module/Orgs/Models/Organization.model\";\nimport { LicensingStatusPhase } from \"./LicensingStatus.model\";\nimport { HostFilters } from \"./HostFilters.model\";\nimport { Dimension } from \"./Dimension.model\";\n\nexport class LicenseFilters {\n public search: string;\n public status: LicensingStatusPhase[];\n public dimensions: Dimension[];\n public withAvailability: boolean;\n public onlyWithHosts: boolean;\n public tenants: Organization[];\n public owners: Organization[];\n public hosts: HostFilters;\n \n public static create(): LicenseFilters {\n return new LicenseFilters();\n }\n\n protected constructor() { \n this.initialize();\n }\n\n public reset() { \n this.initialize();\n }\n\n protected initialize() {\n this.search = null;\n this.status = [LicensingStatusPhase.Active];\n this.dimensions = [];\n this.withAvailability = false;\n this.onlyWithHosts = false;\n this.hosts = HostFilters.create();\n this.tenants = [];\n this.owners = [];\n }\n\n public get isFiltering(): boolean {\n return this.search !== null \n || this.onlyWithHosts\n || this.tenants.length > 0\n || this.owners.length > 0\n || this.status.length > 0 \n || this.dimensions.length > 0\n || this.withAvailability === true\n || this.hosts.isFiltering;\n }\n\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('core.layout',{staticClass:\"preview-access\"},[_c('div',{staticClass:\"space-y-24\"},[_c('core.title',{attrs:{\"allow-navigation\":!!_vm.previousRoute},on:{\"back\":function($event){return _vm.$router.back()}}},[_c('core.label',{attrs:{\"value\":\"Forbidden: Preview Access\",\"icon-spacing\":\".5rem\"}},[_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"eye-off\"},slot:\"icon\"})],1)],1),_c('core.alert',{attrs:{\"type\":\"info\",\"title\":\"Preview access required\",\"closable\":false}},[_c('div',[_vm._v(\"This service is temporarily in preview and your user does not have access enabled.\")]),_c('div',[_vm._v(\"If you are interested in joining the service preview, please contact us.\")]),_c('el-button',{attrs:{\"slot\":\"footer\",\"size\":\"mini\"},on:{\"click\":_vm.requestPreviewAccess},slot:\"footer\"},[_c('ion-icon',{staticClass:\"mr-6\",attrs:{\"name\":\"eye\"}}),_c('span',[_vm._v(\"Request preview access\")])],1)],1)],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import NavigationStore from \"@Core/Store/Navigation/Navigation.store\";\nimport { ConsoleRoute } from \"@Core/Models/ConsoleRoute\";\nimport { Component, MapGetter } from \"types-vue\";\nimport Vue from \"vue\";\n\n@Component\nexport default class PreviewAccessView extends Vue {\n\n @MapGetter(NavigationStore.Mapping)\n protected previousRoute: ConsoleRoute;\n\n protected requestPreviewAccess() {\n window.open(`mailto:${process.env.VUE_APP_CONTACT_EMAIL}`);\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./PreviewAccessView.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./PreviewAccessView.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PreviewAccessView.vue?vue&type=template&id=703849c2&\"\nimport script from \"./PreviewAccessView.ts?vue&type=script&lang=ts&\"\nexport * from \"./PreviewAccessView.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('core.alert',{attrs:{\"title\":_vm.title,\"description\":_vm.description,\"type\":\"warning\",\"closable\":false,\"floating\":_vm.floating,\"plain\":_vm.plain,\"compact\":_vm.compact,\"show-icon\":_vm.showIcon}},[_vm._t(\"title\",null,{\"slot\":\"title\",\"goToOrgSetup\":_vm.goToOrganizationSetup}),_vm._t(\"default\",null,{\"goToOrgSetup\":_vm.goToOrganizationSetup}),(_vm.shouldShowSetupButton || !!_vm.$slots.footer)?_c('div',{staticClass:\"flex items-center space-x-8\",attrs:{\"slot\":\"footer\",\"goToOrgSetup\":_vm.goToOrganizationSetup},slot:\"footer\"},[(_vm.shouldShowSetupButton)?_c('el-button',{attrs:{\"icon\":\"el-icon-office-building\",\"size\":\"mini\"},on:{\"click\":_vm.goToOrganizationSetup}},[_c('core.label',{attrs:{\"type\":\"inherit\",\"icon-position\":\"end\",\"icon-spacing\":\"2px\"}},[_c('i',{staticClass:\"el-icon-arrow-right\",attrs:{\"slot\":\"icon\"},slot:\"icon\"}),_c('span',[_vm._v(\"Setup your organization\")])])],1):_vm._e(),_vm._t(\"footer\")],2):_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { ConsoleRoute } from \"@Core/Models/ConsoleRoute\";\nimport NavigationStore from \"@Core/Store/Navigation/Navigation.store\";\nimport { Component, MapGetter, Prop } from \"types-vue\";\nimport Vue from \"vue\";\n\n@Component\nexport default class NoOrgAlert extends Vue {\n\n @Prop({ type: String })\n protected title: string;\n\n @Prop({ type: String })\n protected description: string;\n\n @Prop({ type: Boolean, default: false })\n protected floating: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected plain: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected compact: boolean;\n\n @Prop({ type: Boolean, default: true })\n protected showIcon: boolean;\n\n @Prop({ type: Boolean, default: true })\n protected showSetupButton: boolean;\n \n @MapGetter(NavigationStore.Mapping)\n protected currentRoute: ConsoleRoute;\n\n protected get shouldShowSetupButton(): boolean {\n return !this.currentRoute.isOrgConfig && this.showSetupButton;\n }\n\n protected goToOrganizationSetup() {\n this.$router.push(ConsoleRoute.OrgConfigPath);\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./NoOrgAlert.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./NoOrgAlert.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./NoOrgAlert.vue?vue&type=template&id=14bbfdd2&\"\nimport script from \"./NoOrgAlert.ts?vue&type=script&lang=ts&\"\nexport * from \"./NoOrgAlert.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('core.columns-layout',{staticClass:\"packages-view\",attrs:{\"show-right\":!_vm.$mq.lg}},[_c('div',[_c('core.title',{staticClass:\"flex-0 title-resources\"},[_vm._t(\"title\",[_c('core.label',{attrs:{\"icon-size\":\"18px\",\"icon-spacing\":\".6rem\"}},[_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"archive-outline\"},slot:\"icon\"}),_c('H1',[_vm._v(\"Downloads\")])],1)])],2),_c('core.card',{staticClass:\"service-resources h-content\"},[_c('div',{staticClass:\"resource-downloader\"},[(_vm.permissions.CanDownloadPackages)?_c('div',{key:\"packages\",attrs:{\"label\":\"Downloads\",\"name\":\"packages\"}},[(!_vm.sessionToken)?_c('core.alert',{attrs:{\"title\":\"Members only access\",\"description\":\"This feature is restricted to members. In order to download resources you must sign into your account.\",\"type\":\"warning\",\"closable\":false,\"floating\":\"\",\"plain\":\"\"}},[_c('el-button',{attrs:{\"slot\":\"footer\",\"icon\":\"el-icon-user\",\"type\":\"default\",\"size\":\"mini\"},on:{\"click\":_vm.signInForDownloads},slot:\"footer\"},[_vm._v(\"Sign in\")])],1):_vm._e(),_c('div',{staticClass:\"all-resources h-content\"},[(_vm.downloadsNotAllowed && _vm.permissions.CanDownloadPackages)?_c('core.alert',{staticClass:\"no-leave-el-transition alert\",attrs:{\"title\":\"Active contract required\",\"description\":\"In order to being able to download resources from this service, an active contract is required.\",\"type\":\"warning\",\"closable\":false,\"plain\":\"\"}}):_vm._e(),(_vm.allVersions.length > 0)?_c('div',_vm._l((_vm.allVersions),function(productVersion){return _c('div',[_c('h2',[_vm._v(_vm._s(productVersion.description))]),_vm._l((productVersion.platforms),function(platform){return _c('div',[_c('h3',[_vm._v(_vm._s(platform.description))]),_vm._l((platform.releases),function(release){return _c('div',[_c('resources.releases-collapse',{attrs:{\"plain\":\"\",\"default-collapsed\":\"\",\"title\":release.description,\"release\":release}},[(!release.resources)?_c('core.empty',{attrs:{\"slot\":\"empty\",\"description\":\"There are no downloads for this release yet\"},slot:\"empty\"},[_c('i',{staticClass:\"el-icon-box\",attrs:{\"slot\":\"icon\"},slot:\"icon\"})]):_c('resources.resources-list',{attrs:{\"disabled\":_vm.getResPermissions.loading || _vm.downloadsNotAllowed,\"resources\":release.resources,\"serviceId\":_vm.currentServiceId}})],1)],1)}),(platform.releases.length === 0)?_c('div',[_c('core.empty',{attrs:{\"slot\":\"empty\",\"description\":\"There are no downloads for this release yet\"},slot:\"empty\"},[_c('i',{staticClass:\"el-icon-box\",attrs:{\"slot\":\"icon\"},slot:\"icon\"})])],1):_vm._e()],2)}),(productVersion.platforms.length === 0)?_c('div',[_c('core.empty',{attrs:{\"slot\":\"empty\",\"description\":\"There are no downloads for this version yet\"},slot:\"empty\"},[_c('i',{staticClass:\"el-icon-box\",attrs:{\"slot\":\"icon\"},slot:\"icon\"})])],1):_vm._e()],2)}),0):_vm._e(),(_vm.permissions.CanAddResources)?_c('core.superadmin-button',{attrs:{\"size\":\"small\"},on:{\"click\":_vm.openManageResourcesDialog}},[_c('span',[_vm._v(\"Manage Resources\")])]):_vm._e(),_c('resources.manage-resources-dialog',{attrs:{\"all-versions\":_vm.allVersions,\"serviceId\":_vm.currentServiceId}})],1)],1):_vm._e()])])],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { ResourcePermissions } from '@Module/Resources/Models/ResourcePermissions.model';\nimport { Permission } from '@Module/Auth/Models/Roles/Permissions.model';\nimport { CustomHubResource } from '@Core/Models/CustomHubResource.model';\nimport { AccessRole } from '@Module/Auth/Models/Roles/AccessRole.model';\nimport { SessionToken } from '@Module/Auth/Models/SessionToken.model';\nimport ResourcesStore from '@Module/Resources/Store/Resources.store';\nimport { Component, MapAction, MapGetter, Watch } from 'types-vue';\nimport OrgsStore from '@Module/Orgs/Store/Orgs.store';\nimport AuthStore from '@Module/Auth/Store/Auth.store';\nimport { Execution } from '@Core/Models/Execution';\nimport { ServiceID } from '@Service/ServiceID';\nimport Vue from 'vue';\nimport { ProductVersion } from '@Module/Resources/Models/ProductVersion.model';\nimport NavigationStore from '@Core/Store/Navigation/Navigation.store';\n\n\n@Component\nexport default class AbapSuiteDownloads extends Vue {\n\n @MapGetter(AuthStore.Mapping)\n protected sessionToken: SessionToken;\n\n @MapGetter(AuthStore.Mapping)\n protected accessRole: AccessRole;\n\n @MapGetter(OrgsStore.Mapping)\n protected noOrganization: boolean;\n\n @MapGetter(ResourcesStore.Mapping)\n protected allVersions: ProductVersion[];\n\n @MapGetter(ResourcesStore.Mapping)\n protected abapSuiteResourcePermissions: ResourcePermissions;\n\n @MapAction(ResourcesStore.Mapping)\n protected fetchResourcePermissions: (service: ServiceID) => Promise;\n\n @MapAction(ResourcesStore.Mapping)\n protected openManageResourcesDialog: () => Promise;\n\n @MapAction(ResourcesStore.Mapping)\n protected closeManageResourcesDialog: () => Promise;\n\n @MapAction(ResourcesStore.Mapping)\n protected fetchProductVersions: (service: ServiceID) => Promise;\n\n @MapGetter(NavigationStore.Mapping)\n protected currentServiceId: ServiceID;\n \n protected getResPermissions = Execution\n .create(() => this.fetchResourcePermissions(ServiceID.AbapSuite));\n\n @Watch(\"sessionToken\", { immediate: true })\n protected async onSessionChange(token: SessionToken) {\n if (!!token && !token.hasExpired && !this.noOrganization) {\n this.getResPermissions.run();\n this.fetchProductVersions(ServiceID.AbapSuite);\n } else {\n this.getResPermissions.reset();\n\n }\n }\n\n protected get permissions() {\n return {\n CanDownloadPackages: this.accessRole.can(ServiceID.AbapSuite, Permission.DownloadPackages),\n CanAddResources: this.accessRole.can(ServiceID.AbapSuite, Permission.CreateResources),\n }\n }\n \n protected mounted() {\n this.fetchProductVersions(ServiceID.AbapSuite);\n }\n\n protected get downloadsNotAllowed(): boolean {\n return !!this.abapSuiteResourcePermissions && !this.abapSuiteResourcePermissions.canDownload;\n }\n\n}\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./AbapSuiteDownloads.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./AbapSuiteDownloads.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AbapSuiteDownloads.vue?vue&type=template&id=2be59bc4&\"\nimport script from \"./AbapSuiteDownloads.ts?vue&type=script&lang=ts&\"\nexport * from \"./AbapSuiteDownloads.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./AbapSuiteDownloads.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"space-y-16\"},[_c('div',{staticClass:\"flex flex-wrap container-x-24 container-y-16\"},[_c('core.details',{attrs:{\"spacing\":\"6px\"}},[_c('core.label',{attrs:{\"slot\":\"label\"},slot:\"label\"},[_c('H2',[_vm._v(\"General\")]),_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"information-circle\"},slot:\"icon\"})],1),_c('licensing.contract-general-summary',{attrs:{\"contract\":_vm.summary.contract,\"expand\":\"\"}})],1),_c('core.details',{attrs:{\"spacing\":\"6px\"}},[_c('core.label',{attrs:{\"slot\":\"label\"},slot:\"label\"},[_c('H2',[_vm._v(\"Validity\")]),_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"timer\"},slot:\"icon\"})],1),_c('licensing.contract-validity-summary',{attrs:{\"contract\":_vm.summary.contract,\"expand\":\"\"}})],1),(!!_vm.summary.organization)?_c('core.details',{attrs:{\"spacing\":\"6px\"}},[_c('core.label',{attrs:{\"slot\":\"label\"},slot:\"label\"},[_c('H2',[_vm._v(\"Organization\")]),_c('i',{staticClass:\"el-icon-office-building\",attrs:{\"slot\":\"icon\"},slot:\"icon\"})],1),_c('orgs.org-summary',{attrs:{\"org\":_vm.summary.organization,\"expand\":\"\"}})],1):_vm._e(),(!!_vm.summary.licenseDimensions && _vm.summary.licenseDimensions.length > 0)?_c('core.details',{staticStyle:{\"min-width\":\"10rem\"},attrs:{\"spacing\":\"6px\"}},[_c('core.label',{attrs:{\"slot\":\"label\",\"icon-size\":\"14px\"},slot:\"label\"},[_c('H2',[_vm._v(\"Licenses\")]),_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"reader-outline\"},slot:\"icon\"})],1),_c('div',{staticClass:\"flex flex-wrap container-x-16 containter-y-8\"},_vm._l((_vm.summary.licenseDimensions),function(license){return _c('core.details',{key:license.dimension,attrs:{\"label\":license.dimension}},[_c('span',[_vm._v(_vm._s(_vm._f(\"pluralize\")(((license.units) + \" license\"),license.units)))])])}),1)],1):_vm._e()],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { LicensingSummary } from \"@Module/Licensing/Models/LicensingSummary.model\";\nimport { Component, Prop } from \"types-vue\";\nimport Vue from \"vue\";\n\n@Component\nexport default class LicensingSummaryExpand extends Vue {\n\n @Prop({ type: Object, required: true })\n protected summary: LicensingSummary;\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./LicensingSummaryExpand.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./LicensingSummaryExpand.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LicensingSummaryExpand.vue?vue&type=template&id=56cfeeee&\"\nimport script from \"./LicensingSummaryExpand.ts?vue&type=script&lang=ts&\"\nexport * from \"./LicensingSummaryExpand.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\nexport enum LicensingStatusPhase {\n Active = \"Active\",\n Cancelled = \"Cancelled\",\n Expired = \"Expired\",\n InGrace = \"InGracePeriod\",\n OrgPending = \"Org_Pending\"\n}\n\nexport namespace LicensingStatusPhase {\n\n export const Basic: LicensingStatusPhase[] = [\n LicensingStatusPhase.Active,\n LicensingStatusPhase.Expired,\n LicensingStatusPhase.InGrace\n ];\n\n export const All: LicensingStatusPhase[] = [\n LicensingStatusPhase.Active,\n LicensingStatusPhase.Cancelled,\n LicensingStatusPhase.Expired,\n LicensingStatusPhase.InGrace,\n LicensingStatusPhase.OrgPending\n ];\n\n export function nameOf(phase: LicensingStatusPhase): string {\n switch (phase) {\n case LicensingStatusPhase.Active: return \"Active\";\n case LicensingStatusPhase.InGrace: return \"In Grace\";\n case LicensingStatusPhase.Expired: return \"Expired\";\n case LicensingStatusPhase.Cancelled: return \"Cancelled\";\n case LicensingStatusPhase.OrgPending: return \"Pending\";\n default: return \"Unknown\";\n }\n }\n\n}\n\nexport class LicensingStatus {\n public readonly phase: LicensingStatusPhase;\n \n private constructor(phase: string) {\n this.phase = phase as LicensingStatusPhase;\n }\n\n public static create(phase: string): LicensingStatus {\n return new LicensingStatus(phase);\n }\n\n public get isCancelled(): boolean { \n return this.phase === LicensingStatusPhase.Cancelled; \n }\n\n public get isInactive(): boolean { \n return this.phase === LicensingStatusPhase.OrgPending; \n }\n\n public get isActive(): boolean { \n return this.phase === LicensingStatusPhase.Active; \n }\n\n public get isExpired(): boolean { \n return this.phase === LicensingStatusPhase.Expired; \n }\n\n public get isInGrace(): boolean { \n return this.phase === LicensingStatusPhase.InGrace; \n }\n\n public get isFinished(): boolean {\n return this.isExpired || this.isCancelled;\n }\n\n public get isActiveOrInGrace(): boolean {\n return this.isActive || this.isInGrace;\n }\n\n public get label(): string {\n return LicensingStatusPhase.nameOf(this.phase);\n }\n\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('core.dialog',{ref:\"dialog\",attrs:{\"title\":\"Assign contract organization\",\"width\":\"33rem\",\"append-to-body\":\"\"},scopedSlots:_vm._u([{key:\"footer\",fn:function(ref){\nvar success = ref.success;\nvar cancel = ref.cancel;\nreturn _c('div',{staticClass:\"flex space-x-8 content-end\"},[_c('el-button',{attrs:{\"type\":\"text\"},on:{\"click\":cancel}},[_vm._v(\"Cancel\")]),_c('el-button',{attrs:{\"disabled\":!_vm.value,\"type\":\"primary\"},on:{\"click\":success}},[_vm._v(\"Assign organization\")])],1)}}])},[_c('div',{staticClass:\"space-y-16\"},[_c('div',[_vm._v(\"Select the organization to which the \"+_vm._s(_vm.contractService)+\" contract purchased on \"+_vm._s(_vm.contractOrigin)+\" will belong to.\")]),_c('core.details',[_c('span',{attrs:{\"slot\":\"label\"},slot:\"label\"},[_vm._v(\"Organization\")]),_c('orgs.org-selector',{ref:\"orgSelector\",attrs:{\"default-expand-all\":\"\"},model:{value:(_vm.internalValue),callback:function ($$v) {_vm.internalValue=$$v},expression:\"internalValue\"}})],1),_c('div',{staticClass:\"space-y-8\"},[_c('core.alert',{attrs:{\"type\":\"warning\",\"description\":\"Once assigned to an organization, contracts cannot be transferred to another organization.\",\"closable\":false,\"compact\":\"\",\"plain\":\"\"}}),(!!_vm.value)?_c('core.alert',{attrs:{\"type\":\"info\",\"closable\":false,\"compact\":\"\",\"plain\":\"\"}},[_c('span',[_vm._v(\"Your \"),_c('span',{staticClass:\"text-semibold\"},[_vm._v(_vm._s(_vm.contractService))]),_vm._v(\" contract purchased from \"),_c('span',{staticClass:\"text-semibold\"},[_vm._v(_vm._s(_vm.contractOrigin))]),_vm._v(\" will be created into \"),_c('span',{staticClass:\"text-semibold\"},[_vm._v(_vm._s(_vm.internalValue.name))]),_vm._v(\" organization.\")])]):_vm._e()],1)],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { ContractPurchaseNotification } from \"@Module/Notifications/Models/ContractPurchaseNotification.model\";\nimport { ContractOrigin } from \"@Module/Licensing/Models/ContractOrigin\";\nimport { Organization } from \"@Module/Orgs/Models/Organization.model\";\nimport Dialog from \"@Core/Components/Dialog/Dialog\";\nimport { Component, Prop, Watch } from \"types-vue\"\nimport { ServiceID } from \"@Service/ServiceID\";\nimport Vue from \"vue\"\n\n@Component\nexport default class ContractPurchaseOrgSelectionDialog extends Vue {\n \n @Prop({ type: Object, required: true })\n protected notification: ContractPurchaseNotification;\n\n @Prop({ type: Object, default: null })\n protected value: Organization;\n\n protected internalValue: Organization = null;\n\n public open() {\n const dialog = this.$refs.dialog as Dialog;\n return dialog.open();\n }\n\n @Watch(\"internalValue\")\n protected onInternalValueChange(newValue: Organization) {\n this.$emit(\"input\", newValue);\n this.$emit(\"update:value\", newValue);\n }\n\n @Watch(\"value\", { immediate: true })\n protected onValueChange(newValue: Organization) {\n this.internalValue = newValue;\n }\n\n protected get contractOrigin(): string {\n return ContractOrigin.nameOf(this.notification.contractOrigin);\n }\n\n protected get contractService(): string {\n return ServiceID.nameOf(this.notification.service)\n }\n\n public get isOpened(): boolean {\n return (this.$refs.dialog as Dialog)?.isOpened ?? false;\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./ContractPurchaseOrgSelectionDialog.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./ContractPurchaseOrgSelectionDialog.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ContractPurchaseOrgSelectionDialog.vue?vue&type=template&id=1e9676d9&\"\nimport script from \"./ContractPurchaseOrgSelectionDialog.ts?vue&type=script&lang=ts&\"\nexport * from \"./ContractPurchaseOrgSelectionDialog.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LicenseTransfer.vue?vue&type=style&index=0&lang=scss&\"","import { ConsoleError } from \"@Core/Errors/ConsoleError\";\nimport { User } from \"../Models/User.model\";\nimport { Organization } from \"@Module/Orgs/Models/Organization.model\";\n\ninterface RemoveUserFromCurrentOrgApiErrorMeta {\n user: User;\n org: Organization;\n}\n\nexport class RemoveUserFromCurrentOrgApiError extends ConsoleError {}","import { Organization } from \"@Module/Orgs/Models/Organization.model\";\nimport { ConsoleError } from \"@Core/Errors/ConsoleError\";\nimport { User } from \"../Models/User.model\";\n\ninterface UpdateOrgUserRoleApiErrorMeta {\n user: User;\n org: Organization;\n}\n\nexport class UpdateOrgUserRoleApiError extends ConsoleError {}","import { ConsoleError } from \"@Core/Errors/ConsoleError\";\n\ninterface DeleteUserApiErrorMeta {\n username: string;\n}\n\nexport class DeleteUserApiError extends ConsoleError {}","import { ConsoleError } from \"@Core/Errors/ConsoleError\";\nimport { IUserDto } from \"../Models/User.model\";\n\ninterface UpdateUserApiErrorMeta {\n dto: IUserDto;\n}\n\nexport class UpdateUserApiError extends ConsoleError {}","import { ConsoleError } from \"@Core/Errors/ConsoleError\";\nimport { IUserDto } from \"../Models/User.model\";\n\ninterface CreateUserApiErrorMeta {\n dto: IUserDto;\n}\n\nexport class CreateUserApiError extends ConsoleError {}","import { ConsoleError } from \"@Core/Errors/ConsoleError\";\n\ninterface GetUsersErrorMeta {\n username?: string;\n}\n\nexport class GetUsersApiError extends ConsoleError {}","import { RemoveUserFromCurrentOrgApiError } from \"../Errors/RemoveUserFromCurrentOrgApiError\";\nimport { UpdateOrgUserRoleApiError } from \"../Errors/UpdateOrgUserRoleApiError\";\nimport { Organization } from \"@Module/Orgs/Models/Organization.model\";\nimport { DeleteUserApiError } from \"../Errors/DeleteUserApiError\";\nimport { UpdateUserApiError } from \"../Errors/UpdateUserApiError\";\nimport { CreateUserApiError } from \"../Errors/CreateUserApiError\";\nimport { GetUsersApiError } from \"../Errors/GetUsersApiError\";\nimport { IUserDto, User } from \"../Models/User.model\";\nimport AxiosAPI from \"@Core/API/AxiosAPI\";\n\nclass UsersAPI extends AxiosAPI {\n private static instance: UsersAPI;\n\n public static get Instance(): UsersAPI {\n return this.instance || (this.instance = new this());\n }\n\n protected url(slug?: string): string {\n const baseUrl = `${process.env.VUE_APP_SERVICE_URL_BACKEND}/users`;\n return !!slug ? `${baseUrl}/${slug}` : baseUrl;\n }\n\n public async getUsers(org?: Organization): Promise {\n try {\n const url = this.url();\n const response = await this.axios.get(url, {\n params: { byOrg: !!org }\n });\n return response.data;\n } catch (error) {\n const message = `An error occurred while retrieving users. Please try again later.`;\n throw new GetUsersApiError(message, { \n cause: error\n });\n }\n }\n\n public async getUser(username: string): Promise {\n try {\n const url = this.url(username);\n const response = await this.axios.get(url);\n return response.data;\n } catch (error) {\n const message = `An error occurred while retrieving user. Please try again later.`;\n throw new GetUsersApiError(message, { \n cause: error, \n meta: { username } \n });\n }\n }\n\n public async createUser(dto: IUserDto): Promise {\n try {\n const url = this.url();\n const response = await this.axios.post(url, dto);\n return response.data;\n } catch (error) {\n const message = `An error occurred while creating user. Please try again later.`;\n throw new CreateUserApiError(message, { \n cause: error, \n meta: { dto } \n });\n }\n }\n\n public async updateUser(dto: IUserDto): Promise {\n try {\n const url = this.url();\n const response = await this.axios.put(url, dto);\n return response.data;\n } catch (error) {\n const message = `An error occurred while updating user. Please try again later.`;\n throw new UpdateUserApiError(message, { \n cause: error, \n meta: { dto } \n });\n }\n }\n\n public async deleteUser(username: string): Promise {\n try {\n const url = this.url(username);\n await this.axios.delete(url);\n } catch (error) {\n const message = `An error occurred while deleting user. Please try again later.`;\n throw new DeleteUserApiError(message, { \n cause: error, \n meta: { username } \n });\n }\n }\n\n public async updateOrgUserRole(user: User, org: Organization): Promise {\n try {\n const url = this.url(`from-org/${user.username}`);\n const response = await this.axios.put(url, {\n role_id: user.getOrgRoleForOrg(org).role.id\n });\n return response.data;\n } catch (error) {\n const message = `An error occurred while updating organization user role. Please try again later.`;\n throw new UpdateOrgUserRoleApiError(message, { \n cause: error, \n meta: { user, org } \n });\n }\n }\n\n public async removeUserFromOrg(user: User, org: Organization): Promise {\n try {\n const url = this.url(`from-org/${user.username}`);\n await this.axios.delete(url);\n } catch (error) {\n const message = `An error occurred while removing user from ${org.name} organization. Please try again.`;\n throw new RemoveUserFromCurrentOrgApiError(message, { \n cause: error, \n meta: { user, org } \n });\n }\n }\n\n}\n\nexport default UsersAPI.Instance;","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('core.label',{attrs:{\"icon-spacing\":_vm.iconSpacing,\"icon-size\":_vm.iconSize,\"icon-y-offset\":_vm.iconYOffset,\"type\":_vm.type}},[(_vm.org.isTest)?_c('el-tooltip',{attrs:{\"slot\":\"icon\",\"effect\":\"light\",\"content\":\"Test organization\",\"placement\":\"top\",\"open-delay\":1000,\"enterable\":false,\"transition\":\"el-zoom-in-bottom\"},slot:\"icon\"},[_c('ion-icon',{attrs:{\"name\":\"bug-outline\"}})],1):_vm._e(),_vm._t(\"default\",[_c('span',[_vm._v(_vm._s(_vm.org.name))])])],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Organization } from \"@Module/Orgs/Models/Organization.model\";\nimport { Component, Prop } from \"types-vue\";\nimport Vue from \"vue\";\n\n@Component\nexport default class OrgLabel extends Vue {\n\n @Prop({ type: Object, required: true })\n protected org: Organization;\n\n @Prop({ type: String, default: \"inherit\" })\n protected type: \"primary\" | \"secondary\" | \"inherit\" | \"danger\" | \"success\" | \"border\";\n\n @Prop({ type: String, default: \"inherit\" })\n protected iconSize: string | \"inherit\";\n\n @Prop({ type: String })\n protected iconYOffset: string;\n\n @Prop({ type: String, default: \"3px\" })\n protected iconSpacing: string;\n \n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./OrgLabel.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./OrgLabel.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OrgLabel.vue?vue&type=template&id=edcccab0&\"\nimport script from \"./OrgLabel.ts?vue&type=script&lang=ts&\"\nexport * from \"./OrgLabel.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"org-role-tree-item flex items-center space-x-16\",class:_vm.classBinding,attrs:{\"aria-disabled\":_vm.disabled}},[_c('div',{staticClass:\"flex-1 space-y-4 text-ellipsis\"},[_c('orgs.org-label',{staticClass:\"org-label text-ellipsis\",attrs:{\"org\":_vm.orgRole.organization}},[_c('core.label',{staticClass:\"text-ellipsis\",attrs:{\"type\":\"inherit\",\"icon-position\":\"end\",\"icon-size\":\"12px\",\"icon-y-offset\":\"1px\"}},[_c('span',{staticClass:\"text-ellipsis\"},[_vm._v(_vm._s(_vm.orgRole.organization.name))]),(!!_vm.orgRole.organization.domain)?_c('el-tooltip',{attrs:{\"slot\":\"icon\",\"effect\":_vm.isSelected ? 'dark' : 'light',\"enterable\":false,\"placement\":\"top\",\"transition\":\"el-zoom-in-bottom\"},slot:\"icon\"},[_c('span',{attrs:{\"slot\":\"content\"},slot:\"content\"},[_vm._v(\"Domain: \"),_c('span',{staticClass:\"text-semibold\"},[_vm._v(_vm._s(_vm.orgRole.organization.domain))])]),_c('ion-icon',{staticClass:\"domain-icon\",attrs:{\"name\":\"folder-outline\"}})],1):_vm._e()],1)],1),(!_vm.compact)?_c('small',{staticClass:\"org-uuid text-uppercase text-ellipsis\"},[_vm._v(_vm._s(_vm.orgRole.organization.uuid))]):_vm._e()],1),_c('div',{staticClass:\"flex items-center space-x-8\"},[_c('span',{staticClass:\"space-x-4\"},[(_vm.defaultOrg.id === _vm.orgRole.organization.id)?_c('el-tooltip',{attrs:{\"effect\":_vm.isSelected ? 'dark' : 'light',\"placement\":\"top\",\"enterable\":false,\"content\":\"Your default organization\",\"transition\":\"el-zoom-in-bottom\"}},[_c('i',{staticClass:\"el-icon-office-building\"})]):_vm._e(),(_vm.currentOrg.id === _vm.orgRole.organization.id)?_c('el-tooltip',{attrs:{\"effect\":_vm.isSelected ? 'dark' : 'light',\"placement\":\"top\",\"enterable\":false,\"content\":\"Your current organization\",\"transition\":\"el-zoom-in-bottom\"}},[_c('i',{staticClass:\"el-icon-suitcase-1\"})]):_vm._e()],1),(_vm.showRole)?_c('orgs.org-role-tag',{attrs:{\"size\":\"tiny\",\"role\":_vm.orgRole.role,\"type\":_vm.isSelected ? undefined : 'info',\"no-icon\":\"\"}}):_vm._e(),_vm._t(\"default\",null,{\"node\":_vm.node,\"data\":_vm.nodeData})],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { OrganizationRole } from \"@Module/Orgs/Models/Roles/OrganizationRole.model\";\nimport { OrgRoleTreeData, OrgRoleTreeNode } from \"../OrgRoleTree/OrgRoleTree\";\nimport { Organization } from \"@Module/Orgs/Models/Organization.model\";\nimport { Component, MapGetter, Prop } from \"types-vue\";\nimport OrgsStore from \"@Module/Orgs/Store/Orgs.store\";\nimport Vue from \"vue\";\n\n@Component\nexport default class OrgRoleTreeItem extends Vue {\n\n @Prop({ type: Object, required: true })\n protected node: OrgRoleTreeNode;\n\n @Prop({ type: Boolean, default: true })\n protected showRole: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected compact: boolean;\n\n @MapGetter(OrgsStore.Mapping)\n protected defaultOrg: Organization;\n\n @MapGetter(OrgsStore.Mapping)\n protected currentOrg: Organization;\n\n protected get nodeData(): OrgRoleTreeData {\n return this.node.data;\n }\n\n protected get orgRole(): OrganizationRole {\n return this.nodeData.orgRole;\n }\n\n protected get disabled(): boolean {\n return this.nodeData.disabled;\n }\n\n protected get isSelected(): boolean {\n return this.node.checked;\n }\n\n protected get classBinding() {\n return {\n \"is-disabled\": this.disabled,\n \"is-compact\": this.compact,\n \"is-selected\": this.isSelected\n }\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./OrgRoleTreeItem.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./OrgRoleTreeItem.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OrgRoleTreeItem.vue?vue&type=template&id=2a216dcf&scoped=true&\"\nimport script from \"./OrgRoleTreeItem.ts?vue&type=script&lang=ts&\"\nexport * from \"./OrgRoleTreeItem.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./OrgRoleTreeItem.vue?vue&type=style&index=0&id=2a216dcf&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2a216dcf\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PurchasePopover.vue?vue&type=style&index=0&id=413f5232&lang=scss&scoped=true&\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AbapSuiteDownloads.vue?vue&type=style&index=0&lang=scss&\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ManageResourcesDialog.vue?vue&type=style&index=0&lang=scss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!!_vm.sessionUser)?_c('core.dialog',{ref:\"dialog\",attrs:{\"top\":\"10vh\",\"width\":\"45rem\",\"show-close\":!_vm.createContract.loading,\"close-on-click-modal\":!_vm.createContract.loading,\"close-on-press-escape\":!_vm.createContract.loading},on:{\"closed\":_vm.onClosed},scopedSlots:_vm._u([{key:\"footer\",fn:function(ref){\nvar cancel = ref.cancel;\nreturn _c('div',{staticClass:\"space-x-8\"},[_c('el-button',{attrs:{\"type\":\"text\",\"disabled\":_vm.createContract.loading},on:{\"click\":cancel}},[_c('span',[_vm._v(\"Cancel\")])]),_c('core.superadmin-button',{attrs:{\"loading\":_vm.createContract.loading,\"disabled\":!_vm.canCreateContract},on:{\"click\":_vm.create}},[(_vm.createContract.loading)?_c('span',[_vm._v(\"Creating\")]):_c('span',[_vm._v(\"Create contract\")])])],1)}}],null,false,781081237)},[_c('core.label',{attrs:{\"slot\":\"title\",\"icon-size\":\"18px\",\"icon-spacing\":\".6rem\"},slot:\"title\"},[_c('H1',[_vm._v(\"Create Contract\")]),_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"receipt-outline\"},slot:\"icon\"})],1),_c('div',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.createContract.loading),expression:\"createContract.loading\"}],attrs:{\"element-loading-text\":\"Creating contract...\"}},[_c('div',{staticClass:\"admin-create-contract space-y-16\"},[_c('div',{staticClass:\"flex flex-wrap container-x-16 container-y-16 mb-16\"},[_c('core.details',{staticClass:\"flex-2\",attrs:{\"label\":\"Service\"}},[_c('el-select',{attrs:{\"filterable\":\"\"},model:{value:(_vm.service),callback:function ($$v) {_vm.service=$$v},expression:\"service\"}},[_c('core.empty',{attrs:{\"slot\":\"empty\",\"description\":\"No service meets your filtering criteria.\",\"compact\":\"\"},slot:\"empty\"}),_vm._l((_vm.servicesWithLicensing),function(service){return _c('el-option',{key:service.id,attrs:{\"label\":service.label,\"value\":service.id}})})],2)],1),_c('core.details',{staticClass:\"flex-3\",attrs:{\"label\":\"Organization\"}},[_c('orgs.org-selector',{staticClass:\"form-field w-full\",model:{value:(_vm.organization),callback:function ($$v) {_vm.organization=$$v},expression:\"organization\"}})],1)],1)]),_c('div',{staticClass:\"flex flex-wrap container-x-16 container-y-16 mb-16\"},[_c('core.details',{staticClass:\"flex-2\",attrs:{\"label\":\"Origin\"}},[_c('licensing.origin-selector',{staticClass:\"form-field w-full\",attrs:{\"options\":_vm.originsLinke},model:{value:(_vm.origin),callback:function ($$v) {_vm.origin=$$v},expression:\"origin\"}})],1),_c('core.details',{staticClass:\"flex-3\",attrs:{\"label\":\"Poc\"}},[_c('el-checkbox',{staticClass:\"flex-3 mb-16\",attrs:{\"label\":\"Is a Poc\",\"border\":\"\"},model:{value:(_vm.poc),callback:function ($$v) {_vm.poc=$$v},expression:\"poc\"}})],1)],1),_c('core.details',{staticClass:\"flex-1 mb-16\",attrs:{\"label\":\"Expiration Date\"}},[_c('el-date-picker',{staticClass:\"form-field\",attrs:{\"align\":\"right\",\"type\":\"datetime\",\"format\":\"MM/dd/yyyy HH:mm:ss\",\"prefix-icon\":\"el-icon-date\",\"picker-options\":_vm.datePickerOptions,\"placeholder\":\"Choose an expiration date\"},model:{value:(_vm.expiration),callback:function ($$v) {_vm.expiration=$$v},expression:\"expiration\"}})],1),_c('core.details',{staticClass:\"mb-16\",attrs:{\"label\":\"Contract Licenses\"}},[_c('core.card',{attrs:{\"bordered\":\"\",\"compact\":\"\"}},[_c('div',{staticClass:\"space-y-8\"},[_c('licensing.dimension-selector',{attrs:{\"placeholder\":\"Pick a license dimension\",\"service-id\":_vm.service,\"filter\":_vm.shouldIncludeDimension,\"filterable\":\"\"},on:{\"select\":_vm.onDimensionSelected}}),_c('core.list',{staticClass:\"ml-4\",attrs:{\"data\":_vm.licenses,\"selectable\":false,\"spacing\":\"4px\",\"label-key-path\":\"dimension.name\",\"description-key-path\":\"dimension.description\"},scopedSlots:_vm._u([{key:\"accessory-right\",fn:function(ref){\nvar item = ref.item;\nreturn _c('div',{staticClass:\"flex items-space space-x-6\"},[_c('el-input-number',{attrs:{\"size\":\"mini\",\"min\":1},model:{value:(item.dimensionUnits),callback:function ($$v) {_vm.$set(item, \"dimensionUnits\", $$v)},expression:\"item.dimensionUnits\"}}),_c('el-button',{attrs:{\"size\":\"mini\",\"type\":\"danger\",\"icon\":\"el-icon-delete\"},on:{\"click\":function($event){return _vm.removeLicense(item)}}})],1)}}],null,false,2389898229)},[_c('core.empty',{attrs:{\"slot\":\"empty\",\"compact\":\"\"},slot:\"empty\"},[_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"reader-outline\"},slot:\"icon\"}),_c('div',[_c('div',[_vm._v(\"No licenses included.\")]),_c('div',[_vm._v(\"Pick a dimension from the selector.\")])])],1)],1)],1)])],1),_c('transition',{attrs:{\"name\":\"el-zoom-in-top\"}},[(!!_vm.createContract.error)?_c('core.alert',{attrs:{\"type\":\"error\",\"title\":\"Contract Creation Error\",\"description\":_vm.createContract.error.message,\"plain\":\"\"}}):_vm._e()],1)],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Dialog from \"@Core/Components/Dialog/Dialog\";\nimport { Organization } from \"@Module/Orgs/Models/Organization.model\";\nimport OrgsStore from \"@Module/Orgs/Store/Orgs.store\";\nimport { User } from \"@Module/Users/Models/User.model\";\nimport UsersStore from \"@Module/Users/Store/Users.store\";\nimport { ServiceID, ServiceMap } from \"@Service/ServiceID\";\nimport { DatePickerOptions } from \"element-ui/types/date-picker\";\nimport { Component, MapAction, MapGetter, Watch } from \"types-vue\";\nimport { Prop } from \"vue-property-decorator\";\nimport DayJS from \"dayjs\";\nimport Vue from \"vue\";\nimport LicensingStore, { CreateLinkeContractPayload } from \"@Module/Licensing/Store/Licensing.store\";\nimport { Dimension, IDimensionUnits } from \"@Module/Licensing/Models/Dimension.model\";\nimport { Execution } from \"@Core/Models/Execution\";\nimport { Notify } from \"@Core/Utils/Notify\";\nimport NavigationStore from \"@Core/Store/Navigation/Navigation.store\";\nimport { ContractOrigin } from \"@Module/Licensing/Models/ContractOrigin\";\n\ninterface TrialLicense {\n dimension: Dimension;\n dimensionUnits: number;\n}\n\n@Component\nexport default class AdminCreateContractDialog extends Vue {\n\n @Prop({ type: String, required: true })\n protected serviceId: ServiceID;\n\n @MapGetter(UsersStore.Mapping)\n protected sessionUser: User;\n\n @MapGetter(OrgsStore.Mapping)\n protected currentOrg: Organization;\n\n @MapGetter(NavigationStore.Mapping)\n protected currentServiceId: ServiceID;\n\n @MapGetter(LicensingStore.Mapping)\n protected dimensions: ServiceMap;\n \n @MapAction(LicensingStore.Mapping)\n private createLinkeContract: (payload: CreateLinkeContractPayload) => Promise;\n\n protected servicesWithLicensing = ServiceID.WithLicensing\n .map(serviceId => ({ id: serviceId, label: ServiceID.nameOf(serviceId) }))\n .sort((a, b) => a.label.localeCompare(b.label));\n \n protected service: ServiceID = null;\n protected poc: boolean = false;\n protected expiration: Date = null;\n protected origin: string = \"\";\n protected extendedContractId: Number = null;\n protected licenses: TrialLicense[] = [];\n protected organization: Organization = null;\n protected originsLinke = ContractOrigin.OnlyLinke;\n protected createContract = Execution.create((\n service: ServiceID,\n origin: string,\n org: Organization,\n expiration: Date,\n dimensions: IDimensionUnits[],\n poc: boolean,\n extendedContractId: Number,\n ) => \n this.createLinkeContract({ \n service, \n data: { org, origin, expiration, dimensions, poc, extendedContractId}\n } as CreateLinkeContractPayload)\n );\n\n public open(): Promise {\n const dialog = this.$refs.dialog as Dialog;\n if (!dialog) { \n return Promise.resolve(false); \n }\n this.service = this.serviceId;\n this.organization = this.currentOrg;\n return dialog.open();\n }\n\n protected mounted() {\n this.service = this.serviceId;\n this.organization = this.currentOrg;\n }\n\n protected onClosed() {\n this.expiration = null;\n this.organization = null;\n this.extendedContractId = null;\n this.poc = false;\n this.licenses = [];\n this.createContract.reset();\n }\n\n\n @Watch(\"origin\")\n protected onOriginChanged() {\n if (this.origin !== ContractOrigin.Extended){\n this.extendedContractId = null;\n }\n }\n\n protected async create() {\n await this.createContract.run(this.service, this.origin, this.organization, this.expiration, this.dimensionUnits, this.poc, this.extendedContractId);\n if (!this.createContract.error) {\n Notify.Success({\n title: \"Contract created\",\n message: `Contract successfully created for '${this.organization.name}' organization.`\n });\n const dialog = this.$refs.dialog as Dialog;\n dialog.success();\n }\n }\n\n @Watch(\"service\")\n protected onServiceIdChange() {\n this.licenses = [];\n }\n\n protected onDimensionSelected(dimension: Dimension) {\n this.licenses.push({ dimension, dimensionUnits: 1 });\n }\n\n protected shouldIncludeDimension(dimension: Dimension): boolean {\n return !this.licenses.some(license => license.dimension.name === dimension.name);\n }\n\n protected get dimensionUnits(): IDimensionUnits[] {\n return this.licenses.reduce((acc, curr) => {\n acc.push({ dimension: curr.dimension.name, units: curr.dimensionUnits });\n return acc;\n }, [] as IDimensionUnits[]);\n }\n\n protected removeLicense(license: TrialLicense) {\n const index = this.licenses\n .findIndex(l => l.dimension.name === license.dimension.name);\n if (index !== -1) {\n this.licenses.splice(index, 1);\n }\n }\n\n protected get canCreateContract(): boolean {\n return !!this.organization && !!this.expiration && this.licenses.length > 0;\n }\n\n protected getServiceName(serviceId: ServiceID): string {\n return ServiceID.nameOf(serviceId);\n }\n\n protected get datePickerOptions(): DatePickerOptions {\n return {\n firstDayOfWeek: 1,\n disabledDate: (time) => time.getTime() < Date.now(),\n shortcuts: [{\n text: 'In 1 Week',\n onClick: (picker) => picker.$emit(\"pick\", DayJS().add(1, \"weeks\").toDate())\n }, {\n text: 'In 15 Days',\n onClick: (picker) => picker.$emit(\"pick\", DayJS().add(15, \"days\").toDate())\n }, {\n text: 'In 1 Month',\n onClick: (picker) => picker.$emit(\"pick\", DayJS().add(1, \"month\").toDate())\n }, {\n text: 'In 1 Year',\n onClick: (picker) => picker.$emit(\"pick\", DayJS().add(1, \"year\").toDate())\n }]\n }\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./AdminCreateContractDialog.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./AdminCreateContractDialog.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AdminCreateContractDialog.vue?vue&type=template&id=54cc2e0d&scoped=true&\"\nimport script from \"./AdminCreateContractDialog.ts?vue&type=script&lang=ts&\"\nexport * from \"./AdminCreateContractDialog.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./AdminCreateContractDialog.vue?vue&type=style&index=0&id=54cc2e0d&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"54cc2e0d\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.isLoading),expression:\"isLoading\"}]},[_c('div',{staticClass:\"notification flex-y space-y-6\"},[_c('div',{staticClass:\"flex\"},[_c('div',{staticClass:\"flex-1\"},[(_vm.notification.isOrgInvitation)?_c('notifications.org-invitation-notif-content',{ref:\"content\",attrs:{\"disabled\":_vm.isLoading,\"notification\":_vm.notification,\"is-inbox\":_vm.isInbox,\"hide-type-label\":_vm.hideTypeLabel},on:{\"resend\":_vm.resend.run}}):(_vm.notification.isOrgAccessRequest)?_c('notifications.org-access-request-notif-content',{ref:\"content\",attrs:{\"disabled\":_vm.isLoading,\"notification\":_vm.notification,\"is-inbox\":_vm.isInbox,\"hide-type-label\":_vm.hideTypeLabel}}):(_vm.notification.isLicenseSharing)?_c('notifications.license-sharing-notif-content',{ref:\"content\",attrs:{\"disabled\":_vm.isLoading,\"notification\":_vm.notification,\"is-inbox\":_vm.isInbox,\"hide-type-label\":_vm.hideTypeLabel}}):(_vm.notification.isLicenseReturn)?_c('notifications.license-return-notif-content',{ref:\"content\",attrs:{\"disabled\":_vm.isLoading,\"notification\":_vm.notification,\"is-inbox\":_vm.isInbox,\"hide-type-label\":_vm.hideTypeLabel}}):(_vm.notification.isContractPurchase)?_c('notifications.contract-purchase-notif-content',{ref:\"content\",attrs:{\"disabled\":_vm.isLoading,\"notification\":_vm.notification,\"is-inbox\":_vm.isInbox,\"hide-type-label\":_vm.hideTypeLabel}}):_vm._e()],1),_c('div',{staticClass:\"flex-none\"},[(_vm.canAccept || _vm.canDecline || _vm.canResend || _vm.canCancel)?_c('el-dropdown',{attrs:{\"trigger\":\"click\"},on:{\"command\":function (command) { return command(); }}},[_c('el-button',{attrs:{\"size\":\"medium\",\"type\":\"text\",\"icon\":\"el-icon-more\",\"disabled\":_vm.isLoading}}),_c('el-dropdown-menu',{attrs:{\"slot\":\"dropdown\"},slot:\"dropdown\"},[(_vm.isInbox)?[(_vm.canAccept)?_c('el-dropdown-item',{attrs:{\"icon\":\"el-icon-check\",\"command\":_vm.accept.run}},[_vm._v(\"Accept\")]):_vm._e(),(_vm.canDecline)?_c('el-dropdown-item',{attrs:{\"icon\":\"el-icon-close\",\"command\":_vm.decline.run}},[_vm._v(\"Decline\")]):_vm._e()]:[(_vm.canResend)?_c('el-dropdown-item',{attrs:{\"icon\":\"el-icon-top-right\",\"command\":_vm.resend.run}},[_vm._v(\"Resend\")]):_vm._e(),(_vm.canCancel)?_c('el-dropdown-item',{attrs:{\"icon\":\"el-icon-delete\",\"command\":_vm.cancel.run}},[_vm._v(\"Cancel\")]):_vm._e()]],2)],1):_vm._e()],1)]),_c('div',{staticClass:\"notification-footer w-full flex flex-wrap content-space-between container-x-4 container-y-4\"},[_c('small',{staticClass:\"space-x-4 text-ellipsis\"},[_c('core.date-label',{staticClass:\"flex-0\",attrs:{\"label-type\":\"inherit\",\"date\":_vm.notification.creation},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar date = ref.date;\nreturn _c('span',{},[_vm._v(_vm._s(_vm._f(\"capitalize\")(date.fromNow())))])}},{key:\"tooltip\",fn:function(ref){\nvar formattedDate = ref.formattedDate;\nreturn _c('span',{},[_vm._v(_vm._s(formattedDate))])}}])}),_c('small',{staticClass:\"text-ellipsis\"},[_vm._v(\"by \"+_vm._s(_vm.wasSentByMe ? 'me' : _vm.notification.sender))])],1),_c('small',{staticClass:\"text-ellipsis\"},[_c('core.date-label',{attrs:{\"label-type\":\"inherit\",\"date\":_vm.notification.expiration},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar date = ref.date;\nreturn _c('span',{},[_vm._v(\"Expires \"+_vm._s(date.fromNow()))])}},{key:\"tooltip\",fn:function(ref){\nvar formattedDate = ref.formattedDate;\nreturn _c('span',{},[_vm._v(_vm._s(formattedDate))])}}])})],1)])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Execution } from \"@Core/Models/Execution\";\nimport { Notify } from \"@Core/Utils/Notify\";\nimport { Utils } from \"@Core/Utils/Utils\";\nimport { User } from \"@Module/Users/Models/User.model\";\nimport UsersStore from \"@Module/Users/Store/Users.store\";\nimport { Component, MapGetter, Prop, Vue, Watch } from \"types-vue\";\nimport NotificationContentMixin, { INotificationContent } from \"../../Mixins/NotificationContentMixin\";\nimport { Notification } from \"../../Models/Notification.model\";\nimport DeepClone from \"lodash.clonedeep\";\n\ninterface NotificationEvent {\n notification: Notification;\n}\n\nexport interface NotifLoadingEvent extends NotificationEvent {\n loading: boolean;\n}\n\nexport interface NotifConfiguringResponseEvent extends NotificationEvent {\n configuring: boolean;\n}\n\n@Component\nexport default class NotificationListItem extends Vue {\n\n @Prop({ type: Object, required: true })\n protected notification: Notification;\n\n @Prop({ type: Boolean, default: true })\n protected isInbox: boolean;\n\n @Prop({ type: Boolean, default: true })\n protected allowResend: boolean;\n\n @Prop({ type: Boolean, default: true })\n protected allowCancel: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected hideTypeLabel: boolean;\n\n @MapGetter(UsersStore.Mapping)\n protected sessionUser: User;\n\n protected canCancel: boolean = false;\n protected canResend: boolean = false;\n protected canAccept: boolean = false;\n protected canDecline: boolean = false;\n protected isConfiguringResponse: boolean = false;\n\n protected cancel = Execution.create(this.doCancel);\n protected accept = Execution.create(this.doAccept);\n protected decline = Execution.create(this.doDecline);\n protected resend = Execution.create(this.doResend);\n\n @Watch(\"isLoading\")\n protected onLoadingChange(loading: boolean) {\n const loadingEvent: NotifLoadingEvent = { notification: this.notification, loading };\n this.$emit(\"loading\", loadingEvent);\n }\n\n @Watch(\"isConfiguringResponse\")\n protected onConfiguringResponse(configuring: boolean) {\n const configEvent: NotifConfiguringResponseEvent = { notification: this.notification, configuring };\n this.$emit(\"configuring\", configEvent);\n }\n\n protected mounted() {\n this.$watch(\n () => this.getContent()?.isConfiguringResponse ?? false,\n isConfiguringResponse => this.isConfiguringResponse = isConfiguringResponse,\n { immediate: true }\n );\n this.$watch(\n () => this.getContent()?.canAccept ?? false, \n canAccept => this.canAccept = canAccept, \n { immediate: true }\n );\n this.$watch(\n () => this.getContent()?.canDecline ?? false, \n canDecline => this.canDecline = canDecline, \n { immediate: true }\n );\n this.$watch(\n () => this.getContent()?.canResend ?? false, \n canResend => this.canResend = canResend, \n { immediate: true }\n );\n this.$watch(\n () => this.getContent()?.canCancel ?? false, \n canCancel => this.canCancel = canCancel, \n { immediate: true }\n );\n }\n\n protected beforeDestroy() {\n this.onLoadingChange(false);\n this.onConfiguringResponse(false);\n }\n\n protected getContent(): NotificationContentMixin & INotificationContent {\n return this.$refs.content as NotificationContentMixin & INotificationContent;\n }\n\n protected get sender(): string {\n return Utils.smartTrim(this.notification.sender, 20);\n }\n\n private async doDecline() {\n try {\n const notification = DeepClone(this.notification);\n const content = this.getContent();\n const shouldProceed = await content.decline();\n if (!shouldProceed) { return; }\n this.$emit(\"decline\", notification);\n await content.onDeclined();\n await this.$nextTick();\n Notify.Success(content.getSuccessNotifConfig().Decline);\n } catch (error) {\n Notify.Error({\n title: \"Notification response error\", \n message: error.message\n });\n }\n }\n\n private async doCancel() {\n try {\n const notification = DeepClone(this.notification);\n const content = this.getContent();\n const shouldProceed = await content.cancel();\n if (!shouldProceed) { return; }\n this.$emit(\"cancel\", notification);\n await content.onCanceled();\n await this.$nextTick();\n Notify.Success(content.getSuccessNotifConfig().Cancel);\n } catch (error) {\n Notify.Error({\n title: \"Notification cancel error\", \n message: error.message\n });\n }\n }\n\n private async doAccept() {\n try {\n const notification = DeepClone(this.notification);\n const content = this.getContent();\n const shouldProceed = await content.accept();\n if (!shouldProceed) { return; }\n this.$emit(\"accept\", notification);\n await content.onAccepted();\n await this.$nextTick();\n Notify.Success(content.getSuccessNotifConfig().Accept);\n } catch (error) {\n Notify.Error({\n title: \"Notification response error\", \n message: error.message\n });\n }\n }\n\n private async doResend() {\n await this.getContent().resend(); \n this.$emit(\"resend\", this.notification);\n }\n\n protected get isLoading(): boolean {\n return this.cancel.loading \n || this.accept.loading \n || this.decline.loading \n || this.resend.loading;\n }\n\n protected get wasSentByMe(): boolean {\n return this.notification.sender === this.sessionUser.username;\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./NotificationListItem.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./NotificationListItem.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./NotificationListItem.vue?vue&type=template&id=cd837550&scoped=true&\"\nimport script from \"./NotificationListItem.ts?vue&type=script&lang=ts&\"\nexport * from \"./NotificationListItem.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./NotificationListItem.vue?vue&type=style&index=0&id=cd837550&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"cd837550\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"space-y-8\"},[_c('core.details',{attrs:{\"label\":\"SID\"}},[_c('core.prop-value-selector',{attrs:{\"data\":_vm.data,\"disabled\":_vm.disabled,\"size\":_vm.size,\"prop\":\"sid\",\"placeholder\":\"Filter by SID\",\"multiple\":\"\",\"filterable\":\"\",\"clearable\":\"\"},model:{value:(_vm.filters.sIds),callback:function ($$v) {_vm.$set(_vm.filters, \"sIds\", $$v)},expression:\"filters.sIds\"}})],1),_c('core.details',{attrs:{\"label\":\"IP Address\"}},[_c('core.prop-value-selector',{attrs:{\"data\":_vm.data,\"disabled\":_vm.disabled,\"size\":_vm.size,\"prop\":\"ip\",\"placeholder\":\"Filter by IP address\",\"multiple\":\"\",\"filterable\":\"\",\"clearable\":\"\"},model:{value:(_vm.filters.ips),callback:function ($$v) {_vm.$set(_vm.filters, \"ips\", $$v)},expression:\"filters.ips\"}})],1),_c('core.details',{attrs:{\"label\":\"Client Version\"}},[_c('core.prop-value-selector',{attrs:{\"data\":_vm.data,\"disabled\":_vm.disabled,\"size\":_vm.size,\"prop\":\"clientVersion\",\"placeholder\":\"Filter by client version\",\"multiple\":\"\",\"filterable\":\"\",\"clearable\":\"\"},model:{value:(_vm.filters.versions),callback:function ($$v) {_vm.$set(_vm.filters, \"versions\", $$v)},expression:\"filters.versions\"}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { EmoryHost } from \"@Service/Emory/Models/EmoryHost.model\";\nimport { EmoryHostFilters } from \"@Service/Emory/Models/Filters/EmoryHostFilters.model\";\nimport { UISize } from \"@Service/Settings/Store/AppSettings/AppSettings.state\";\nimport { Component, Prop } from \"types-vue\";\nimport Vue from \"vue\";\n\n@Component\nexport default class EmoryHostFiltersPanelExtension extends Vue {\n\n @Prop({ type: Object, required: true })\n protected filters: EmoryHostFilters;\n\n @Prop({ type: Boolean, default: false })\n protected disabled: boolean;\n\n @Prop({ type: String, default: null })\n protected size: UISize;\n\n @Prop({ type: Array, default: null })\n protected data: EmoryHost[];\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./HostFiltersPanelExtension.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./HostFiltersPanelExtension.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./HostFiltersPanelExtension.vue?vue&type=template&id=30b6121c&\"\nimport script from \"./HostFiltersPanelExtension.ts?vue&type=script&lang=ts&\"\nexport * from \"./HostFiltersPanelExtension.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-tooltip',{attrs:{\"content\":_vm.tooltip,\"placement\":\"top\",\"effect\":\"dark\",\"transition\":\"el-zoom-in-bottom\",\"disabled\":_vm.docsUrl === _vm.url,\"open-delay\":500}},[_c('el-link',{staticClass:\"docs-link\",style:(_vm.linkStyle),attrs:{\"underline\":false},on:{\"click\":function($event){return _vm.openDocsPanel(_vm.url)}}},[(!!_vm.$slots.default)?_c('core.label',{staticClass:\"docs-icon\",attrs:{\"type\":_vm.type,\"icon-position\":_vm.iconPosition,\"icon-size\":_vm.iconSize,\"icon-spacing\":_vm.iconSpacing}},[_c('i',{staticClass:\"el-icon-notebook-2\",attrs:{\"slot\":\"icon\"},slot:\"icon\"}),_vm._t(\"default\")],2):_c('i',{staticClass:\"el-icon-notebook-2\"})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import NavigationStore from \"@Core/Store/Navigation/Navigation.store\";\nimport { Component, MapAction, MapGetter, Prop } from \"types-vue\";\nimport Vue from \"vue\";\n\n@Component\nexport default class DocsLink extends Vue {\n\n @Prop({ type: String, required: true })\n protected url: string;\n\n @Prop({ type: String, default: \"Embedded documentation\" })\n protected tooltip: string;\n\n @Prop({ type: String, default: \"inherit\" })\n protected type: \"primary\" | \"secondary\" | \"inherit\" | \"danger\" | \"success\";\n \n @Prop({ type: String, default: \"start\" })\n protected iconPosition: \"start\" | \"end\";\n\n @Prop({ type: String, default: \"inherit\" })\n protected labelFontSize: string;\n\n @Prop({ type: String, default: \"inherit\" })\n protected iconSize: string;\n\n @Prop({ type: String, default: \"4px\" })\n protected iconSpacing: string;\n\n @MapGetter(NavigationStore.Mapping)\n protected docsUrl: string;\n\n @MapAction(NavigationStore.Mapping)\n protected openDocsPanel: (url: string) => Promise;\n\n protected get linkStyle() {\n return {\n \"font-size\": this.labelFontSize\n }\n }\n\n}","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./DocsLink.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./DocsLink.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DocsLink.vue?vue&type=template&id=3e985f28&\"\nimport script from \"./DocsLink.ts?vue&type=script&lang=ts&\"\nexport * from \"./DocsLink.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('core.layout',{staticClass:\"contract-details-view\"},[_c('core.query-param',{attrs:{\"name\":\"expand\",\"type\":\"number-array\"},model:{value:(_vm.expandedRows),callback:function ($$v) {_vm.expandedRows=$$v},expression:\"expandedRows\"}}),_c('div',{staticClass:\"space-y-16\"},[_c('div',{staticClass:\"flex items-center content-space-between\"},[_c('core.title',{staticClass:\"flex-0\",attrs:{\"title\":\"Contract Details\",\"allow-navigation\":\"\"},on:{\"back\":_vm.onBackClick}},[_vm._t(\"title\",[_c('core.label',{attrs:{\"icon-size\":\"18px\",\"icon-spacing\":\".6rem\"}},[_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"receipt-outline\"},slot:\"icon\"}),_c('H1',[_vm._v(\"Contract Details\")])],1)],null,_vm.slotScope),(!_vm.previousRoute)?_c('span',{attrs:{\"slot\":\"back\"},slot:\"back\"},[_vm._v(\"Contracts\")]):_vm._e()],2),_c('div',{staticClass:\"flex-1 flex content-end space-x-8\"},[_vm._t(\"controls\",null,null,_vm.slotScope)],2)],1),(_vm.getContractById.loading)?_c('core.loading',{attrs:{\"label\":\"Fetching contract...\"}}):_vm._e(),(!!_vm.error)?_c('div',[(_vm.error.isFatal)?_c('core.redirect-alert',{attrs:{\"redirect-target\":_vm.currentRoute.service.path,\"title\":\"Fatal error\",\"description\":_vm.error.message}}):_c('core.alert',{attrs:{\"type\":\"error\",\"title\":\"Contract error\",\"description\":_vm.error.message,\"closable\":false}})],1):_vm._e(),(!!_vm.contract && !_vm.getContractById.loading)?_c('div',{staticClass:\"space-y-16\"},[_c('div',{staticClass:\"flex flex-wrap container-x-24 container-y-16\"},[_c('core.details',{attrs:{\"spacing\":\"6px\"}},[_c('core.label',{attrs:{\"slot\":\"label\"},slot:\"label\"},[_c('H2',[_vm._v(\"General\")]),_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"information-circle\"},slot:\"icon\"})],1),_c('core.details',{attrs:{\"label\":\"Contract Code\"}},[_c('core.copy-label',{attrs:{\"value\":_vm.contract.externalId}},[_c('el-tooltip',{attrs:{\"effect\":\"light\",\"placement\":\"top\",\"content\":_vm.contract.externalId,\"disabled\":!_vm.contractCode.includes('...'),\"open-delay\":500}},[_c('span',[_vm._v(_vm._s(_vm.contractCode))])])],1)],1)],1),(!!_vm.contract.dimensions && _vm.contract.dimensions.length > 0)?_c('core.details',{staticStyle:{\"min-width\":\"10rem\"},attrs:{\"spacing\":\"6px\"}},[_c('core.label',{attrs:{\"slot\":\"label\",\"icon-size\":\"14px\"},slot:\"label\"},[_c('H2',[_vm._v(\"Licenses\")]),_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"reader-outline\"},slot:\"icon\"})],1),_c('div',{staticClass:\"flex flex-wrap container-x-16 containter-y-8\"},_vm._l((_vm.contract.dimensions),function(license){return _c('core.details',{key:license.dimension,attrs:{\"label\":license.dimension}},[_c('span',[_vm._v(_vm._s(_vm._f(\"pluralize\")(((license.units) + \" license\"),license.units)))])])}),1)],1):_vm._e(),_c('core.details',{staticStyle:{\"min-width\":\"10rem\"},attrs:{\"spacing\":\"6px\"}},[_c('core.label',{attrs:{\"slot\":\"label\",\"icon-size\":\"14px\"},slot:\"label\"},[_c('H2',[_vm._v(\"Agreement\")]),_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"reader-outline\"},slot:\"icon\"})],1),_c('div',{staticClass:\"flex flex-wrap container-x-16 containter-y-8\"},[_c('core.details',[(!_vm.contract.agreement)?_c('span',{staticClass:\"text-disabled\"},[_vm._v(\"N/A\")]):_c('span',[_c('a',{attrs:{\"href\":_vm.contract.agreement}},[_vm._v(\"View here\")])])])],1)],1),_c('div',{staticClass:\"flex flex-wrap container-x-16 containter-y-16\"},[_c('core.details',{staticStyle:{\"min-width\":\"10rem\"},attrs:{\"spacing\":\"6px\"}},[_c('core.label',{attrs:{\"slot\":\"label\",\"icon-size\":\"14px\"},slot:\"label\"},[_c('H2',[_vm._v(\"Extended Contract\")]),_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"reader-outline\"},slot:\"icon\"})],1),_c('div',{staticClass:\"flex items-start content-space-between\"},[(!_vm.contract.extendedContractId)?_c('span',{staticClass:\"text-disabled\"},[_vm._v(\"N/A\")]):_c('el-button',{attrs:{\"size\":\"mini\",\"type\":\"primary\",\"icon\":\"el-icon-more\"},on:{\"click\":function($event){return _vm.onViewContract(_vm.contract.extendedContractId)}}},[_c('span',[_vm._v(\"View contract details\")])])],1)],1)],1),_c('core.details',{staticStyle:{\"min-width\":\"10rem\"},attrs:{\"spacing\":\"6px\"}},[_c('core.label',{attrs:{\"slot\":\"label\",\"icon-size\":\"14px\"},slot:\"label\"},[_c('H2',[_vm._v(\"Financial information\")]),_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"reader-outline\"},slot:\"icon\"})],1),_c('div',{staticClass:\"flex flex-wrap container-x-16 containter-y-8\"},[_c('core.details',{attrs:{\"label\":\"Total Amount\"}},[(!_vm.contract.totalAmount)?_c('span',{staticClass:\"text-disabled\"},[_vm._v(\"N/A\")]):_c('span',[_vm._v(_vm._s(_vm.contract.totalAmount))])]),_c('core.details',{attrs:{\"label\":\"AWS Fee\"}},[(!_vm.contract.awsFee)?_c('span',{staticClass:\"text-disabled\"},[_vm._v(\"N/A\")]):_c('span',[_vm._v(_vm._s(_vm.contract.awsFee + \"%\"))])]),_c('core.details',{attrs:{\"label\":\"Revenue\"}},[(!_vm.contract.revenue)?_c('span',{staticClass:\"text-disabled\"},[_vm._v(\"N/A\")]):_c('span',[_vm._v(_vm._s(_vm.contract.revenue))])])],1)],1),(_vm.contract.observations)?_c('core.details',{staticStyle:{\"min-width\":\"10rem\"},attrs:{\"spacing\":\"6px\"}},[_c('core.label',{attrs:{\"slot\":\"label\",\"icon-size\":\"14px\"},slot:\"label\"},[_c('H2',[_vm._v(\"Observations\")]),_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"reader-outline\"},slot:\"icon\"})],1),_c('div',{staticClass:\"flex flex-wrap container-x-16 containter-y-8\"},[_c('span',[_vm._v(_vm._s(_vm.contract.observations))])])],1):_vm._e()],1),_c('core.details',{staticStyle:{\"min-width\":\"10rem\"},attrs:{\"spacing\":\"6px\"}},[_c('core.label',{attrs:{\"slot\":\"label\",\"icon-size\":\"14px\"},slot:\"label\"},[_c('H2',[_vm._v(\"Payments\")]),_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"reader-outline\"},slot:\"icon\"})],1),(!!_vm.contract)?_c('div',{staticClass:\"flex flex-wrap container-x-16 containter-y-8\"},[_c('div',{staticClass:\"payments-container flex flex-wrap container-x-16 containter-y-8\"},[(_vm.contract.payments.length === 0)?_c('span',{staticClass:\"text-disabled\"},[_vm._v(\"No Payment information\")]):_vm._e(),_vm._l((_vm.contract.payments),function(payment){return _c('core.card',{key:payment.id,staticClass:\"collapsable-card\",attrs:{\"bordered\":true}},[_c('core.details',{staticClass:\"payments\",attrs:{\"label\":_vm.paymentsNumber(payment.number)}},[_c('span',[_vm._v(_vm._s(payment.amount))])])],1)})],2)]):_vm._e()],1)],1):_vm._e()],1),_vm._t(\"default\",null,null,_vm.slotScope)],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { ConsoleError } from \"@Core/Errors/ConsoleError\";\nimport { ConsoleRoute } from \"@Core/Models/ConsoleRoute\";\nimport { Execution } from \"@Core/Models/Execution\";\nimport NavigationStore from \"@Core/Store/Navigation/Navigation.store\";\nimport { SessionToken } from \"@Module/Auth/Models/SessionToken.model\";\nimport AuthStore from \"@Module/Auth/Store/Auth.store\";\nimport { Contract, ContractNotificationsMap } from \"@Module/Licensing/Models/Contract.model\";\nimport { License } from \"@Module/Licensing/Models/License.model\";\nimport { LicensingStatusPhase } from \"@Module/Licensing/Models/LicensingStatus.model\";\nimport LicensingStore, { FetchByIdPayload, FetchLicenseByIdPayload, UpdateContractPayload } from \"@Module/Licensing/Store/Licensing.store\";\nimport { ServiceID, ServiceMap } from \"@Service/ServiceID\";\nimport AppSettingsStore from \"@Service/Settings/Store/AppSettings/AppSettings.store\";\nimport { Component, MapAction, MapGetter, mixins, Prop } from \"types-vue\";\nimport Clone from \"lodash.clonedeep\";\nimport { Watch } from \"vue-property-decorator\";\nimport { Notify } from \"@Core/Utils/Notify\";\nimport UsersStore from \"@Module/Users/Store/Users.store\";\nimport { User } from \"@Module/Users/Models/User.model\";\nimport { AccessRole } from \"@Module/Auth/Models/Roles/AccessRole.model\";\nimport { Permission } from \"@Module/Auth/Models/Roles/Permissions.model\";\nimport { LicenseFilters } from \"@Module/Licensing/Models/LicenseFilters.model\";\nimport { Dimension } from \"@Module/Licensing/Models/Dimension.model\";\nimport { Serializer } from \"@Core/Components/QueryParam/QueryParam\";\nimport OrgsStore from \"@Module/Orgs/Store/Orgs.store\";\nimport { Organization } from \"@Module/Orgs/Models/Organization.model\";\nimport OrgSwitchMixin from \"@Module/Orgs/Mixins/OrgSwitch.mixin\";\nimport { Utils } from \"@Core/Utils/Utils\";\nimport NotificationsOutboxStore from \"@Module/Notifications/Store/NotificationsOutbox.store\";\nimport { LicenseSharingNotification } from \"@Module/Notifications/Models/LicenseSharingNotification.model\";\nimport { LicenseReturnNotification } from \"@Module/Notifications/Models/LicenseReturnNotification.model\";\nimport NotificationsInboxStore from \"@Module/Notifications/Store/NotificationsInbox.store\";\nimport ReportsStore from \"@Module/Reports/Store/Reports.store\";\nimport { ReportContract } from \"@Module/Reports/Models/ReportContract.model\";\n\nconst enum DetailsTab {\n Licenses = \"licenses\",\n Notifications = \"notifications\"\n}\n\n@Component\nexport default class ContractReportDetails extends mixins(OrgSwitchMixin) {\n @MapGetter(UsersStore.Mapping)\n protected sessionUser: User;\n\n @MapGetter(AuthStore.Mapping)\n protected accessRole: AccessRole;\n\n @MapGetter(AppSettingsStore.Mapping)\n protected isPlainUi: boolean;\n\n @MapGetter(AuthStore.Mapping)\n protected sessionToken: SessionToken;\n\n @MapGetter(OrgsStore.Mapping)\n protected currentOrgHasChildren: boolean;\n\n @MapGetter(OrgsStore.Mapping)\n protected currentOrg: Organization;\n\n @MapGetter(NavigationStore.Mapping)\n protected previousRoute: ConsoleRoute;\n\n @MapGetter(NavigationStore.Mapping)\n protected currentRoute: ConsoleRoute;\n\n @MapGetter(OrgsStore.Mapping)\n protected orgArrayParamSerializer: Serializer;\n\n @MapAction(ReportsStore.Mapping)\n protected fetchReportContract: (contractId: number) => Promise;\n\n @MapAction(LicensingStore.Mapping)\n protected fetchLicensesByContractId: (payload: FetchLicenseByIdPayload) => Promise;\n\n @MapAction(NotificationsInboxStore.Mapping)\n protected fetchInbox: () => Promise;\n\n protected error: ConsoleError = null;\n protected contract: ReportContract = null;\n protected expandedRows: number[] = [];\n protected shouldDisplayTenantColumn: boolean = false;\n protected shouldDisplayOwnerColumn: boolean = false;\n\n protected getContractById = Execution.create(\n (contractId: number) => this.fetchReportContract(contractId));\n \n\n async mounted() {\n this.contract = await this.getContractById.run(Number(this.$route.params.id));\n }\n\n\n protected get contractCode(): string {\n if (this.$mq.md) return Utils.smartTrim(this.contract.externalId, 14);\n else return Utils.smartTrim(this.contract.externalId, 16);\n }\n\n @Watch(\"$route.params.id\", { immediate: true })\n protected async onIdParamChange() {\n if (!!this.contract && this.contract.id != Number(this.$route.params.id)){\n const contractId = Number(this.$route.params.id);\n if (isNaN(contractId)) {\n const errorMsg = `Invalid contract identifier '${this.$route.params.id}'.`;\n this.error = new ConsoleError(errorMsg, { fatal: true, meta: { contractId: this.$route.params.id } });\n return;\n }\n\n this.contract = await this.getContractById.run(contractId);\n if (!!this.getContractById.error) {\n const errorMsg = `Contract with identifier ${this.$route.params.id} was not found.`;\n this.error = new ConsoleError(errorMsg, { fatal: true, meta: { contractId: this.$route.params.id } });\n return;\n }\n \n };\n this.error = null;\n await this.$nextTick();\n\n \n \n\n const expNotif = this.$route.query.expnotif as string;\n const validExpNotifParam = [\"true\", \"false\"].includes(expNotif);\n if (!!this.$route.query.expnotif) {\n const query = Clone(this.$route.query);\n delete query.expnotif;\n this.$router.replace({ query }).catch(e => e);\n } \n }\n\n protected onBackClick() {\n this.$router.push({\n name: \"cxlink-financial-report\",\n });\n }\n\n @Watch(\"permissions\", {immediate: true, deep: true })\n protected onPermissionsChange() {\n this.getContractById.run(Number(this.$route.params.id));\n }\n\n protected paymentsNumber(paymentNumber ): string {\n return \"Payment \" + paymentNumber\n }\n\n\n protected get permissions() {\n return {\n CanListFinancialInfo: this.accessRole.can(ServiceID.Console, Permission.ListFinancialInfo)\n }\n }\n\n protected onViewContract(contractId: number) {\n this.$router.push({\n name: \"report-contract-details\",\n params: { id: contractId.toString() }\n });\n }\n\n protected get slotScope() {\n return {\n error: this.getContractById.error,\n loading: this.getContractById.loading,\n }\n }\n\n}","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--13-3!./ReportContractDetails.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--13-3!./ReportContractDetails.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ReportContractDetails.vue?vue&type=template&id=c4f659a6&scoped=true&\"\nimport script from \"./ReportContractDetails.ts?vue&type=script&lang=ts&\"\nexport * from \"./ReportContractDetails.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./ReportContractDetails.vue?vue&type=style&index=0&id=c4f659a6&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"c4f659a6\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NotificationListItem.vue?vue&type=style&index=0&id=cd837550&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('licensing.license-details-view',{attrs:{\"filters\":_vm.filters,\"service-id\":_vm.serviceId},on:{\"select-contract\":_vm.viewContract},scopedSlots:_vm._u([{key:\"host-filters\",fn:function(ref){\nvar data = ref.data;\nvar size = ref.size;\nvar disabled = ref.disabled;\nreturn _c('abap-suite.host-filters-panel-extension',{attrs:{\"filters\":_vm.filters,\"data\":data,\"size\":size,\"disabled\":disabled}})}},{key:\"extension\",fn:function(ref){\nvar host = ref.host;\nreturn _c('core.details',{attrs:{\"spacing\":\"6px\"}},[_c('core.label',{attrs:{\"slot\":\"label\"},slot:\"label\"},[_c('H2',[_vm._v(\"System\")]),_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"cube\"},slot:\"icon\"})],1),_c('div',{staticClass:\"flex flex-wrap container-x-16 container-y-16\"},[_c('core.details',{attrs:{\"label\":\"Production\"}},[_c('span',[_vm._v(_vm._s(host.isProduction ? 'Yes' : 'No'))])])],1)],1)}}])},[_c('core.query-param',{attrs:{\"name\":\"prod\",\"type\":\"string-array\"},model:{value:(_vm.filters.production),callback:function ($$v) {_vm.$set(_vm.filters, \"production\", $$v)},expression:\"filters.production\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { AbapSuiteHostFilters } from \"@Service/AbapSuite/Models/Filters/AbapSuiteHostFilters.model\";\nimport { AbapSuiteLicense } from \"@Service/AbapSuite/Models/AbapSuiteLicense.model\";\nimport { ServiceID } from \"@Service/ServiceID\";\nimport { Component } from \"types-vue\";\nimport Vue from \"vue\";\n\n@Component\nexport default class AbapSuiteLicenseDetails extends Vue {\n\n protected serviceId = ServiceID.AbapSuite;\n protected filters = AbapSuiteHostFilters.create();\n\n protected viewContract(license: AbapSuiteLicense) {\n this.$router.push({\n name: \"abap-suite-contract-details\",\n params: { id: license.contractId.toString() }\n });\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./AbapSuiteLicenseDetails.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./AbapSuiteLicenseDetails.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AbapSuiteLicenseDetails.vue?vue&type=template&id=8bd8cf7a&\"\nimport script from \"./AbapSuiteLicenseDetails.ts?vue&type=script&lang=ts&\"\nexport * from \"./AbapSuiteLicenseDetails.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('core.dialog',{ref:\"dialog\",attrs:{\"top\":\"10vh\",\"width\":\"45rem\",\"append-to-body\":\"\",\"visible\":_vm.reportsDialogVisible},on:{\"closed\":_vm.onClosed},scopedSlots:_vm._u([{key:\"footer\",fn:function(ref){\nvar cancel = ref.cancel;\nreturn _c('div',{staticClass:\"space-x-16\"},[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.onClosed}},[_vm._v(\"Close\")]),_c('core.superadmin-button',{attrs:{\"slot\":\"reference\",\"size\":\"small\"},on:{\"click\":_vm.createElement},slot:\"reference\"},[_c('span',[_vm._v(\"Add Contract Info\")])])],1)}}])},[_c('div',{staticClass:\"reports-form\"},[_c('core.label',{attrs:{\"slot\":\"title\",\"icon-size\":\"18px\",\"icon-spacing\":\".6rem\"},slot:\"title\"},[_c('H2',[_vm._v(\"Add Contract Financial Information\")])],1),_c('core.card',{staticClass:\"mb-16\",attrs:{\"bordered\":\"\"}},[_c('div',{staticClass:\"inputs-checkbox\"},[_c('el-checkbox',{staticClass:\"flex-3 mb-16\",attrs:{\"label\":\"Poc\",\"size\":\"medium\",\"controls-position\":\"right\"},model:{value:(_vm.reportContract.isPoc),callback:function ($$v) {_vm.$set(_vm.reportContract, \"isPoc\", $$v)},expression:\"reportContract.isPoc\"}}),_c('el-checkbox',{staticClass:\"flex-3 mb-16\",attrs:{\"size\":\"medium\",\"label\":\"Hide MRR\",\"controls-position\":\"right\"},model:{value:(_vm.reportContract.hideMRR),callback:function ($$v) {_vm.$set(_vm.reportContract, \"hideMRR\", $$v)},expression:\"reportContract.hideMRR\"}}),_c('el-checkbox',{staticClass:\"flex-3 mb-16\",attrs:{\"size\":\"medium\",\"label\":\"Auto Renewal\",\"controls-position\":\"right\"},model:{value:(_vm.reportContract.autorenewal),callback:function ($$v) {_vm.$set(_vm.reportContract, \"autorenewal\", $$v)},expression:\"reportContract.autorenewal\"}})],1)]),_c('core.card',{staticClass:\"mb-16\",attrs:{\"bordered\":\"\"}},[_c('core.details',{staticClass:\"form-input\",attrs:{\"label\":\"Extended Contract\"}},[_c('reports.contract-selector',{attrs:{\"contract\":_vm.contract,\"label\":\"Extended contract\"},model:{value:(_vm.extendedContractId),callback:function ($$v) {_vm.extendedContractId=$$v},expression:\"extendedContractId\"}})],1),_c('core.details',{staticClass:\"form-input\",attrs:{\"label\":\"Lead Generator\"}},[_c('reports.lead-generator-selector',{attrs:{\"leadGenerators\":_vm.leadGenSelector},model:{value:(_vm.leadGenID),callback:function ($$v) {_vm.leadGenID=$$v},expression:\"leadGenID\"}})],1),_c('core.details',{staticClass:\"form-input\",attrs:{\"label\":\"Lead Generator Observations\"}},[_c('el-input',{attrs:{\"type\":\"textarea\",\"rows\":3,\"size\":\"medium\",\"controls-position\":\"right\",\"value\":_vm.leadGenObservations},model:{value:(_vm.leadGenObservations),callback:function ($$v) {_vm.leadGenObservations=$$v},expression:\"leadGenObservations\"}})],1)],1)],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import DayJS, { Dayjs } from \"dayjs\";\nimport { ILeadGeneratorDto, LeadGenerator } from \"./LeadGenerator.model\";\n\nexport interface ILeadGeneratorContractDto {\n id: Number;\n contractID: Number;\n leadGeneratorID: Number;\n observations?: string;\n leadGenerator?: ILeadGeneratorDto;\n}\n\nexport class LeadGeneratorContract {\n id: Number;\n contractID: Number;\n leadGeneratorID: Number;\n LeadGenerator?: ILeadGeneratorDto;\n observations?: string;\n\n private constructor(dto: ILeadGeneratorContractDto ) {\n this.id = dto.id;\n this.contractID = dto.contractID;\n this.leadGeneratorID = dto.leadGeneratorID;\n this.LeadGenerator = dto.leadGenerator;\n this.observations = dto.observations;\n }\n\n public static create(dto?: Partial): LeadGeneratorContract {\n return new LeadGeneratorContract({\n id: dto?.id,\n contractID: dto?.contractID,\n leadGenerator: dto?.leadGenerator,\n leadGeneratorID: dto?.leadGeneratorID,\n observations: dto?.observations,\n });\n }\n\n public toDto(): ILeadGeneratorContractDto {\n return {\n id: this.id,\n contractID: this.contractID,\n leadGenerator: this.LeadGenerator,\n leadGeneratorID: this.leadGeneratorID,\n observations: this.observations,\n };\n }\n\n public static fromDto(dto: ILeadGeneratorContractDto ): LeadGeneratorContract {\n return new LeadGeneratorContract(dto);\n }\n}","import { Contract } from \"@Module/Licensing/Models/Contract.model\";\nimport LicensingStore from \"@Module/Licensing/Store/Licensing.store\";\nimport { Payment } from \"@Module/Reports/Models/Payment.model\";\nimport { IReportContractDto, ReportContract } from \"@Module/Reports/Models/ReportContract.model\";\nimport ReportsStore from \"@Module/Reports/Store/Reports.store\";\nimport { DatePickerOptions } from \"element-ui/types/date-picker\";\nimport DayJS from \"dayjs\";\nimport { Component, MapAction, MapGetter, Prop, Watch} from \"types-vue\";\nimport Vue from \"vue\";\nimport Dialog from \"@Core/Components/Dialog/Dialog\";\nimport { Execution } from \"@Core/Models/Execution\";\nimport { Notify } from \"@Core/Utils/Notify\";\nimport { cloneDeep } from \"lodash\";\nimport ReportsApi from \"@Module/Reports/API/Reports.api\";\nimport { SessionToken } from \"@Module/Auth/Models/SessionToken.model\";\nimport { LeadGenerator } from \"@Module/Reports/Models/LeadGenerator.model\";\nimport { LeadGeneratorContract } from \"@Module/Reports/Models/LeadGeneratorContract.model\";\nimport { ServiceID } from \"@Service/ServiceID\";\n\n@Component\nexport default class ReportsDialog extends Vue {\n @MapGetter(ReportsStore.Mapping)\n protected reportsDialogVisible: boolean;\n\n@Prop({ type: Object, default: null })\n protected contract: ReportContract;\n\n @MapAction(ReportsStore.Mapping)\n protected updateReportContract: (contract: IReportContractDto) => Promise;\n\n @MapAction(ReportsStore.Mapping)\n protected setReportsDialogVisible: (visible: boolean) => void\n protected reportContract: ReportContract = ReportContract.create()\n protected getLeadGenerators = Execution.create(() => ReportsApi.getLeadGenerators());\n protected leadGenSelector: LeadGenerator[] = []\n protected leadGenID: Number = null;\n protected leadGenObservations: string = \"\";\n protected extendedContractId: number = null;\n protected currencyOptions: string[] = [\"USD\", \"EUR\"];\n protected update = Execution.create((reportContract: IReportContractDto) => this.updateReportContract(reportContract));\n\n protected async fetchLeadGen(){\n const dtos = await this.getLeadGenerators.run();\n this.leadGenSelector = dtos.map(dto => LeadGenerator.fromDto(dto));\n }\n\n @Watch(\"sessionToken\", { immediate: true })\n protected async onSessionChange(token: SessionToken) {\n if (!!token && !token.hasExpired) {\n await this.fetchLeadGen();\n }\n }\n\n async mounted() {\n await this.fetchLeadGen()\n }\n\n async open(contract: ReportContract) {\n this.reportContract.payments.map(payment => { \n if (payment.date != null){\n payment.date = DayJS(payment.date).locale(\"es\").toDate(); return payment }\n }) \n this.reportContract = cloneDeep(contract);\n if (this.reportContract.extendedContractId){\n this.extendedContractId = this.reportContract.extendedContractId\n }\n if (this.reportContract.leadGenerator != null) {\n this.leadGenID = this.reportContract.leadGenerator.leadGeneratorID;\n this.leadGenObservations = this.reportContract.leadGenerator.observations;\n }\n this.setReportsDialogVisible(true)\n }\n\n protected onClosed() {\n this.reportContract = ReportContract.create();\n this.extendedContractId = null\n this.update.reset();\n this.setReportsDialogVisible(false)\n }\n\n protected addPaymentForm() {\n this.reportContract.payments.push(Payment.create({ number: this.reportContract.payments.length + 1, billingPeriodId: this.reportContract.id}))\n }\n\n protected removePaymentForm() {\n this.reportContract.payments.pop()\n }\n\n async onOpen() {\n this.setReportsDialogVisible(true)\n this.reportContract.payments.map(payment => { \n if (payment.date != null){\n payment.date = DayJS(payment.date).locale(\"es\").toDate(); return payment }\n }) \n }\n\n private async createElement() {\n \n if (this.extendedContractId) {\n this.reportContract.extendedContractId = this.extendedContractId;\n } \n if (this.leadGenID) {\n this.reportContract.leadGenerator = LeadGeneratorContract.create({ \n id: this.reportContract.leadGenerator?.id, leadGeneratorID: this.leadGenID, contractID: this.reportContract.id, observations: this.leadGenObservations })\n }\n await this.update.run(this.reportContract.toDto());\n if (!this.update.error) {\n Notify.Success({\n title: \"Contract updated\",\n message: \"Contract successfully updated.\",\n duration: 3000\n });\n (this.$refs.dialog as Dialog).success(true);\n }\n}\n\n protected get datePickerOptions(): DatePickerOptions {\n return {\n shortcuts: [{\n text: 'In 1 Week',\n onClick: (picker) => picker.$emit(\"pick\", DayJS().add(1, \"weeks\").toDate())\n }, {\n text: 'In 15 Days',\n onClick: (picker) => picker.$emit(\"pick\", DayJS().add(15, \"days\").toDate())\n }, {\n text: 'In 1 Month',\n onClick: (picker) => picker.$emit(\"pick\", DayJS().add(1, \"month\").toDate())\n }, {\n text: 'In 1 Year',\n onClick: (picker) => picker.$emit(\"pick\", DayJS().add(1, \"year\").toDate())\n }]\n }\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./ReportsDialog.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./ReportsDialog.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ReportsDialog.vue?vue&type=template&id=b2ffa1ce&scoped=true&\"\nimport script from \"./ReportsDialog.ts?vue&type=script&lang=ts&\"\nexport * from \"./ReportsDialog.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./ReportsDialog.vue?vue&type=style&index=0&id=b2ffa1ce&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"b2ffa1ce\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TrialSummary.vue?vue&type=style&index=0&id=71e68688&lang=scss&scoped=true&\"","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReportContractDetails.vue?vue&type=style&index=0&id=c4f659a6&lang=scss&scoped=true&\"","import { ServiceID } from \"@Service/ServiceID\";\nimport DayJS, { Dayjs } from \"dayjs\";\n\nexport enum TrialStatus {\n Available = \"Available\",\n Active = \"Active\",\n Expired = \"Expired\",\n NotAvailable = \"Not Available\"\n} \n\nexport interface ITrialInfoDto {\n status: string;\n expiration: string;\n}\n\nexport class TrialInfo {\n public readonly status: TrialStatus;\n public readonly expiration: Dayjs;\n public readonly service: ServiceID;\n\n private constructor(dto: ITrialInfoDto, service: ServiceID) {\n this.status = dto.status as TrialStatus;\n this.expiration = DayJS(dto.expiration);\n this.service = service;\n }\n\n public static fromDto(dto: ITrialInfoDto, service: ServiceID): TrialInfo {\n return new TrialInfo(dto, service);\n }\n\n public get canApply(): boolean { \n return this.status === TrialStatus.Available; \n }\n\n public get isActive(): boolean { \n return this.status === TrialStatus.Active \n && !!this.expiration && DayJS().isBefore(this.expiration); \n }\n\n public get statusMessage(): string {\n switch (this.status) {\n case TrialStatus.Expired: return \"You have used your trial period and it has already expired.\";\n case TrialStatus.Active: return `Your trial period is currently active. It will expire ${this.remainingTime}.`;\n case TrialStatus.NotAvailable: return `Your trial period is not available.`;\n default: return `You are eligible for trial period.`;\n }\n }\n\n public get remainingTime(): string {\n return this.expiration.startOf(\"day\").fromNow();\n }\n\n public get remainingDays(): number {\n return this.expiration.diff(DayJS(), \"days\");\n }\n\n public get remainingSeconds(): number {\n return this.expiration.diff(DayJS(), \"seconds\");\n }\n\n}","import ResourcesStore, { ResourcesStoreAction, SetResourcePermissionsPayload } from \"@Module/Resources/Store/Resources.store\";\nimport LicensingStore, { ContractsDtoPayload, LicensingStoreAction } from \"@Module/Licensing/Store/Licensing.store\";\nimport { FetchLicenseByIdPayload } from \"@Module/Licensing/Store/Licensing.store\";\nimport { ServiceID, ServiceMap, ServicePayload } from \"@Service/ServiceID\";\nimport OrgsStore, { OrgsStoreGetter } from \"@Module/Orgs/Store/Orgs.store\";\nimport { Action, Getter, Module, Mutation, VuexModule } from \"types-vue\";\nimport { IDimensionUnits } from \"../../Licensing/Models/Dimension.model\";\nimport { Organization } from \"@Module/Orgs/Models/Organization.model\";\nimport { TrialInfo } from \"../Models/TrialInfo.model\";\nimport { TrialsStoreState } from \"./Trial.state\";\nimport { Utils } from \"@Core/Utils/Utils\";\nimport TrialApi from \"../API/Trial.api\";\nimport { ActionContext } from \"vuex\";\nimport Vue from \"vue\";\n\nconst enum TrialsStoreCommit {\n SetTrialInfo = \"_setTrialInfo\",\n SetTrialsInfoMap = \"_setTrialsInfoMap\"\n}\n\nexport type TrialRequestPayload = ServicePayload;\n\ndeclare type TrialStoreContext = ActionContext;\n\n@Module({ namespaced: true })\nexport default class TrialStore extends VuexModule implements TrialsStoreState {\n public static readonly Mapping = Utils.createVuexMappingOptions(\"Trial\");\n \n public _trialsInfoMap: ServiceMap = {};\n\n @Getter()\n public emoryTrialInfo(): TrialInfo | null {\n return this._trialsInfoMap[ServiceID.Emory] || null;\n }\n\n @Getter()\n public connectorTrialInfo(): TrialInfo | null {\n return this._trialsInfoMap[ServiceID.Connector] || null;\n }\n \n @Getter()\n public trialInfo(): ServiceMap {\n return this._trialsInfoMap;\n }\n\n @Mutation()\n protected _setTrialsInfoMap(trialsInfo: ServiceMap) {\n this._trialsInfoMap = trialsInfo;\n }\n\n @Mutation()\n protected _setTrialInfo(trialInfo: TrialInfo) {\n Vue.set(this._trialsInfoMap, trialInfo.service, trialInfo);\n }\n\n @Action({ commit: TrialsStoreCommit.SetTrialsInfoMap })\n public async clearTrialStore(): Promise> {\n return {};\n }\n\n @Action({ commit: TrialsStoreCommit.SetTrialInfo })\n public async fetchTrialInfo(serviceId: ServiceID): Promise {\n const trialDto = await TrialApi.getTrialInfo(serviceId);\n return TrialInfo.fromDto(trialDto, serviceId);\n }\n\n @Action({ useContext: true })\n public async requestTrialStart(ctx: TrialStoreContext, payload: TrialRequestPayload): Promise {\n const org: Organization = OrgsStore.Mapping.rootGetter(OrgsStoreGetter.CurrentOrg)(ctx);\n const responseDto = await TrialApi.requestTrialStart(payload.service, org, payload.data);\n \n const trialInfo = TrialInfo.fromDto(responseDto.trial, payload.service);\n ctx.commit(TrialsStoreCommit.SetTrialInfo, trialInfo);\n\n const addContracts = LicensingStore.Mapping.rootAction(LicensingStoreAction.AddContracts);\n await addContracts(ctx, { service: payload.service, data: [responseDto.contract] } as ContractsDtoPayload);\n\n const setResPermissions = ResourcesStore.Mapping.rootAction(ResourcesStoreAction.SetResourcePermissions);\n await setResPermissions(ctx, { service: payload.service, data: { canDownload: true } } as SetResourcePermissionsPayload);\n\n const fetchContractLicenses = LicensingStore.Mapping.rootAction(LicensingStoreAction.FetchLicensesByContractId);\n await fetchContractLicenses(ctx, { service: payload.service, data: responseDto.contract.id } as FetchLicenseByIdPayload);\n\n return trialInfo;\n }\n\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"block\"},[_c('core.label',{attrs:{\"slot\":\"label\",\"icon-size\":\"14px\"},slot:\"label\"},[_c('H2',[_vm._v(\"Billing Period\")]),_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"card-outline\"},slot:\"icon\"})],1),_c('el-timeline',_vm._l((_vm.billingPeriods),function(item){return _c('el-timeline-item',{attrs:{\"timestamp\":_vm.getTimePeriod(item.startDate, item.endDate),\"placement\":\"top\"}},[(_vm.displayPeriods(item))?_c('el-card',[(item.agreement)?_c('div',{staticClass:\"billing-period-el\"},[_c('h4',[_vm._v(\"Agreement\")]),_c('a',{attrs:{\"href\":item.agreement}},[_c('ion-icon',{attrs:{\"name\":\"document-outline\"}})],1)]):_vm._e(),(item.awsFee)?_c('div',{staticClass:\"billing-period-el\"},[_c('h4',[_vm._v(\"AWS Fee\")]),_c('p',[_vm._v(_vm._s(item.awsFee + ' %'))])]):_vm._e(),(item.totalAmount)?_c('div',{staticClass:\"billing-period-el\"},[_c('h4',[_vm._v(\"Total Amount\")]),_c('p',[_vm._v(_vm._s(item.totalAmount))])]):_vm._e(),(item.revenue || item.revenue === 0)?_c('div',{staticClass:\"billing-period-el\"},[_c('h4',[_vm._v(\"Revenue\")]),_c('p',[_vm._v(_vm._s(item.revenue))])]):_vm._e(),(item.paymentsNumber)?_c('div',{staticClass:\"billing-period-el\"},[_c('h4',[_vm._v(\"Payments number\")]),_c('p',[_vm._v(_vm._s(item.paymentsNumber))])]):_vm._e(),(item.observations)?_c('div',{staticClass:\"billing-period-el\"},[_c('core.label',[_c('el-tooltip',{attrs:{\"effect\":\"light\",\"placement\":\"left\",\"content\":item.observations}},[_c('el-button',{attrs:{\"size\":\"mini\",\"type\":\"text\"}},[_vm._v(\"observations\")])],1)],1)],1):_vm._e(),_c('el-button',{staticClass:\"edit-button\",attrs:{\"size\":\"mini\",\"icon\":\"el-icon-edit\"},on:{\"click\":function($event){return _vm.$refs.billingPeriodDialog.open(item)}}},[_c('span',[_vm._v(\"Edit\")])])],1):_c('el-card',[_c('p',[_vm._v(\"This billing period has no additional information.\")]),_c('el-button',{staticClass:\"edit-button\",attrs:{\"size\":\"mini\",\"icon\":\"el-icon-edit\"},on:{\"click\":function($event){return _vm.$refs.billingPeriodDialog.open(item)}}},[_c('span',[_vm._v(\"Edit\")])])],1)],1)}),1),_c('el-button',{attrs:{\"size\":\"mini\"},on:{\"click\":function($event){return _vm.$refs.billingPeriodDialog.open(null)}}},[_vm._v(\"Add billing period\")]),_c('reports.billing-period-dialog',{ref:\"billingPeriodDialog\",attrs:{\"contractId\":_vm.contractId}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { IBillingPeriodDto } from \"@Module/Reports/Models/BillingPeriod.model\";\nimport { ReportContract } from \"@Module/Reports/Models/ReportContract.model\";\nimport dayjs, { Dayjs } from \"dayjs\";\nimport { Component, Prop, Watch } from \"types-vue\";\nimport Vue from \"vue\";\n\n@Component\nexport default class BillingPeriod extends Vue {\n\n @Prop({ type: Object, required: true })\n protected reportContract: ReportContract;\n\n @Prop({ type: Number, default: null })\n protected contractId: number;\n\n protected get billingPeriods(): IBillingPeriodDto[] {\n return this.reportContract.billingPeriods;\n }\n protected displayPeriods(billingPeriod: IBillingPeriodDto): boolean {\n return billingPeriod.payments !== undefined || !!billingPeriod.revenue || billingPeriod.revenue === 0\n || !!billingPeriod.totalAmount || !!billingPeriod.paymentsNumber || !!billingPeriod.currency\n || !!billingPeriod.agreement || !!billingPeriod.awsFee;\n }\n\n protected getTimePeriod(startDate: Dayjs, endDate: Dayjs): string {\n if (!endDate) {\n return `${this.getFormattedDate(startDate)} - Present (Auto Renewal)`;\n } else {\n return `${this.getFormattedDate(startDate)} - ${this.getFormattedDate(endDate)}`;\n }\n }\n\n protected getFormattedDate(time: Dayjs): string {\n return dayjs(time).format(\"DD/MM/YYYY\");\n }\n\n protected getCurrencySign(currency: string): string {\n switch(currency) {\n case \"USD\":\n return \"$\";\n case \"EUR\":\n return \"€\";\n default:\n return \"\";\n }\n }\n}\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./BillingPeriod.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./BillingPeriod.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./BillingPeriod.vue?vue&type=template&id=3f493fc6&scoped=true&\"\nimport script from \"./BillingPeriod.ts?vue&type=script&lang=ts&\"\nexport * from \"./BillingPeriod.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./BillingPeriod.vue?vue&type=style&index=0&id=3f493fc6&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3f493fc6\",\n null\n \n)\n\nexport default component.exports","import { SignInChallenge } from \"./SignInChallenge.model\";\n\nexport interface INewPwdChallengeDto {\n username: string;\n challenge_name: string;\n session: string;\n password: string;\n}\n\nexport class NewPwdChallenge {\n username: string;\n challengeName: string;\n session: string;\n keepSession: boolean;\n password: string;\n passwordRetype: string;\n\n private constructor(challenge: SignInChallenge) {\n this.username = challenge.username;\n this.session = challenge.session;\n this.keepSession = challenge.keepSession;\n this.challengeName = challenge.challengeName;\n this.password = null;\n this.passwordRetype = null;\n }\n\n public static create(challenge: SignInChallenge): NewPwdChallenge {\n return new NewPwdChallenge(challenge);\n }\n\n public toDto(): INewPwdChallengeDto {\n return {\n username: this.username,\n challenge_name: this.challengeName,\n session: this.session,\n password: this.password\n };\n }\n\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('core.columns-layout',{staticClass:\"contracts-view\",attrs:{\"show-right\":!_vm.$mq.lg}},[(_vm.permissions.CanCreateContract)?_c('licensing.admin-create-contract-dialog',{ref:\"createContractDialog\",attrs:{\"service-id\":_vm.serviceId}}):_vm._e(),(_vm.permissions.CanEditContract)?_c('licensing.admin-edit-contract-dialog',{ref:\"editContractDialog\",attrs:{\"service-id\":_vm.serviceId}}):_vm._e(),(_vm.permissions.CanExportSummary)?_c('licensing.export-licensing-summary-dialog',{ref:\"exportLicensingSummaryDialog\",attrs:{\"service-id\":_vm.serviceId}}):_vm._e(),_c('core.query-param',{attrs:{\"name\":\"expand\",\"type\":\"number-array\"},model:{value:(_vm.expandedRows),callback:function ($$v) {_vm.expandedRows=$$v},expression:\"expandedRows\"}}),_c('core.query-param',{attrs:{\"name\":\"search\",\"delay\":400},model:{value:(_vm.filters.search),callback:function ($$v) {_vm.$set(_vm.filters, \"search\", $$v)},expression:\"filters.search\"}}),_c('core.query-param',{attrs:{\"name\":\"status\",\"type\":\"string-array\"},model:{value:(_vm.filters.status),callback:function ($$v) {_vm.$set(_vm.filters, \"status\", $$v)},expression:\"filters.status\"}}),_c('core.query-param',{attrs:{\"name\":\"origin\",\"type\":\"string-array\"},model:{value:(_vm.filters.origins),callback:function ($$v) {_vm.$set(_vm.filters, \"origins\", $$v)},expression:\"filters.origins\"}}),_c('core.query-param',{attrs:{\"name\":\"expnotif\",\"type\":\"string-array\"},model:{value:(_vm.filters.expNotif),callback:function ($$v) {_vm.$set(_vm.filters, \"expNotif\", $$v)},expression:\"filters.expNotif\"}}),_c('core.query-param',{attrs:{\"name\":\"onlyhosts\",\"type\":\"boolean\"},model:{value:(_vm.filters.onlyWithHosts),callback:function ($$v) {_vm.$set(_vm.filters, \"onlyWithHosts\", $$v)},expression:\"filters.onlyWithHosts\"}}),_c('div',{staticClass:\"space-y-16\"},[_c('div',{staticClass:\"flex items-center space-x-8\"},[_c('core.title',{staticClass:\"flex-0\"},[_vm._t(\"title\",[_c('core.label',{attrs:{\"icon-size\":\"18px\",\"icon-spacing\":\".6rem\"}},[_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"receipt-outline\"},slot:\"icon\"}),_c('H1',[_vm._v(\"Contracts\")])],1)],null,_vm.slotScope)],2),_c('div',{staticClass:\"flex-1 flex space-x-8 content-end\"},[(_vm.permissions.CanExportSummary)?_c('el-button',{attrs:{\"size\":\"small\",\"icon\":\"el-icon-download\",\"disabled\":!_vm.hasContracts || _vm.getContracts.loading},on:{\"click\":function($event){return _vm.$refs.exportLicensingSummaryDialog.open()}}},[_c('span',[_vm._v(\"Export summary\")])]):_vm._e(),_vm._t(\"controls\",null,null,_vm.slotScope),(_vm.permissions.CanCreateContract)?_c('core.superadmin-button',{attrs:{\"size\":\"small\"},on:{\"click\":function($event){return _vm.$refs.createContractDialog.open()}}},[_c('span',[_vm._v(\"Create contract\")])]):_vm._e()],2)],1),(!_vm.$mq.sm)?_c('licensing.licensing-status-breakdown',{attrs:{\"status\":_vm.serviceContractsStatus,\"loading\":_vm.getContracts.loading,\"bordered\":_vm.isPlainUi}}):_vm._e(),(!!_vm.getContracts.error)?_c('core.alert',{attrs:{\"type\":\"error\",\"title\":\"Contracts Error\",\"description\":_vm.getContracts.error.message,\"closable\":false}},[_c('el-button',{attrs:{\"slot\":\"footer\",\"size\":\"mini\",\"icon\":\"el-icon-refresh-right\",\"type\":\"default\"},on:{\"click\":function($event){return _vm.getContracts.run()}},slot:\"footer\"},[_vm._v(\"Try again\")])],1):_c('core.card',{attrs:{\"bordered\":_vm.isPlainUi,\"no-padding\":\"\"}},[_c('div',{staticClass:\"flex container-x-8 container-y-8 flex-wrap pt-16 p-x-16\"},[_c('el-input',{staticClass:\"free-text-filter flex-1\",attrs:{\"disabled\":!_vm.hasContracts,\"prefix-icon\":\"el-icon-search\",\"placeholder\":\"Search contracts\",\"clearable\":\"\"},model:{value:(_vm.filters.search),callback:function ($$v) {_vm.$set(_vm.filters, \"search\", $$v)},expression:\"filters.search\"}}),(_vm.$mq.lg)?_c('core.filters-drawer',{attrs:{\"title\":\"Contract filters\",\"disabled\":_vm.firstLoad,\"clear-disabled\":!_vm.filters.isFiltering},on:{\"clear\":_vm.clearFilters}},[_c('div',{staticClass:\"contracts-summary space-y-16\"},[_c('licensing.contract-filters-panel',{attrs:{\"service-id\":_vm.serviceId,\"disabled\":!_vm.hasContracts},model:{value:(_vm.filters),callback:function ($$v) {_vm.filters=$$v},expression:\"filters\"}}),(_vm.$mq.sm)?_c('licensing.licensing-status-breakdown',{attrs:{\"status\":_vm.serviceContractsStatus,\"loading\":_vm.getContracts.loading,\"bordered\":\"\"}}):_vm._e(),_c('licensing.next-expirations-collapse',{attrs:{\"data\":_vm.filteredContracts,\"cookie\":_vm.expThresholdCookie,\"loading\":_vm.firstLoad,\"bordered\":\"\",\"compact\":\"\"},on:{\"select\":_vm.onViewContract},scopedSlots:_vm._u([{key:\"empty\",fn:function(ref){\nvar thresholdLabel = ref.thresholdLabel;\nreturn _c('core.empty',{attrs:{\"compact\":\"\"}},[_c('ion-icon',{staticClass:\"mb-4\",attrs:{\"slot\":\"icon\",\"name\":\"calendar\"},slot:\"icon\"}),_c('span',[_vm._v(\"No contract expirations for the next \"+_vm._s(thresholdLabel)+\".\")])],1)}},{key:\"default\",fn:function(ref){\nvar item = ref.item;\nreturn _c('licensing.contract-list-row',{key:item.id,attrs:{\"contract\":item}})}}],null,false,2341925062)})],1)]):_vm._e()],1),_c('el-table',{ref:\"table\",attrs:{\"data\":_vm.filteredContracts,\"empty-text\":\" \",\"tooltip-effect\":\"light\",\"default-sort\":{ prop: 'status.phase', order: 'ascending' },\"row-key\":\"id\",\"expand-row-keys\":_vm.expandedRowIds},on:{\"expand-change\":_vm.toggleExpansion,\"row-click\":_vm.toggleExpansion}},[(_vm.firstLoad)?_c('core.loading',{attrs:{\"slot\":\"empty\",\"label\":\"Fetching contracts...\",\"height\":\"7.2rem\"},slot:\"empty\"}):(!_vm.hasContracts && !_vm.getContracts.loading)?_vm._t(\"empty\",[_c('core.empty',{attrs:{\"description\":\"You have no contracts.\"}},[_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"receipt-outline\"},slot:\"icon\"})],1)],{\"slot\":\"empty\"},_vm.slotScope):(_vm.filteredContracts.length === 0 && !_vm.getContracts.loading)?_c('core.empty',{attrs:{\"slot\":\"empty\"},slot:\"empty\"},[_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"receipt-outline\"},slot:\"icon\"}),_c('div',{staticClass:\"flex-y space-y-16 items-center\"},[_c('span',[_vm._v(\"No contract meets your filtering criteria.\")]),_c('el-button',{staticClass:\"w-max-content\",attrs:{\"size\":\"small\",\"icon\":\"el-icon-delete\"},on:{\"click\":_vm.clearFilters}},[_c('span',[_vm._v(\"Clear filters\")])])],1)],1):_vm._e(),_c('el-table-column',{attrs:{\"type\":\"expand\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar row = ref.row;\nreturn _c('div',{staticClass:\"space-y-16\"},[_c('H2',[_vm._v(\"Contract #C\"+_vm._s(row.id))]),_vm._t(\"expand\",[_c('licensing.contract-summary',{attrs:{\"contract\":row,\"expand\":\"\"}},[_c('div',{staticClass:\"flex items-start content-space-between\"},[_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"primary\",\"icon\":\"el-icon-more\"},on:{\"click\":function($event){return _vm.onViewContract(row)}}},[_c('span',[_vm._v(\"View contract details\")])]),(!row.isAWS && _vm.permissions.CanEditContract)?_c('core.superadmin-button',{attrs:{\"size\":\"small\"},on:{\"click\":function () { return _vm.$refs.editContractDialog.open(row); }}},[_c('span',[_vm._v(\"Edit contract\")])]):_vm._e()],1)])],{\"contract\":row},_vm.slotScope)],2)}}],null,true)}),_c('el-table-column',{attrs:{\"prop\":\"status.phase\",\"label\":\"Status\",\"sortable\":_vm.hasContracts,\"min-width\":\"90\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar row = ref.row;\nreturn _c('licensing.licensing-status-tag',{attrs:{\"status\":row.status}})}}])}),_c('el-table-column',{attrs:{\"prop\":\"origin\",\"label\":\"\",\"min-width\":\"85\",\"show-overflow-tooltip\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar row = ref.row;\nreturn (row.origin === 'AWS')?_c('img',{staticClass:\"aws-icon\",attrs:{\"src\":\"icons/aws.svg\",\"alt\":\"aws\"}}):_vm._e()}}],null,true)}),(!_vm.$mq.md)?_c('el-table-column',{attrs:{\"prop\":\"creation\",\"label\":\"Creation\",\"sortable\":_vm.hasContracts,\"sort-method\":function (a, b) { return a.creation.diff(b.creation); },\"min-width\":\"115\",\"show-overflow-tooltip\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar row = ref.row;\nreturn _c('core.date-label',{staticClass:\"w-max-full\",attrs:{\"date\":row.creation,\"format\":\"MM/DD/YYYY HH:mm\",\"icon-size\":\"12px\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar date = ref.date;\nreturn _c('span',{staticClass:\"text-ellipsis\"},[_vm._v(_vm._s(_vm._f(\"capitalize\")(date.fromNow())))])}},{key:\"tooltip\",fn:function(ref){\nvar formattedDate = ref.formattedDate;\nreturn _c('span',{},[_vm._v(_vm._s(formattedDate))])}}],null,false,333792252)})}}],null,false,2129725008)}):_vm._e(),_c('el-table-column',{attrs:{\"prop\":\"expiration\",\"label\":_vm.$mq.xl ? 'Exp.' : 'Expiration',\"sortable\":_vm.hasContracts,\"sort-method\":function (a, b) { return a.expiration.diff(b.expiration); },\"min-width\":_vm.$mq.xl ? 115 : 125,\"show-overflow-tooltip\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar row = ref.row;\nreturn [(_vm.permissions.CanEditContractNotifications)?_c('core.label',{staticClass:\"w-max-full\",attrs:{\"icon-spacing\":\"4px\",\"type\":row.hasExpirationNotifEnabled ? 'primary' : 'disabled'}},[_c('core.date-label',{staticClass:\"w-max-full text-ellipsis\",attrs:{\"date\":row.expiration,\"format\":\"MM/DD/YYYY HH:mm\",\"icon-size\":\"12px\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar date = ref.date;\nreturn _c('span',{staticClass:\"text-ellipsis\"},[_vm._v(_vm._s(_vm._f(\"capitalize\")(date.fromNow())))])}},{key:\"tooltip\",fn:function(ref){\nvar formattedDate = ref.formattedDate;\nreturn _c('span',{},[_vm._v(_vm._s(formattedDate))])}}],null,true)}),_c('el-tooltip',{attrs:{\"slot\":\"icon\",\"effect\":row.hasExpirationNotifEnabled ? 'dark' : 'light',\"placement\":\"top\",\"open-delay\":500,\"transition\":\"el-zoom-in-bottom\",\"enterable\":false,\"content\":(\"Notification \" + (row.hasExpirationNotifEnabled ? 'enabled' : 'disabled'))},slot:\"icon\"},[_c('span',{staticClass:\"flex\"},[_c('ion-icon',{attrs:{\"name\":row.hasExpirationNotifEnabled ? 'notifications-outline' : 'notifications-off-outline'}})],1)])],1):_c('core.date-label',{staticClass:\"w-max-full\",attrs:{\"date\":row.expiration,\"format\":\"MM/DD/YYYY HH:mm\",\"icon-size\":\"12px\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar date = ref.date;\nreturn _c('span',{staticClass:\"text-ellipsis\"},[_vm._v(_vm._s(_vm._f(\"capitalize\")(date.fromNow())))])}},{key:\"tooltip\",fn:function(ref){\nvar formattedDate = ref.formattedDate;\nreturn _c('span',{},[_vm._v(_vm._s(formattedDate))])}}],null,true)})]}}])}),_c('el-table-column',{attrs:{\"prop\":\"licensesCount\",\"label\":\"Licenses\",\"sortable\":_vm.hasContracts,\"min-width\":\"100\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar row = ref.row;\nreturn _c('span',{staticClass:\"space-x-4\"},[_c('span',{staticStyle:{\"font-weight\":\"600\",\"font-size\":\"20px\"}},[_vm._v(_vm._s(row.licensesCount))]),_c('small',[_vm._v(_vm._s(_vm._f(\"pluralize\")('license',row.licensesCount)))])])}}])}),_c('el-table-column',{attrs:{\"prop\":\"hostCount\",\"label\":\"Hosts\",\"sortable\":_vm.hasContracts,\"min-width\":\"80\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar row = ref.row;\nreturn _c('span',{staticClass:\"space-x-4\"},[_c('span',{staticStyle:{\"font-weight\":\"600\",\"font-size\":\"20px\"}},[_vm._v(_vm._s(row.hostCount))]),_c('small',[_vm._v(_vm._s(_vm._f(\"pluralize\")('host',row.hostCount)))])])}}])}),_c('el-table-column',{attrs:{\"width\":\"50\",\"show-overflow-tooltip\":\"\",\"header-align\":\"right\"},scopedSlots:_vm._u([{key:\"header\",fn:function(ref){\nvar $index = ref.$index;\nreturn _c('transition',{attrs:{\"name\":\"el-fade-in\"}},[(_vm.getContracts.loading)?_c('i',{key:$index,staticClass:\"el-icon-loading table-loading-indicator\"}):_vm._e()])}},{key:\"default\",fn:function(ref){\nvar row = ref.row;\nreturn _c('el-tooltip',{attrs:{\"content\":\"View contract details\",\"effect\":\"light\",\"placement\":\"top\",\"open-delay\":500,\"enterable\":false}},[_c('el-button',{staticClass:\"details-button\",attrs:{\"size\":\"mini\",\"type\":\"text\",\"circle\":\"\"},on:{\"click\":function($event){return _vm.onViewContract(row)}}},[_c('ion-icon',{attrs:{\"name\":\"arrow-forward-outline\"}})],1)],1)}}])})],2)],1)],1),_c('div',{staticClass:\"contracts-summary space-y-16\",attrs:{\"slot\":\"right\"},slot:\"right\"},[_c('core.filters-collapse',{attrs:{\"filtering\":_vm.filters.isFiltering,\"disabled\":!_vm.filters.isFiltering,\"bordered\":_vm.isPlainUi},on:{\"clear\":_vm.clearFilters}},[_c('licensing.contract-filters-panel',{attrs:{\"service-id\":_vm.serviceId,\"disabled\":!_vm.hasContracts},model:{value:(_vm.filters),callback:function ($$v) {_vm.filters=$$v},expression:\"filters\"}})],1),_c('licensing.next-expirations-collapse',{attrs:{\"data\":_vm.filteredContracts,\"bordered\":_vm.isPlainUi,\"cookie\":_vm.expThresholdCookie,\"loading\":_vm.firstLoad,\"compact\":\"\"},on:{\"select\":_vm.onViewContract},scopedSlots:_vm._u([{key:\"empty\",fn:function(ref){\nvar thresholdLabel = ref.thresholdLabel;\nreturn _c('core.empty',{attrs:{\"compact\":\"\"}},[_c('ion-icon',{staticClass:\"mb-4\",attrs:{\"slot\":\"icon\",\"name\":\"calendar\"},slot:\"icon\"}),_c('span',[_vm._v(\"No contract expirations for the next \"+_vm._s(thresholdLabel)+\".\")])],1)}},{key:\"default\",fn:function(ref){\nvar item = ref.item;\nreturn _c('licensing.contract-list-row',{key:item.id,attrs:{\"contract\":item}})}}])})],1),_vm._t(\"default\",null,null,_vm.slotScope)],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { ExpirationThresholdCookie } from \"@Module/Licensing/Models/ExpirationThreshold.model\";\nimport AppSettingsStore from \"@Service/Settings/Store/AppSettings/AppSettings.store\";\nimport { LicensingStatus } from \"@Module/Licensing/Models/LicensingStatus.model\";\nimport { ContractFilters } from \"@Module/Licensing/Models/ContractFilters.model\";\nimport { ContractOrigin } from \"@Module/Licensing/Models/ContractOrigin\";\nimport { Permission } from \"@Module/Auth/Models/Roles/Permissions.model\";\nimport { AccessRole } from \"@Module/Auth/Models/Roles/AccessRole.model\";\nimport { SessionToken } from \"@Module/Auth/Models/SessionToken.model\";\nimport LicensingStore from \"@Module/Licensing/Store/Licensing.store\";\nimport { Contract } from \"@Module/Licensing/Models/Contract.model\";\nimport { Component, MapAction, MapGetter, Prop } from \"types-vue\";\nimport { ServiceID, ServiceMap } from \"@Service/ServiceID\";\nimport UsersStore from \"@Module/Users/Store/Users.store\";\nimport { User } from \"@Module/Users/Models/User.model\";\nimport AuthStore from \"@Module/Auth/Store/Auth.store\";\nimport OrgsStore from \"@Module/Orgs/Store/Orgs.store\";\nimport { Execution } from \"@Core/Models/Execution\";\nimport { Watch } from \"vue-property-decorator\";\nimport Vue from \"vue\";\n\nconst enum ContractsCookie {\n ExpThreshold = \"console.contracts.exp-threshold\"\n}\n\n@Component\nexport default class ContractsView extends Vue {\n\n @Prop({ type: String, required: true })\n protected serviceId: ServiceID;\n \n @MapGetter(AppSettingsStore.Mapping)\n protected isPlainUi: boolean;\n\n @MapGetter(AuthStore.Mapping)\n protected sessionToken: SessionToken;\n\n @MapGetter(UsersStore.Mapping)\n protected sessionUser: User;\n\n @MapGetter(AuthStore.Mapping)\n protected accessRole: AccessRole;\n\n @MapGetter(LicensingStore.Mapping)\n protected contracts: ServiceMap;\n\n @MapAction(LicensingStore.Mapping)\n protected fetchAllContracts: (service: ServiceID) => Promise;\n\n protected expandedRows: number[] = [];\n\n protected filters: ContractFilters = ContractFilters.create();\n\n protected expThresholdCookie = ExpirationThresholdCookie.create(ContractsCookie.ExpThreshold, { \n default: { amount: 15, unit: \"days\" } \n });\n\n protected getContracts = Execution.create(() => this.fetchAllContracts(this.serviceId));\n\n @Watch(\"sessionToken\", { immediate: true })\n protected async onSessionChange(token: SessionToken) {\n if (!!token && !token.hasExpired) {\n this.getContracts.run();\n } else {\n this.getContracts.reset();\n }\n }\n\n @Watch(\"serviceContracts\")\n protected onTableDataChange(data: Contract[]) {\n this.expandedRows = this.expandedRows.filter(id => data.some(contract => contract.id === id));\n if (data.length === 1 && this.expandedRows.length === 0) {\n this.expandedRows = [data[0].id];\n }\n }\n \n protected get hasContracts(): boolean {\n return this.serviceContracts.length > 0;\n }\n\n protected get firstLoad(): boolean {\n return !this.hasContracts && this.getContracts.loading;\n }\n\n protected get serviceContractsStatus(): LicensingStatus[] {\n return this.filteredContracts.map(c => c.status);\n }\n\n protected get serviceContracts(): Contract[] {\n return this.contracts[this.serviceId] || [];\n }\n\n protected get filteredContracts(): Contract[] {\n return this.serviceContracts.filter(contract => contract.meetFilters(this.filters));\n }\n\n protected clearFilters() {\n this.filters = ContractFilters.create();\n }\n\n protected toggleExpansion(contract: Contract) {\n const index = this.expandedRows.indexOf(contract.id);\n if (index >= 0) {\n this.expandedRows.splice(index, 1);\n } else {\n this.expandedRows = [contract.id];\n }\n }\n\n protected get expandedRowIds(): number[] {\n return this.expandedRows\n .filter(id => this.filteredContracts.some(c => c.id === id));\n }\n\n protected onViewContract(contract: Contract) {\n this.$emit(\"select\", contract);\n }\n\n protected originName(origin: ContractOrigin): string {\n return ContractOrigin.nameOf(origin);\n }\n\n protected get permissions() {\n return {\n CanExportSummary: this.accessRole.can(this.serviceId, Permission.ExportLicensingSummary),\n CanCreateContract: this.accessRole.can(this.serviceId, Permission.CreateContract),\n CanEditContract: this.accessRole.can(this.serviceId, Permission.EditContract),\n CanEditContractNotifications: this.accessRole.can(this.serviceId, Permission.EditContractNotifications)\n }\n }\n\n protected get slotScope() {\n return {\n error: this.getContracts.error,\n loading: this.getContracts.loading,\n hasRecords: this.hasContracts,\n data: { \n original: this.serviceContracts, \n filtered: this.filteredContracts\n }\n }\n }\n\n}","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--13-3!./ContractsView.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--13-3!./ContractsView.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ContractsView.vue?vue&type=template&id=9ea440d2&scoped=true&\"\nimport script from \"./ContractsView.ts?vue&type=script&lang=ts&\"\nexport * from \"./ContractsView.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./ContractsView.vue?vue&type=style&index=0&id=9ea440d2&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"9ea440d2\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!_vm.ownerCell && _vm.loading && !_vm.license.isShared)?_c('core.label',{staticClass:\"text-disabled text-ellipsis\",attrs:{\"value\":\"Loading...\",\"icon-spacing\":\"4px\",\"icon-y-offset\":\"2px\",\"type\":\"inherit\"}},[_c('i',{staticClass:\"el-icon-loading text-semibold\",attrs:{\"slot\":\"icon\"},slot:\"icon\"})]):(!_vm.ownerCell && !!_vm.outboxNotif)?_c('el-tag',{staticClass:\"w-max-full exchange-tag\",attrs:{\"size\":\"mini\",\"type\":\"info\",\"effect\":\"light\",\"disable-transitions\":\"\"}},[_c('el-tooltip',{attrs:{\"effect\":\"light\",\"placement\":\"left\",\"transition\":\"el-fade-in\",\"enterable\":false}},[_c('span',{attrs:{\"slot\":\"content\"},slot:\"content\"},[_c('span',{staticClass:\"text-semibold\"},[_vm._v(_vm._s(_vm.outboxNotif.isLicenseSharing ? 'Share' : 'Return')+\" request\")]),_vm._v(\" is pending approval \"),_c('span',{staticClass:\"text-semibold\"},[_vm._v(\"by \"+_vm._s(_vm.outboxNotif.organization.name))])]),_c('div',{staticClass:\"flex items-center min-w-0\"},[_c('core.label',{staticClass:\"text-ellipsis\",attrs:{\"type\":\"inherit\",\"icon-spacing\":\"2px\"}},[_c('i',{class:_vm.outboxNotif.isLicenseSharing ? 'el-icon-d-arrow-right' : 'el-icon-d-arrow-left',attrs:{\"slot\":\"icon\"},slot:\"icon\"}),_c('span',[_vm._v(_vm._s(_vm.outboxNotif.organization.name))])]),(_vm.canSwitchToOrg(_vm.outboxNotif.organization))?_c('el-tooltip',{staticClass:\"flex-none\",attrs:{\"slot\":\"icon\",\"effect\":\"light\",\"placement\":\"right\",\"transition\":\"el-zoom-in-center\",\"content\":\"Switch to organization\",\"open-delay\":500,\"enterable\":false},slot:\"icon\"},[_c('i',{staticClass:\"switch-org-icon el-icon-top-right\",on:{\"click\":function($event){$event.stopPropagation();return _vm.switchToOrg(_vm.outboxNotif.organization)}}})]):_vm._e()],1)])],1):(!_vm.ownerCell && !!_vm.inboxNotif)?_c('el-tag',{staticClass:\"w-max-full exchange-tag\",attrs:{\"size\":\"mini\",\"type\":\"info\",\"effect\":\"dark\",\"disable-transitions\":\"\"}},[_c('el-tooltip',{attrs:{\"effect\":\"light\",\"placement\":\"left\",\"transition\":\"el-fade-in\",\"enterable\":false}},[_c('span',{attrs:{\"slot\":\"content\"},slot:\"content\"},[_c('span',{staticClass:\"text-semibold\"},[_vm._v(_vm._s(_vm.inboxNotif.isLicenseSharing ? 'Share' : 'Return')+\" request\")]),_vm._v(\" is pending approval \"),_c('span',{staticClass:\"text-semibold\"},[_vm._v(\"in your inbox\")])]),_c('div',{staticClass:\"flex items-center min-w-0\"},[_c('core.label',{staticClass:\"text-ellipsis\",attrs:{\"type\":\"inherit\",\"icon-size\":\"12px\",\"icon-spacing\":\"4px\"}},[_c('i',{staticClass:\"el-icon-postcard\",attrs:{\"slot\":\"icon\"},slot:\"icon\"}),_c('span',[_vm._v(_vm._s(_vm.inboxNotif.isLicenseSharing ? _vm.inboxNotif.destinationOrg.name : _vm.inboxNotif.sourceOrg.name))])]),(_vm.canSwitchToOrg(_vm.inboxNotif.isLicenseSharing ? _vm.inboxNotif.destinationOrg : _vm.inboxNotif.sourceOrg))?_c('el-tooltip',{staticClass:\"flex-none\",attrs:{\"slot\":\"icon\",\"effect\":\"light\",\"placement\":\"right\",\"transition\":\"el-zoom-in-center\",\"content\":\"Switch to organization\",\"open-delay\":500,\"enterable\":false},slot:\"icon\"},[_c('i',{staticClass:\"switch-org-icon el-icon-top-right\",on:{\"click\":function($event){$event.stopPropagation();return _vm.switchToOrg(_vm.inboxNotif.isLicenseSharing ? _vm.inboxNotif.destinationOrg : _vm.inboxNotif.sourceOrg)}}})]):_vm._e()],1)])],1):(_vm.sharedTagConfig.visible)?_c('el-tag',{staticClass:\"w-max-full exchange-tag\",attrs:{\"type\":\"primary\",\"size\":\"mini\",\"effect\":\"light\",\"disable-transitions\":\"\"}},[_c('el-tooltip',{attrs:{\"effect\":\"dark\",\"placement\":\"left\",\"transition\":\"el-fade-in\",\"enterable\":false}},[_c('span',{attrs:{\"slot\":\"content\"},slot:\"content\"},[_vm._v(\"Shared \"),_c('span',{staticClass:\"text-semibold\"},[_vm._v(_vm._s(_vm.ownerCell ? 'by' : 'to')+\" \"+_vm._s(_vm.sharedTagConfig.org.name))])]),_c('div',{staticClass:\"flex items-center min-w-0\"},[_c('orgs.org-label',{staticClass:\"text-ellipsis\",attrs:{\"icon-size\":\"inherit\",\"org\":_vm.sharedTagConfig.org}}),(_vm.canSwitchToOrg(_vm.sharedTagConfig.org))?_c('el-tooltip',{staticClass:\"flex-none\",attrs:{\"effect\":\"dark\",\"placement\":\"right\",\"transition\":\"el-zoom-in-center\",\"content\":\"Switch to organization\",\"open-delay\":500,\"enterable\":false}},[_c('i',{staticClass:\"switch-org-icon el-icon-top-right\",on:{\"click\":function($event){$event.stopPropagation();return _vm.switchToOrg(_vm.sharedTagConfig.org)}}})]):_vm._e()],1)])],1):_c('el-tooltip',{attrs:{\"effect\":\"light\",\"placement\":\"left\",\"transition\":\"el-fade-in\",\"enterable\":false,\"content\":_vm.ownerCell ? 'Owned by my current organization' : 'Not shared'}},[_c('orgs.org-label',{staticClass:\"w-max-full text-disabled text-ellipsis\",attrs:{\"org\":_vm.currentOrg}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { License } from \"@Module/Licensing/Models/License.model\";\nimport { LicenseReturnNotification } from \"@Module/Notifications/Models/LicenseReturnNotification.model\";\nimport { LicenseSharingNotification } from \"@Module/Notifications/Models/LicenseSharingNotification.model\";\nimport NotificationsInboxStore from \"@Module/Notifications/Store/NotificationsInbox.store\";\nimport NotificationsOutboxStore from \"@Module/Notifications/Store/NotificationsOutbox.store\";\nimport OrgSwitchMixin from \"@Module/Orgs/Mixins/OrgSwitch.mixin\";\nimport { Organization } from \"@Module/Orgs/Models/Organization.model\";\nimport { Component, MapGetter, Prop, mixins } from \"types-vue\";\nimport OrgsStore from \"@Module/Orgs/Store/Orgs.store\";\n\ntype ExchangeNotification = LicenseSharingNotification | LicenseReturnNotification;\n\n@Component\nexport default class LicenseExchangeStatusCell extends mixins(OrgSwitchMixin) {\n\n @Prop({ type: Object, required: true })\n protected license: License;\n\n @Prop({ type: Boolean, default: false })\n protected loading: boolean;\n\n @Prop({ type: Boolean, required: true })\n protected ownerCell: boolean;\n\n @MapGetter(OrgsStore.Mapping)\n protected currentOrg: Organization;\n\n @MapGetter(NotificationsOutboxStore.Mapping)\n protected orgLicenseSharingOutbox: LicenseSharingNotification[];\n \n @MapGetter(NotificationsOutboxStore.Mapping)\n protected orgLicenseReturnOutbox: LicenseReturnNotification[];\n\n @MapGetter(NotificationsInboxStore.Mapping)\n protected licenseSharingInbox: LicenseSharingNotification[];\n \n @MapGetter(NotificationsInboxStore.Mapping)\n protected licenseReturnInbox: LicenseReturnNotification[];\n\n protected get outboxNotif(): ExchangeNotification {\n return [...this.orgLicenseSharingOutbox, ...this.orgLicenseReturnOutbox]\n .find(notif => notif.isLicenseIncluded(this.license));\n }\n\n protected get inboxNotif(): ExchangeNotification {\n return [...this.licenseSharingInbox, ...this.licenseReturnInbox]\n .find(notif => notif.isLicenseIncluded(this.license));\n }\n\n protected get sharedTagConfig() {\n return {\n visible: this.ownerCell \n ? this.license.isShared && this.license.isSharedToOrg(this.currentOrg)\n : this.license.isShared && !this.license.isSharedToOrg(this.currentOrg),\n org: this.ownerCell\n ? this.license.owner\n : this.license.tenant\n }\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./LicenseExchangeStatusCell.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./LicenseExchangeStatusCell.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LicenseExchangeStatusCell.vue?vue&type=template&id=59a01c3d&\"\nimport script from \"./LicenseExchangeStatusCell.ts?vue&type=script&lang=ts&\"\nexport * from \"./LicenseExchangeStatusCell.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./LicenseExchangeStatusCell.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OrgRoleSelector.vue?vue&type=style&index=0&lang=scss&\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ForgotPwdPanel.vue?vue&type=style&index=0&id=51b91894&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"trial-dim-selector space-y-16\"},[_c('H2',{staticClass:\"title\"},[_vm._v(\"Trial Licenses\")]),_c('el-skeleton',{attrs:{\"loading\":_vm.loading,\"animated\":\"\"}},[_c('template',{slot:\"template\"},[_c('el-skeleton-item',{attrs:{\"variant\":\"p\"}}),_c('el-skeleton-item',{staticStyle:{\"width\":\"40%\"},attrs:{\"variant\":\"p\"}})],1),(!_vm.isSingleOption)?_c('div',[_vm._v(\"Below you can find \"),_c('strong',[_vm._v(_vm._s(_vm.slots)+\" license \"+_vm._s(_vm._f(\"pluralize\")('slots',_vm.slots)))]),_vm._v(\", each one representing a license included in your free trial contract. You must specify the dimension to which you want to allocate each license.\")]):_c('div',[_vm._v(\"Below you can find the dimensions of each of the licenses that will be included in your free trial contract.\")])],2),_c('div',{staticClass:\"flex flex-wrap container-x-16 container-y-16 content-center\"},[_vm._l((_vm.slots),function(index){return [_c('trial.trial-dimension-slot',{key:index,staticClass:\"slot\",attrs:{\"index\":index,\"dimensions\":_vm.dimensions,\"loading\":_vm.loading,\"disabled\":_vm.disabled || _vm.loading},on:{\"select\":_vm.onDimensionSelected}})]})],2),_c('transition',{attrs:{\"name\":\"el-zoom-in-top\"}},[(_vm.hasSelection)?_c('core.alert',{attrs:{\"type\":\"info\",\"show-icon\":false,\"closable\":false,\"plain\":\"\",\"compact\":\"\"}},[_c('div',{staticClass:\"flex flex-wrap container-x-16 container-y-16\"},_vm._l((_vm.unitsMap),function(value,key){return _c('core.details',{key:key,attrs:{\"spacing\":\"2px\"}},[_c('span',{attrs:{\"slot\":\"label\"},slot:\"label\"},[_vm._v(_vm._s(_vm._f(\"capitalize\")(key)))]),_c('span',[_vm._v(_vm._s(_vm._f(\"pluralize\")((value + \" license\"),value)))])])}),1)]):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Dimension } from \"@Module/Licensing/Models/Dimension.model\";\nimport { Component, Prop } from \"types-vue\";\nimport Vue from \"vue\";\n\n@Component\nexport default class TrialDimensionsSelector extends Vue {\n\n @Prop({ type: Number, required: true })\n protected slots: number;\n\n @Prop({ type: Array, required: true })\n protected dimensions: Dimension[];\n\n @Prop({ type: Boolean, default: false })\n protected loading: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected disabled: boolean;\n\n protected selectionMap: Record = {};\n protected unitsMap: Record = {};\n\n protected get isSingleOption(): boolean {\n return this.dimensions.length === 1;\n }\n\n protected get hasSelection(): boolean {\n return Object.keys(this.unitsMap).length > 0;\n }\n\n protected onDimensionSelected(index: number, dim: Dimension) {\n this.selectionMap[index] = dim;\n this.unitsMap = this.computeDimensionUnits();\n this.$emit(\"select\", this.unitsMap);\n }\n\n protected computeDimensionUnits(): Record {\n return Object.values(this.selectionMap).reduce((acc, curr) => {\n acc[curr.name] = (acc[curr.name] ?? 0) + 1;\n return acc;\n }, {} as Record);\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./TrialDimensionsSelector.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./TrialDimensionsSelector.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TrialDimensionsSelector.vue?vue&type=template&id=8e503bf0&scoped=true&\"\nimport script from \"./TrialDimensionsSelector.ts?vue&type=script&lang=ts&\"\nexport * from \"./TrialDimensionsSelector.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./TrialDimensionsSelector.vue?vue&type=style&index=0&id=8e503bf0&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"8e503bf0\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NotificationsInboxPopover.vue?vue&type=style&index=0&lang=scss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('core.layout',[_c('div',{staticClass:\"space-y-16\"},[_c('core.title',{attrs:{\"title\":\"Backup Details\",\"allow-navigation\":\"\"},on:{\"back\":_vm.onBackClick}},[_c('core.label',{attrs:{\"icon-size\":\"20px\",\"icon-spacing\":\".5rem\"}},[_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"file-tray-full\"},slot:\"icon\"}),_c('H1',[_vm._v(\"Backup Details\")])],1),(!_vm.previousRoute)?_c('span',{attrs:{\"slot\":\"back\"},slot:\"back\"},[_vm._v(\"History\")]):_vm._e()],1),(_vm.getBackupById.loading)?_c('core.loading',{attrs:{\"label\":\"Fetching backup...\"}}):_vm._e(),(!!_vm.error)?_c('div',[(_vm.error.isFatal)?_c('core.redirect-alert',{attrs:{\"redirect-target\":\"/backup/history\",\"title\":\"Fatal error\",\"description\":_vm.error.message}}):_c('core.alert',{attrs:{\"type\":\"error\",\"title\":\"Backup error\",\"description\":_vm.error.message,\"closable\":false}})],1):_vm._e(),(!!_vm.backup)?_c('div',{staticClass:\"space-y-24\"},[_c('core.card',{attrs:{\"bordered\":_vm.isPlainUi}},[_c('emory.emory-backup-summary',{attrs:{\"backup\":_vm.backup}})],1),_c('el-divider',[_c('el-link',{attrs:{\"size\":\"mini\",\"underline\":false,\"icon\":_vm.allSectionsCollapsed ? 'el-icon-arrow-down' : 'el-icon-arrow-right'},on:{\"click\":_vm.toggleExpandAll}},[(_vm.allSectionsCollapsed)?_c('span',[_vm._v(\"Expand all\")]):_c('span',[_vm._v(\"Collapse all\")])])],1),_c('core.card',[_c('core.collapse',{class:_vm.isPlainUi ? 'm-x-16' : '',model:{value:(_vm.expandedSections),callback:function ($$v) {_vm.expandedSections=$$v},expression:\"expandedSections\"}},[(!!_vm.backup.failure)?_c('el-collapse-item',{attrs:{\"name\":\"failure\"}},[_c('core.label',{attrs:{\"slot\":\"title\",\"icon-size\":\"16px\"},slot:\"title\"},[_c('H2',[_vm._v(\"Failure Details\")]),_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"warning\"},slot:\"icon\"})],1),_c('div',{staticClass:\"flex flex-wrap container-x-16 container-y-16\"},[_c('core.details',{attrs:{\"label\":\"Code\",\"value\":!!_vm.backup.failure.code ? _vm.backup.failure.code.toString() : null}}),_c('core.details',{attrs:{\"label\":\"Reason\",\"value\":_vm.backup.failure.reason}})],1)],1):_vm._e(),_c('el-collapse-item',{attrs:{\"name\":\"system\"}},[_c('core.label',{attrs:{\"slot\":\"title\"},slot:\"title\"},[_c('H2',[_vm._v(\"System\")]),_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"cube\"},slot:\"icon\"})],1),_c('div',{staticClass:\"flex flex-wrap container-x-24 container-y-16 pt-4\"},[_c('core.details',{attrs:{\"spacing\":\"6px\"}},[_c('H3',{attrs:{\"slot\":\"label\"},slot:\"label\"},[_vm._v(\"Host\")]),_c('div',{staticClass:\"flex flex-wrap container-x-16 container-y-16\"},[(!!_vm.backup.host.sid)?_c('core.details',{attrs:{\"label\":\"SID\",\"value\":_vm.backup.host.sid}}):_vm._e(),(!!_vm.backup.host.hostname)?_c('core.details',{attrs:{\"label\":\"Hostname\"}},[_c('el-tooltip',{attrs:{\"effect\":\"light\",\"placement\":\"top\",\"content\":_vm.backup.host.hostname,\"disabled\":!_vm.backupHostname.includes('...'),\"open-delay\":250}},[_c('span',[_vm._v(_vm._s(_vm.backupHostname))])])],1):_vm._e(),(!!_vm.backup.sourceDatabase)?_c('core.details',{attrs:{\"label\":\"Database\"}},[_c('el-tag',{attrs:{\"size\":\"mini\",\"disable-transitions\":\"\"}},[_c('span',[_vm._v(_vm._s(_vm.backup.sourceDatabase))])])],1):_vm._e(),(!!_vm.backup.host.platform)?_c('core.details',{attrs:{\"label\":\"Platform\"}},[_c('el-tag',{attrs:{\"size\":\"mini\",\"effect\":\"dark\",\"type\":\"info\",\"disable-transitions\":\"\"}},[_c('span',[_vm._v(_vm._s(_vm.backup.host.platform))])])],1):_vm._e()],1)],1),_c('core.details',{attrs:{\"spacing\":\"6px\"}},[_c('H3',{attrs:{\"slot\":\"label\"},slot:\"label\"},[_vm._v(\"Client\")]),_c('div',{staticClass:\"flex flex-wrap container-x-16 container-y-16\"},[(!!_vm.backup.host.clientVersion)?_c('core.details',{attrs:{\"label\":\"Version\",\"value\":_vm.backup.host.clientVersion}}):_vm._e(),_c('core.details',{attrs:{\"label\":\"License Code\"}},[_c('core.copy-label',{attrs:{\"value\":_vm.backup.licenseUuid}},[_c('el-tooltip',{attrs:{\"effect\":\"light\",\"placement\":\"top\",\"disabled\":!_vm.backupLicenseUuid.includes('...'),\"content\":_vm.backup.licenseUuid}},[_c('el-link',{attrs:{\"underline\":false,\"type\":\"primary\"},on:{\"click\":_vm.viewLicense}},[_vm._v(_vm._s(_vm.backupLicenseUuid))])],1)],1)],1),_c('core.details',{attrs:{\"label\":\"Host Code\"}},[_c('core.copy-label',{attrs:{\"value\":_vm.backup.host.uuid}},[_c('el-tooltip',{attrs:{\"effect\":\"light\",\"placement\":\"top\",\"disabled\":!_vm.backupHostUuid.includes('...'),\"content\":_vm.backup.host.uuid}},[_c('el-link',{attrs:{\"underline\":false,\"type\":\"primary\"},on:{\"click\":_vm.viewLicense}},[_vm._v(_vm._s(_vm.backupHostUuid))])],1)],1)],1)],1)],1)],1)],1),(!!_vm.backup.lifecycle)?_c('el-collapse-item',{attrs:{\"name\":\"lifecycle\"}},[_c('core.label',{attrs:{\"slot\":\"title\"},slot:\"title\"},[_c('H2',[_vm._v(\"Lifecycle\")]),_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"calendar\"},slot:\"icon\"})],1),_c('emory.backup-lifecycle-summary',{attrs:{\"lifecycle\":_vm.backup.lifecycle}})],1):_vm._e(),(!!_vm.backup.cloud)?_c('el-collapse-item',{attrs:{\"name\":\"cloud\"}},[_c('core.label',{attrs:{\"slot\":\"title\"},slot:\"title\"},[_c('H2',[_vm._v(_vm._s(_vm.backup.cloud.providerName))]),_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"cloud\"},slot:\"icon\"})],1),_c('div',{staticClass:\"flex flex-wrap container-x-24 container-y-16 pt-4\"},[(_vm.backup.isAWS)?_c('emory.backup-aws-summary',{attrs:{\"aws\":_vm.backup.cloud}}):(_vm.backup.isAzure)?_c('emory.backup-azure-summary',{attrs:{\"azure\":_vm.backup.cloud}}):(_vm.backup.isGCloud)?_c('emory.backup-g-cloud-summary',{attrs:{\"gcloud\":_vm.backup.cloud}}):_vm._e(),(_vm.backup.tags.length > 0)?_c('core.details',{staticClass:\"flex-1\",style:(_vm.tagsContainerStyle),attrs:{\"spacing\":\"6px\"}},[_c('H3',{attrs:{\"slot\":\"label\"},slot:\"label\"},[_vm._v(\"Tags\")]),_c('div',{staticClass:\"flex flex-wrap container-x-16 container-y-6\"},_vm._l((_vm.backup.tags),function(tag){return _c('core.details',{key:tag.name,attrs:{\"placeholder\":\"Empty\",\"label\":tag.name,\"value\":tag.value}})}),1)],1):_vm._e()],1)],1):_vm._e(),_c('el-collapse-item',{attrs:{\"name\":\"objects\"}},[_c('core.label',{attrs:{\"slot\":\"title\",\"icon-size\":\"16px\"},slot:\"title\"},[_c('H2',[_vm._v(\"Objects\")]),_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"file-tray-full\"},slot:\"icon\"})],1),_c('div',{staticClass:\"space-y-8\"},[(_vm.backup.objects.length > 0)?_c('el-input',{staticClass:\"mt-4\",attrs:{\"prefix-icon\":\"el-icon-search\",\"size\":\"small\",\"placeholder\":\"Filter backup objects\",\"clearable\":\"\"},model:{value:(_vm.backupObjectsSearchText),callback:function ($$v) {_vm.backupObjectsSearchText=$$v},expression:\"backupObjectsSearchText\"}}):_vm._e(),_c('core.list',{staticClass:\"p-x-4\",attrs:{\"data\":_vm.backupFilteredObjects,\"selectable\":false,\"id-key-path\":\"localPath\",\"label-key-path\":\"localPath\",\"description-key-path\":\"remotePath\"},scopedSlots:_vm._u([{key:\"accessory-right\",fn:function(ref){\nvar item = ref.item;\nreturn _c('span',{staticClass:\"flex items-center space-x-8\"},[_c('small',[_vm._v(_vm._s(item.toString()))]),(!!_vm.backup.cloud.buildLocationUrl(item))?_c('el-link',{attrs:{\"slot\":\"icon\",\"type\":\"primary\",\"target\":\"_blank\",\"underline\":false,\"href\":_vm.backup.cloud.buildLocationUrl(item)},slot:\"icon\"},[_c('ion-icon',{attrs:{\"name\":\"open-outline\"}})],1):_vm._e()],1)}}],null,false,1972311391)},[(!!_vm.backupObjectsSearchText)?_c('core.empty',{attrs:{\"slot\":\"empty\",\"compact\":\"\"},slot:\"empty\"},[_c('i',{staticClass:\"el-icon-files\",attrs:{\"slot\":\"icon\"},slot:\"icon\"}),_c('div',{staticClass:\"flex-y space-y-16 items-center\"},[_c('span',[_vm._v(\"No backup object meets your filtering criteria.\")]),_c('el-button',{staticClass:\"w-max-content\",attrs:{\"size\":\"small\",\"icon\":\"el-icon-delete\"},on:{\"click\":_vm.resetFilters}},[_c('span',[_vm._v(\"Clear filters\")])])],1)]):_c('core.empty',{attrs:{\"slot\":\"empty\",\"description\":\"This backup has no objects.\",\"compact\":\"\"},slot:\"empty\"},[_c('i',{staticClass:\"el-icon-files\",attrs:{\"slot\":\"icon\"},slot:\"icon\"})])],1)],1)],1)],1)],1)],1):_vm._e()],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { BackupHistoryPage } from \"@Service/Emory/Models/Backups/BackupHistoryPage.model\";\nimport AppSettingsStore from \"@Service/Settings/Store/AppSettings/AppSettings.store\";\nimport { BackupObject } from \"@Service/Emory/Models/Backups/BackupObject.model\";\nimport EmoryBackupsStore from \"@Service/Emory/Store/EmoryBackups.store\";\nimport NavigationStore from \"@Core/Store/Navigation/Navigation.store\";\nimport { Backup } from \"@Service/Emory/Models/Backups/Backup.model\";\nimport EmoryBackupsApi from \"@Service/Emory/API/EmoryBackups.api\";\nimport { ConsoleRoute } from \"@Core/Models/ConsoleRoute\";\nimport { ConsoleError } from \"@Core/Errors/ConsoleError\";\nimport { Execution } from \"@Core/Models/Execution\";\nimport { Component, MapGetter } from \"types-vue\";\nimport { Watch } from \"vue-property-decorator\";\nimport { Utils } from \"@Core/Utils/Utils\";\nimport Vue from \"vue\";\n\n\nconst enum Section {\n Failure = \"failure\",\n System = \"system\",\n Lifecycle = \"lifecycle\",\n Cloud = \"cloud\",\n Objects = \"objects\"\n}\n\n@Component\nexport default class EmoryBackupDetails extends Vue {\n\n @MapGetter(AppSettingsStore.Mapping)\n protected isPlainUi: boolean;\n\n @MapGetter(NavigationStore.Mapping)\n protected previousRoute: ConsoleRoute;\n\n @MapGetter(EmoryBackupsStore.Mapping)\n protected currentBackupHistoryPage: BackupHistoryPage;\n\n protected error: ConsoleError = null;\n protected backup: Backup = null;\n protected getBackupById = Execution.create(EmoryBackupsApi.getBackup, EmoryBackupsApi);\n protected allSections: Section[] = [ Section.Failure, Section.System, Section.Lifecycle, Section.Cloud, Section.Objects];\n protected expandedSections: Section[] = this.allSections;\n protected backupObjectsSearchText: string = null;\n\n @Watch(\"$route.params.id\", { immediate: true })\n protected async onIdParamChange() {\n this.error = null;\n this.getBackupById.reset();\n await this.$nextTick();\n\n const backupId = Number(this.$route.params.id);\n if (isNaN(backupId)) {\n const errorMsg = `Invalid backup identifier '${this.$route.params.id}'.`;\n this.error = new ConsoleError(errorMsg, { fatal: true, meta: { backupId: this.$route.params.id } });\n return;\n }\n\n this.backup = this.currentBackupHistoryPage?.records.find(backup => backup.id === backupId) || null;\n if (!this.backup) {\n const backupDto = await this.getBackupById.run(backupId);\n if (!!this.getBackupById.error) {\n const errorMsg = `Backup with identifier ${this.$route.params.id} was not found.`;\n this.error = new ConsoleError(errorMsg, { fatal: true, meta: { backupId: this.$route.params.id } });\n return;\n } else {\n this.backup = Backup.fromDto(backupDto);\n }\n }\n }\n\n protected get backupLicenseUuid(): string {\n if (this.$mq.md) return Utils.smartTrim(this.backup.licenseUuid, 16);\n else if (this.$mq.lg) return Utils.smartTrim(this.backup.licenseUuid, 18);\n else return Utils.smartTrim(this.backup.licenseUuid, 24);\n }\n\n protected get backupHostUuid(): string {\n if (this.$mq.md) return Utils.smartTrim(this.backup.host.uuid, 16);\n else if (this.$mq.lg) return Utils.smartTrim(this.backup.host.uuid, 18);\n else return Utils.smartTrim(this.backup.host.uuid, 24);\n }\n\n protected get backupHostname(): string {\n if (this.$mq.md) return Utils.smartTrim(this.backup.host.hostname, 18);\n else if (this.$mq.lg) return Utils.smartTrim(this.backup.host.hostname, 26);\n else return Utils.smartTrim(this.backup.host.hostname, 34);\n }\n\n protected get backupFilteredObjects(): BackupObject[] {\n return this.backup.objects\n .filter(object => object.meetsFilter(this.backupObjectsSearchText));\n }\n\n protected resetFilters() {\n this.backupObjectsSearchText = null;\n }\n\n protected get tagsContainerStyle() {\n return {\n \"min-width\": (this.backup.tags.length ?? 0) > 6 ? \"100%\" : \"40%\"\n }\n }\n\n protected viewLicense() {\n this.$router.push({\n name: \"backup-license-details\", \n params: { id: this.backup.licenseId.toString() },\n query: { expand: this.backup.host.id.toString() }\n });\n }\n\n protected get allSectionsCollapsed(): boolean {\n return this.expandedSections.length === 0;\n }\n\n protected toggleExpandAll() {\n this.expandedSections = this.allSectionsCollapsed ? this.allSections : [];\n }\n\n protected onBackClick() {\n if (!!this.previousRoute) {\n this.$router.back();\n } else {\n this.$router.replace(\"/backup/history\");\n }\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./EmoryBackupDetails.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./EmoryBackupDetails.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./EmoryBackupDetails.vue?vue&type=template&id=60425e20&\"\nimport script from \"./EmoryBackupDetails.ts?vue&type=script&lang=ts&\"\nexport * from \"./EmoryBackupDetails.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"label flex-inline items-center\",class:_vm.labelClass},[(!!_vm.$slots.icon)?_c('div',{staticClass:\"icon-wrap flex items-center\",style:(_vm.iconStyle)},[_vm._t(\"icon\")],2):_vm._e(),_c('span',{staticClass:\"label-value-wrap\"},[_vm._t(\"default\",[_c('span',[_vm._v(_vm._s(_vm.value))])])],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport { Component, Prop } from \"types-vue\";\nimport { Map } from \"@Core/Models/Map\";\nimport Vue from \"vue\";\n\n@Component\nexport default class Label extends Vue {\n \n @Prop({ type: String, default: null })\n protected value: string;\n\n @Prop({ type: String, default: \"primary\" })\n protected type: \"primary\" | \"secondary\" | \"inherit\" | \"danger\" | \"success\" | \"border\";\n \n @Prop({ type: String, default: \"start\" })\n protected iconPosition: \"start\" | \"end\";\n\n @Prop({ type: String, default: \"0px\" })\n protected iconYOffset: string;\n\n @Prop({ type: String, default: \"inherit\" })\n protected iconSize: string;\n\n @Prop({ type: String, default: \"6px\" })\n protected iconSpacing: string;\n\n @Prop({ type: Boolean, default: false })\n protected disabled: boolean;\n\n protected get labelClass() {\n return {\n \"is-icon-start\": this.iconPosition === \"start\",\n \"is-icon-end\": this.iconPosition === \"end\",\n \"is-primary\": this.type === \"primary\",\n \"is-disabled\": this.disabled,\n \"is-secondary\": this.type === \"secondary\",\n \"is-inherit\": this.type === \"inherit\",\n \"is-danger\": this.type === \"danger\",\n \"is-success\": this.type === \"success\",\n \"is-border\": this.type === \"border\"\n }\n }\n \n protected get iconStyle(): Map {\n return {\n \"font-size\": this.iconSize,\n \"margin\": this.iconPosition === \"end\" \n ? `${this.iconYOffset} 0 0 ${this.iconSpacing}` \n : `${this.iconYOffset} ${this.iconSpacing} 0 0`\n }\n }\n\n}","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./Label.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./Label.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Label.vue?vue&type=template&id=a0892492&scoped=true&\"\nimport script from \"./Label.ts?vue&type=script&lang=ts&\"\nexport * from \"./Label.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./Label.vue?vue&type=style&index=0&id=a0892492&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"a0892492\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('core.columns-layout',{staticClass:\"emory-backup-history\"},[_c('core.query-param',{attrs:{\"name\":\"search\"},model:{value:(_vm.filters.search),callback:function ($$v) {_vm.$set(_vm.filters, \"search\", $$v)},expression:\"filters.search\"}}),_c('core.query-param',{attrs:{\"name\":\"provider\",\"type\":\"string-array\"},model:{value:(_vm.filters.types),callback:function ($$v) {_vm.$set(_vm.filters, \"types\", $$v)},expression:\"filters.types\"}}),_c('core.query-param',{attrs:{\"name\":\"status\",\"type\":\"string-array\"},model:{value:(_vm.filters.status),callback:function ($$v) {_vm.$set(_vm.filters, \"status\", $$v)},expression:\"filters.status\"}}),_c('core.query-param',{attrs:{\"name\":\"page\",\"type\":\"number\"},model:{value:(_vm.filters.page),callback:function ($$v) {_vm.$set(_vm.filters, \"page\", $$v)},expression:\"filters.page\"}}),_c('core.query-param',{attrs:{\"name\":\"pagesize\",\"type\":\"number\"},model:{value:(_vm.filters.pageSize),callback:function ($$v) {_vm.$set(_vm.filters, \"pageSize\", $$v)},expression:\"filters.pageSize\"}}),_c('core.query-param',{attrs:{\"name\":\"minsize\",\"serializer\":_vm.fileSizeSerializer},model:{value:(_vm.filters.size.min),callback:function ($$v) {_vm.$set(_vm.filters.size, \"min\", $$v)},expression:\"filters.size.min\"}}),_c('core.query-param',{attrs:{\"name\":\"maxsize\",\"serializer\":_vm.fileSizeSerializer},model:{value:(_vm.filters.size.max),callback:function ($$v) {_vm.$set(_vm.filters.size, \"max\", $$v)},expression:\"filters.size.max\"}}),_c('core.query-param',{attrs:{\"name\":\"stdatemin\",\"type\":\"date\"},model:{value:(_vm.filters.startDate.min),callback:function ($$v) {_vm.$set(_vm.filters.startDate, \"min\", $$v)},expression:\"filters.startDate.min\"}}),_c('core.query-param',{attrs:{\"name\":\"stdatemax\",\"type\":\"date\"},model:{value:(_vm.filters.startDate.max),callback:function ($$v) {_vm.$set(_vm.filters.startDate, \"max\", $$v)},expression:\"filters.startDate.max\"}}),_c('core.query-param',{attrs:{\"name\":\"endatemin\",\"type\":\"date\"},model:{value:(_vm.filters.endDate.min),callback:function ($$v) {_vm.$set(_vm.filters.endDate, \"min\", $$v)},expression:\"filters.endDate.min\"}}),_c('core.query-param',{attrs:{\"name\":\"endatemax\",\"type\":\"date\"},model:{value:(_vm.filters.endDate.max),callback:function ($$v) {_vm.$set(_vm.filters.endDate, \"max\", $$v)},expression:\"filters.endDate.max\"}}),_c('core.query-param',{attrs:{\"name\":\"sortby\"},model:{value:(_vm.filters.sorting.column),callback:function ($$v) {_vm.$set(_vm.filters.sorting, \"column\", $$v)},expression:\"filters.sorting.column\"}}),_c('core.query-param',{attrs:{\"name\":\"sortorder\"},model:{value:(_vm.filters.sorting.order),callback:function ($$v) {_vm.$set(_vm.filters.sorting, \"order\", $$v)},expression:\"filters.sorting.order\"}}),_c('core.query-param',{attrs:{\"name\":\"loglevel\",\"type\":\"boolean\"},model:{value:(_vm.filters.showLogLevel),callback:function ($$v) {_vm.$set(_vm.filters, \"showLogLevel\", $$v)},expression:\"filters.showLogLevel\"}}),_c('core.query-param',{attrs:{\"name\":\"expand\",\"type\":\"number-array\"},model:{value:(_vm.expandedRows),callback:function ($$v) {_vm.expandedRows=$$v},expression:\"expandedRows\"}}),_c('core.query-param',{attrs:{\"name\":\"level\",\"type\":\"number-array\"},model:{value:(_vm.filters.levels),callback:function ($$v) {_vm.$set(_vm.filters, \"levels\", $$v)},expression:\"filters.levels\"}}),(_vm.permissions.CanExportBackups)?_c('emory.emory-backup-export-dialog',{ref:\"exportDialog\",attrs:{\"filters\":_vm.filters,\"record-count\":_vm.totalItemCount}}):_vm._e(),(!_vm.$mq.lg)?_c('core.filters-collapse',{staticClass:\"filters-col\",attrs:{\"slot\":\"right\",\"filtering\":_vm.filters.isFiltering,\"bordered\":_vm.isPlainUi,\"disabled\":_vm.getBackups.loading},on:{\"clear\":_vm.clearFilters},slot:\"right\"},[_c('emory.emory-backup-filters-panel',{model:{value:(_vm.filters),callback:function ($$v) {_vm.filters=$$v},expression:\"filters\"}})],1):_vm._e(),_c('div',{staticClass:\"space-y-16\"},[_c('div',{staticClass:\"flex items-center\"},[_c('core.label',{staticClass:\"flex-1\",attrs:{\"icon-spacing\":\"8px\",\"icon-size\":\"20px\"}},[_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"file-tray-full\"},slot:\"icon\"}),_c('H1',[_vm._v(\"Backup History\")])],1),_c('div',{staticClass:\"flex-0 flex space-x-8\"},[(_vm.permissions.CanExportBackups)?_c('el-button',{attrs:{\"size\":\"small\",\"icon\":\"el-icon-download\",\"disabled\":!_vm.hasRecords || _vm.getBackups.loading},on:{\"click\":function () { return _vm.$refs.exportDialog.open(); }}},[_c('span',[_vm._v(\"Export results\")])]):_vm._e()],1)],1),(!!_vm.getBackups.error)?_c('core.alert',{attrs:{\"type\":\"error\",\"closable\":false,\"title\":\"Backups error\",\"description\":_vm.getBackups.error.message}},[_c('el-button',{attrs:{\"slot\":\"footer\",\"icon\":\"el-icon-refresh-right\",\"type\":\"default\",\"size\":\"mini\"},on:{\"click\":_vm.fetchBackupHistory},slot:\"footer\"},[_vm._v(\"Try again\")])],1):_c('core.card',{attrs:{\"bordered\":_vm.isPlainUi,\"no-padding\":\"\"}},[_c('div',{staticClass:\"flex space-x-8 p-x-16 pt-16\"},[_c('el-input',{staticClass:\"free-text-filter flex-1\",attrs:{\"prefix-icon\":\"el-icon-search\",\"placeholder\":\"Search backup records\",\"clearable\":\"\"},model:{value:(_vm.filters.search),callback:function ($$v) {_vm.$set(_vm.filters, \"search\", $$v)},expression:\"filters.search\"}}),(_vm.$mq.lg)?_c('core.filters-drawer',{attrs:{\"title\":\"Backup Filters\",\"disabled\":_vm.firstLoad,\"clear-disabled\":!_vm.filters.isFiltering},on:{\"clear\":_vm.clearFilters}},[_c('emory.emory-backup-filters-panel',{staticClass:\"filters-col\",model:{value:(_vm.filters),callback:function ($$v) {_vm.filters=$$v},expression:\"filters\"}})],1):_vm._e()],1),_c('el-table',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.hasRecords && _vm.getBackups.loading),expression:\"hasRecords && getBackups.loading\"}],attrs:{\"data\":_vm.backupRecords,\"empty-text\":\" \",\"tooltip-effect\":\"light\",\"element-loading-text\":\"Fetching backups...\",\"default-sort\":{ prop: 'start_date', order: 'descending' },\"row-key\":\"id\",\"expand-row-keys\":_vm.expandedRowIds},on:{\"expand-change\":_vm.toggleExpansion,\"row-click\":_vm.toggleExpansion,\"sort-change\":_vm.onSortChange}},[(!_vm.hasRecords && _vm.getBackups.loading)?_c('core.loading',{attrs:{\"slot\":\"empty\",\"label\":\"Fetching backups...\",\"height\":\"7.2rem\"},slot:\"empty\"}):(!_vm.hasRecords && !_vm.getBackups.loading)?_c('core.empty',{attrs:{\"slot\":\"empty\"},slot:\"empty\"},[(_vm.filters.isFiltering)?_c('div',{staticClass:\"flex-y space-y-16 items-center\"},[_c('span',[_vm._v(\"No backup meets your filtering criteria.\")]),_c('el-button',{staticClass:\"w-max-content\",attrs:{\"size\":\"small\",\"icon\":\"el-icon-delete\"},on:{\"click\":_vm.clearFilters}},[_c('span',[_vm._v(\"Clear filters\")])])],1):_c('span',[_vm._v(\"There are no backups.\")])]):_vm._e(),_c('el-table-column',{attrs:{\"type\":\"expand\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar row = ref.row;\nreturn _c('div',{staticClass:\"space-y-16\"},[_c('H2',[_vm._v(\"Backup #B\"+_vm._s(row.id))]),_c('emory.emory-backup-summary',{attrs:{\"backup\":row,\"expand\":\"\"}},[_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"primary\",\"icon\":\"el-icon-more\"},on:{\"click\":function($event){return _vm.viewDetails(row)}}},[_c('span',[_vm._v(\"View backup details\")])])],1)],1)}}])}),_c('el-table-column',{attrs:{\"prop\":\"status\",\"label\":\"Status\",\"class-name\":\"no-text-overflow\",\"sortable\":\"custom\",\"min-width\":\"108\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar row = ref.row;\nreturn _c('el-popover',{attrs:{\"trigger\":\"hover\",\"placement\":\"top-start\",\"open-delay\":500,\"transition\":\"el-zoom-in-bottom\",\"disabled\":!row.hasFailed || !row.failure,\"width\":\"250\"}},[_c('emory.emory-backup-status-tag',{attrs:{\"slot\":\"reference\",\"status\":row.status},slot:\"reference\"},[(row.hasFailed && !!row.failure)?_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"information-circle\"},slot:\"icon\"}):_vm._e()],1),(row.hasFailed && !!row.failure)?_c('div',{staticClass:\"space-y-8\"},[_c('core.label',{attrs:{\"slot\":\"title\",\"icon-size\":\"18px\"},slot:\"title\"},[_c('H1',[_vm._v(\"Failure Details\")]),_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"warning-outline\"},slot:\"icon\"})],1),_c('div',{staticClass:\"flex flex-wrap container-x-16 container-y-8\"},[_c('core.details',{attrs:{\"label\":\"Code\",\"value\":!!row.failure.code ? row.failure.code.toString() : null}}),_c('core.details',{attrs:{\"label\":\"Reason\",\"value\":row.failure.reason}})],1)],1):_vm._e()],1)}}])}),_c('el-table-column',{attrs:{\"prop\":\"level\",\"label\":\"Level\",\"class-name\":\"no-text-overflow\",\"sortable\":\"custom\",\"show-overflow-tooltip\":\"\",\"min-width\":\"125\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar row = ref.row;\nreturn _c('el-tag',{attrs:{\"size\":\"mini\",\"effect\":\"dark\",\"type\":\"info\",\"disable-transitions\":\"\"}},[_c('span',[_vm._v(_vm._s(_vm._f(\"capitalize\")(row.level.toLowerCase())))])])}}])}),_c('el-table-column',{attrs:{\"prop\":\"source_database\",\"label\":\"Database\",\"sortable\":\"custom\",\"show-overflow-tooltip\":\"\",\"min-width\":\"125\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar row = ref.row;\nreturn _c('el-tag',{attrs:{\"size\":\"mini\",\"disable-transitions\":\"\"}},[_c('span',[_vm._v(_vm._s(row.sourceDatabase))])])}}])}),_c('el-table-column',{attrs:{\"prop\":\"start_date\",\"label\":\"Start Date\",\"min-width\":130,\"sortable\":\"custom\",\"class-name\":\"no-overflow-cell\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar row = ref.row;\nreturn _c('core.date-label',{attrs:{\"format\":\"M/D/YY HH:mm\",\"date\":row.startDate}},[_c('span',{attrs:{\"slot\":\"tooltip\"},slot:\"tooltip\"},[_vm._v(\" \"+_vm._s(row.startDate.fromNow())+\" \"),_c('br'),(!!row.duration)?_c('small',[_vm._v(_vm._s(_vm._f(\"capitalize\")(row.duration))+\" duration\")]):_vm._e()])])}}])}),_c('el-table-column',{attrs:{\"prop\":\"end_date\",\"label\":\"End Date\",\"min-width\":130,\"sortable\":\"custom\",\"class-name\":\"no-overflow-cell\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar row = ref.row;\nreturn [(!row.endDate)?_c('span',{staticClass:\"text-disabled\"},[_vm._v(\"N/A\")]):_c('core.date-label',{attrs:{\"format\":\"M/D/YY HH:mm\",\"date\":row.endDate}},[_c('span',{attrs:{\"slot\":\"tooltip\"},slot:\"tooltip\"},[_vm._v(\" \"+_vm._s(row.endDate.fromNow())+\" \"),_c('br'),(!!row.duration)?_c('small',[_vm._v(_vm._s(_vm._f(\"capitalize\")(row.duration))+\" duration\")]):_vm._e()])])]}}])}),_c('el-table-column',{attrs:{\"prop\":\"total_size\",\"label\":\"Size\",\"width\":85,\"sortable\":\"custom\",\"show-overflow-tooltip\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar row = ref.row;\nreturn [(!row.size)?_c('span',{staticClass:\"text-disabled\"},[_vm._v(\"N/A\")]):_c('el-tooltip',{attrs:{\"effect\":\"light\",\"placement\":\"right\",\"open-delay\":250,\"transition\":\"el-zoom-in-center\",\"disabled\":row.numberOfObjects === 0,\"content\":_vm._f(\"pluralize\")(((row.numberOfObjects) + \" Object\"),row.numberOfObjects)}},[_c('span',[_vm._v(_vm._s(row.size.value)),_c('small',[_vm._v(\" \"+_vm._s(row.size.unit))])])])]}}])}),_c('el-table-column',{attrs:{\"width\":\"50\",\"header-align\":\"right\",\"show-overflow-tooltip\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar row = ref.row;\nreturn _c('el-tooltip',{attrs:{\"content\":\"View backup details\",\"effect\":\"light\",\"placement\":\"top\",\"open-delay\":500}},[_c('el-button',{staticClass:\"details-button\",attrs:{\"size\":\"mini\",\"type\":\"text\",\"circle\":\"\"},on:{\"click\":function($event){return _vm.viewDetails(row)}}},[_c('ion-icon',{attrs:{\"name\":\"arrow-forward-outline\"}})],1)],1)}}])})],1)],1),_c('div',{staticClass:\"flex content-center\"},[_c('el-pagination',{directives:[{name:\"show\",rawName:\"v-show\",value:(!!_vm.currentBackupHistoryPage && _vm.hasRecords && !_vm.getBackups.error),expression:\"!!currentBackupHistoryPage && hasRecords && !getBackups.error\"}],attrs:{\"small\":\"\",\"disabled\":_vm.getBackups.loading,\"layout\":_vm.backupRecords.length >= _vm.filters.pageSize ?\n _vm.$mq.md \n ? 'total, prev, pager, next, sizes'\n : 'total, prev, pager, next, jumper, sizes'\n : 'total',\"pager-count\":5,\"page-sizes\":_vm.pageSizes,\"total\":_vm.totalItemCount,\"page-size\":_vm.filters.pageSize,\"current-page\":_vm.filters.page,\"background\":!_vm.isPlainUi},on:{\"update:pageSize\":function($event){return _vm.$set(_vm.filters, \"pageSize\", $event)},\"update:page-size\":function($event){return _vm.$set(_vm.filters, \"pageSize\", $event)},\"current-change\":function (page) { return _vm.filters.page = page; }}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { CloudProviderType } from \"./CloudProvider/BackupCloudProvider.model\";\nimport { FileSizeFilter } from \"../FileSizeFilter.model\";\n\nexport interface IBackupFiltersDto {\n min_start_date?: string;\n max_start_date?: string;\n min_end_date?: string;\n max_end_date?: string;\n min_size?: number;\n max_size?: number;\n statuses?: string;\n levels?: string;\n text?: string;\n show_log_level: boolean;\n page_number: number;\n page_size: number;\n sort_by: string;\n sort_dir: SortOrder;\n types: string;\n}\n\nexport const enum SortOrder {\n Ascending = \"ASC\",\n Descending = \"DESC\"\n}\n\ninterface MinMax {\n min: T; \n max: T;\n}\n\nexport class BackupFilters {\n public size: MinMax;\n public endDate: MinMax;\n public startDate: MinMax;\n public search: string | null;\n public status: string[];\n public page: number | null;\n public pageSize: number;\n public levels: number[];\n public showLogLevel: boolean;\n public sorting: { prop: string | null, order: SortOrder | null };\n public types: CloudProviderType[];\n\n public static create(): BackupFilters {\n return new BackupFilters();\n }\n\n private constructor() {\n this.size = { min: FileSizeFilter.create(), max: FileSizeFilter.create() };\n this.endDate = { min: null, max: null };\n this.startDate = { min: null, max: null };\n this.search = null;\n this.status = [];\n this.page = 1;\n this.pageSize = 10;\n this.levels = [];\n this.showLogLevel = false;\n this.sorting = { prop: \"start_date\", order: SortOrder.Descending };\n this.types = [];\n }\n\n public reset() {\n this.size = { min: FileSizeFilter.create(), max: FileSizeFilter.create() };\n this.endDate = { min: null, max: null };\n this.startDate = { min: null, max: null };\n this.search = null;\n this.status = [];\n this.levels = [];\n this.showLogLevel = false;\n this.types = [];\n }\n\n public get isFiltering(): boolean {\n return !!this.startDate.min || !!this.startDate.max\n || !!this.endDate.min || !!this.endDate.max\n || !!this.size.min.bytes || !!this.size.max.bytes\n || this.showLogLevel\n || !!this.search || this.status.length > 0 || this.levels.length > 0 || this.types.length > 0;\n }\n\n public get dto(): IBackupFiltersDto {\n return this.toDto();\n }\n\n public toDto(): IBackupFiltersDto {\n return {\n min_start_date: this.startDate.min?.toISOString(),\n max_start_date: this.startDate.max?.toISOString(),\n min_end_date: this.endDate.min?.toISOString(),\n max_end_date: this.endDate.max?.toISOString(),\n min_size: Math.round(this.size.min.bytes) || undefined,\n max_size: Math.round(this.size.max.bytes) || undefined,\n statuses: this.status.length > 0 ? this.status.join(\",\") : undefined,\n // levels: this.levels.length > 0 ? this.levels.map(l => l.id).join(\",\") : undefined,\n levels: this.levels.length > 0 ? this.levels.join(\",\") : undefined,\n show_log_level: this.showLogLevel,\n text: this.search || undefined,\n sort_by: this.sorting.prop || undefined,\n sort_dir: this.sorting.order || undefined,\n page_number: this.page,\n page_size: this.pageSize,\n types: this.types.length > 0 ? this.types.join(\",\") : undefined,\n };\n }\n \n}","import { FileSize, FileSizeUnit } from \"@Core/Utils/FileSize\";\n\nexport class FileSizeFilter {\n public _value: string = null;\n public unit: FileSizeUnit = FileSizeUnit.B;\n\n public static create(bytes?: number): FileSizeFilter {\n return new FileSizeFilter(bytes);\n }\n\n private constructor(bytes: number = 0) {\n const fileSize = FileSize.fromBytes(bytes);\n this._value = fileSize.value ? fileSize.value.toString() : null;\n this.unit = fileSize.unit;\n }\n\n public set value(newVal: string) {\n this._value = newVal !== null \n ? isNaN(Number(newVal)) \n ? this._value \n : newVal \n : null;\n }\n\n public get value(): string {\n return this._value;\n }\n\n public get bytes(): number {\n return Number(this._value) * FileSizeUnit.toBytes(this.unit);\n }\n}","import { BackupFilters, IBackupFiltersDto, SortOrder } from \"@Service/Emory/Models/Backups/BackupFilters.model\";\nimport { BackupHistoryPage } from \"@Service/Emory/Models/Backups/BackupHistoryPage.model\";\nimport AppSettingsStore from \"@Service/Settings/Store/AppSettings/AppSettings.store\";\nimport { FileSizeFilter } from \"@Service/Emory/Models/FileSizeFilter.model\";\nimport { Permission } from \"@Module/Auth/Models/Roles/Permissions.model\";\nimport { AccessRole } from \"@Module/Auth/Models/Roles/AccessRole.model\";\nimport EmoryBackupsStore from \"@Service/Emory/Store/EmoryBackups.store\";\nimport { Serializer } from \"@Core/Components/QueryParam/QueryParam\";\nimport { Backup } from \"@Service/Emory/Models/Backups/Backup.model\";\nimport { Component, MapAction, MapGetter, Watch } from \"types-vue\";\nimport { SortOrder as ElSortOrder } from \"element-ui/types/table\";\nimport AuthStore from \"@Module/Auth/Store/Auth.store\";\nimport { Execution } from \"@Core/Models/Execution\";\nimport { ServiceID } from \"@Service/ServiceID\";\nimport Debounce from \"lodash.debounce\";\nimport IsEqual from \"lodash.isequal\";\nimport Vue from \"vue\";\n\n@Component\nexport default class EmoryBackupHistory extends Vue {\n\n @MapGetter(AuthStore.Mapping)\n protected accessRole: AccessRole;\n\n @MapGetter(AppSettingsStore.Mapping)\n protected isPlainUi: boolean;\n\n @MapGetter(EmoryBackupsStore.Mapping)\n protected currentBackupHistoryPage: BackupHistoryPage;\n\n @MapGetter(EmoryBackupsStore.Mapping)\n protected currentFilters: IBackupFiltersDto;\n\n @MapAction(EmoryBackupsStore.Mapping)\n private fetchBackups: (filters: BackupFilters) => Promise;\n \n @MapAction(EmoryBackupsStore.Mapping)\n private clearLastBackupHistorySearch: () => Promise;\n\n protected expandedRows: number[] = [];\n protected filtersDrawerVisible: boolean = false;\n protected pageSizes: number[] = [10, 20, 30, 40, 50];\n protected filters: BackupFilters = BackupFilters.create();\n protected getBackups = Execution.create((filters: BackupFilters) => this.fetchBackups(filters));\n\n protected async mounted() {\n if (!IsEqual(this.filters.toDto(), this.currentFilters)) {\n await this.clearLastBackupHistorySearch();\n }\n await this.fetchBackupHistory();\n this.$watch(\"filters.dto\", this.onFiltersDtoChange, { deep: true });\n }\n\n protected async onFiltersDtoChange(newValue: IBackupFiltersDto, oldValue: IBackupFiltersDto) {\n if (IsEqual(newValue, this.currentFilters)) { \n return; \n } else if (!oldValue \n || !this.filters.isFiltering\n || newValue.page_number !== oldValue.page_number \n || newValue.page_size !== oldValue.page_size\n || newValue.sort_by !== oldValue.sort_by\n || newValue.sort_dir !== oldValue.sort_dir) {\n this.fetchBackupHistory(); // Immediate\n } else {\n this.debouncedFetchBackupHistory(); // Debounced\n }\n }\n\n protected debouncedFetchBackupHistory = Debounce(this.fetchBackupHistory, 500);\n protected async fetchBackupHistory() {\n this.getBackups.reset();\n await this.getBackups.run(this.filters);\n }\n\n protected get fileSizeSerializer(): Serializer {\n return {\n deserialize(param: string | string[]): FileSizeFilter {\n return FileSizeFilter.create(isNaN(Number(param)) ? 0 : Number(param));\n },\n serialize(value: FileSizeFilter): string {\n return !!value?.bytes ? value.bytes.toString() : undefined;\n }\n }\n }\n \n protected async clearFilters() {\n try {\n const msg = `Are you sure you want to clear all current filter criteria? This action cannot be undone.`;\n await this.$confirm(msg, \"Clear confirmation\", {\n type: \"warning\",\n confirmButtonText: \"Clear filters\",\n cancelButtonText: \"Cancel\" \n });\n this.filters = BackupFilters.create();\n } catch {}\n }\n\n @Watch(\"$mq.lg\")\n protected onLargeScreenSwitch(newVal: boolean, oldVal: boolean) {\n if (!newVal && oldVal) {\n this.filtersDrawerVisible = false;\n }\n }\n\n protected get firstLoad(): boolean {\n return this.backupRecords.length === 0 && this.getBackups.loading;\n }\n\n protected get backupRecords(): Backup[] {\n return this.currentBackupHistoryPage?.records || [];\n }\n\n protected get hasRecords(): boolean {\n return this.backupRecords.length > 0;\n }\n\n protected get totalItemCount(): number {\n return this.currentBackupHistoryPage?.total ?? Infinity;\n }\n\n protected get expandedRowIds(): number[] {\n return this.hasRecords ? this.expandedRows : [];\n }\n\n protected toggleExpansion(backup: Backup) {\n const index = this.expandedRows.indexOf(backup.id);\n if (index >= 0) {\n this.expandedRows.splice(index, 1);\n } else {\n this.expandedRows = [backup.id];\n }\n }\n\n protected onSortChange(sorting: { prop: string, order: ElSortOrder }): void {\n if (!!sorting.order) {\n this.filters.sorting = {\n prop: sorting.prop,\n order: sorting.order as ElSortOrder === \"ascending\" \n ? SortOrder.Ascending \n : SortOrder.Descending\n }\n } else {\n this.filters.sorting = { \n prop: null, \n order: null \n };\n }\n }\n\n protected viewDetails(backup: Backup) {\n this.$router.push({ \n name: \"backup-details\", \n params: { id: backup.id.toString() }\n });\n }\n\n protected get permissions() {\n return {\n CanExportBackups: this.accessRole.can(ServiceID.Emory, Permission.ExportBackups)\n }\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./EmoryBackupHistory.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./EmoryBackupHistory.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./EmoryBackupHistory.vue?vue&type=template&id=79f12260&scoped=true&\"\nimport script from \"./EmoryBackupHistory.ts?vue&type=script&lang=ts&\"\nexport * from \"./EmoryBackupHistory.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./EmoryBackupHistory.vue?vue&type=style&index=0&id=79f12260&lang=scss&scoped=true&\"\nimport style1 from \"./EmoryBackupHistory.vue?vue&type=style&index=1&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"79f12260\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"space-y-8\"},[_c('core.details',{attrs:{\"label\":\"Product\"}},[_c('licensing.dimension-selector',{attrs:{\"placeholder\":\"Filter by product\",\"service-id\":_vm.serviceId,\"disabled\":_vm.disabled,\"size\":_vm.size,\"no-icon\":\"\",\"filterable\":\"\",\"multiple\":\"\",\"clearable\":\"\"},model:{value:(_vm.value.dimensions),callback:function ($$v) {_vm.$set(_vm.value, \"dimensions\", $$v)},expression:\"value.dimensions\"}})],1),_c('core.details',{attrs:{\"label\":\"Status\"}},[_c('licensing.status-selector',{attrs:{\"type\":\"select\",\"size\":_vm.size,\"disabled\":_vm.disabled,\"filterable\":\"\",\"clearable\":\"\",\"multiple\":\"\"},model:{value:(_vm.value.status),callback:function ($$v) {_vm.$set(_vm.value, \"status\", $$v)},expression:\"value.status\"}})],1),(_vm.shouldDisplayTenantFilter)?_c('core.details',{attrs:{\"label\":\"Tenant\"}},[_c('orgs.org-selector',{attrs:{\"data\":_vm.tenants,\"size\":_vm.size,\"disabled\":_vm.disabled,\"placeholder\":\"Filter by tenant\",\"multiple\":\"\",\"clearable\":\"\",\"no-expand\":\"\",\"compact\":\"\"},model:{value:(_vm.value.tenants),callback:function ($$v) {_vm.$set(_vm.value, \"tenants\", $$v)},expression:\"value.tenants\"}})],1):_vm._e(),(_vm.shouldDisplayOwnerFilter)?_c('core.details',{attrs:{\"label\":\"Owner\"}},[_c('orgs.org-selector',{attrs:{\"data\":_vm.owners,\"size\":_vm.size,\"disabled\":_vm.disabled,\"placeholder\":\"Filter by owner\",\"multiple\":\"\",\"clearable\":\"\",\"no-expand\":\"\",\"compact\":\"\"},model:{value:(_vm.value.owners),callback:function ($$v) {_vm.$set(_vm.value, \"owners\", $$v)},expression:\"value.owners\"}})],1):_vm._e(),_c('div',{staticClass:\"pt-4 space-y-8\"},[_c('el-tooltip',{attrs:{\"placement\":\"top-end\",\"effect\":\"light\",\"content\":\"Show only licenses that can accept more hosts.\",\"open-delay\":500,\"enterable\":false,\"disabled\":_vm.disabled}},[_c('el-checkbox',{attrs:{\"size\":_vm.size,\"disabled\":_vm.disabled,\"label\":\"Only with availability\",\"border\":\"\"},model:{value:(_vm.value.withAvailability),callback:function ($$v) {_vm.$set(_vm.value, \"withAvailability\", $$v)},expression:\"value.withAvailability\"}})],1),_c('el-checkbox',{attrs:{\"size\":_vm.size,\"disabled\":_vm.disabled,\"label\":\"Only with hosts\",\"border\":\"\"},model:{value:(_vm.value.onlyWithHosts),callback:function ($$v) {_vm.$set(_vm.value, \"onlyWithHosts\", $$v)},expression:\"value.onlyWithHosts\"}})],1),_c('el-divider',{staticClass:\"mt-16\"}),_c('core.collapse',{staticClass:\"mt-16\",model:{value:(_vm.visibleSections),callback:function ($$v) {_vm.visibleSections=$$v},expression:\"visibleSections\"}},[_c('el-tooltip',{attrs:{\"effect\":\"light\",\"placement\":\"top\",\"content\":\"There are no hosts to filter.\",\"enterable\":false,\"disabled\":_vm.hasHosts}},[_c('el-collapse-item',{attrs:{\"name\":\"license-hosts\",\"disabled\":!_vm.hasHosts}},[_c('core.pulse',{attrs:{\"slot\":\"title\",\"type\":\"danger\",\"disabled\":!_vm.value.hosts.isFiltering,\"y-offset\":\"4px\",\"x-offset\":\"-3px\"},slot:\"title\"},[_c('core.label',{attrs:{\"icon-size\":\"12px\",\"type\":_vm.hasHosts ? 'primary' : 'inherit'}},[_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"grid\"},slot:\"icon\"}),_c('H3',[_vm._v(\"License Host Filters\")])],1)],1),_c('licensing.host-filters-panel',{staticClass:\"mt-4\",attrs:{\"data\":_vm.serviceLicenseHosts,\"service-id\":_vm.serviceId,\"disabled\":_vm.disabled,\"size\":_vm.size},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return _vm._t(\"default\",null,null,scope)}}],null,true),model:{value:(_vm.value.hosts),callback:function ($$v) {_vm.$set(_vm.value, \"hosts\", $$v)},expression:\"value.hosts\"}})],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { LicenseFilters } from \"@Module/Licensing/Models/LicenseFilters.model\";\nimport { UISize } from \"@Service/Settings/Store/AppSettings/AppSettings.state\";\nimport LicensingStore from \"@Module/Licensing/Store/Licensing.store\";\nimport { License } from \"@Module/Licensing/Models/License.model\";\nimport { Component, MapGetter, Prop, Watch } from \"types-vue\";\nimport { ServiceID, ServiceMap } from \"@Service/ServiceID\";\nimport { Host } from \"@Module/Licensing/Models/Host.model\";\nimport Vue from \"vue\";\nimport { Organization } from \"@Module/Orgs/Models/Organization.model\";\nimport OrgsStore from \"@Module/Orgs/Store/Orgs.store\";\n\nconst enum LicenseFiltersSection {\n LicenseHosts = \"license-hosts\"\n}\n\n@Component\nexport default class LicenseFiltersPanel extends Vue {\n\n @Prop({ type: Object, required: true })\n protected value: LicenseFilters;\n\n @Prop({ type: String, required: true })\n protected serviceId: ServiceID;\n\n @Prop({ type: Array, default: null })\n protected data: License[];\n\n @Prop({ type: String, default: null })\n protected size: UISize;\n\n @Prop({ type: Boolean, default: false })\n protected disabled: boolean;\n\n @MapGetter(LicensingStore.Mapping)\n protected licenses: ServiceMap;\n\n @MapGetter(OrgsStore.Mapping)\n protected currentOrg: Organization;\n\n @MapGetter(OrgsStore.Mapping)\n protected currentOrgHasChildren: boolean;\n\n protected visibleSections: LicenseFiltersSection[] = [];\n protected test = [];\n\n protected get serviceLicenses(): License[] {\n return this.data || this.licenses[this.serviceId] || [];\n }\n\n protected get owners(): Organization[] {\n return this.serviceLicenses.reduce((owners, license) => {\n if (!owners.some(owner => owner.id === license.owner.id)\n && license.owner.id !== this.currentOrg.id) {\n owners.push(license.owner);\n }\n return owners;\n }, [] as Organization[]);\n }\n\n protected get tenants(): Organization[] {\n return this.serviceLicenses.reduce((tenants, license) => {\n if (!!license.tenant \n && !tenants.some(tenant => tenant.id === license.tenant.id) \n && license.tenant.id !== this.currentOrg.id) {\n tenants.push(license.tenant);\n }\n return tenants;\n }, [] as Organization[]);\n }\n\n @Watch(\"value.hosts\", { immediate: true, deep: true })\n protected async onFiltersChange() {\n if (this.value.hosts.isFiltering) {\n await this.$nextTick();\n this.visibleSections = [LicenseFiltersSection.LicenseHosts];\n }\n }\n\n protected get serviceLicenseHosts(): Host[] {\n return this.serviceLicenses.map(license => license.hosts).flat();\n }\n\n protected get hasHosts(): boolean {\n return this.serviceLicenseHosts.length > 0;\n }\n\n protected get shouldDisplayTenantFilter() { \n return this.tenants.length > 0 \n && (this.currentOrgHasChildren || this.serviceLicenses.some(license => license.isShared && !license.isSharedToOrg(this.currentOrg)));\n }\n\n protected get shouldDisplayOwnerFilter() { \n return this.owners.length > 0 \n && (!!this.currentOrg.parentId || this.serviceLicenses.some(license => !license.isOwnedByOrg(this.currentOrg)));\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./LicenseFiltersPanel.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./LicenseFiltersPanel.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LicenseFiltersPanel.vue?vue&type=template&id=d0fa2fde&\"\nimport script from \"./LicenseFiltersPanel.ts?vue&type=script&lang=ts&\"\nexport * from \"./LicenseFiltersPanel.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export interface ISignInChallengeDto {\n username: string;\n challenge_name: string;\n session: string;\n}\n\nexport class SignInChallenge {\n public readonly username: string;\n public readonly challengeName: string;\n public readonly session: string;\n public keepSession: boolean;\n\n private constructor(dto: ISignInChallengeDto) {\n this.username = dto.username;\n this.challengeName = dto.challenge_name;\n this.session = dto.session;\n }\n\n public static fromDto(dto: ISignInChallengeDto): SignInChallenge {\n return new SignInChallenge(dto);\n }\n\n public get isNewPasswordChallenge(): boolean {\n return this.challengeName === \"NEW_PASSWORD_REQUIRED\";\n }\n \n \n\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('core.dialog',{ref:\"dialog\",attrs:{\"top\":\"10vh\",\"width\":\"max-content\",\"custom-class\":\"host-registration-dialog\",\"before-close\":_vm.dialogCloseGuard,\"show-close\":!_vm.registerNewHost.loading,\"close-on-click-modal\":!_vm.registerNewHost.loading,\"close-on-press-escape\":!_vm.registerNewHost.loading},on:{\"closed\":_vm.onClosed},scopedSlots:_vm._u([{key:\"footer\",fn:function(ref){\nvar cancel = ref.cancel;\nreturn _c('div',{staticClass:\"flex content-end\"},[_c('el-button',{attrs:{\"disabled\":_vm.registerNewHost.loading,\"type\":\"primary\"},on:{\"click\":cancel}},[_vm._v(\"Close\")])],1)}}])},[_c('core.label',{attrs:{\"slot\":\"title\",\"icon-size\":\"16px\"},slot:\"title\"},[_c('H1',[_vm._v(\"Host Registration\")]),_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"grid\"},slot:\"icon\"})],1),_c('div',{staticClass:\"host-registration space-y-16\"},[_c('licensing.license-summary',{attrs:{\"license\":_vm.license}}),(!!_vm.licenseFile)?_c('div',{staticClass:\"upload-info p-y-16 flex-y items-center content-center\"},[_c('ion-icon',{staticClass:\"upload-info-icon mb-8 is-success\",attrs:{\"name\":\"checkmark-circle-outline\"}}),_c('strong',[_vm._v(\"Host registration successfully completed.\")]),_c('el-button',{staticClass:\"mt-16\",attrs:{\"type\":\"primary\",\"icon\":\"el-icon-download\"},on:{\"click\":_vm.downloadLicenseFile}},[_vm._v(\"Download your license\")])],1):_c('el-tabs',{staticClass:\"pt-8\",model:{value:(_vm.registrationMode),callback:function ($$v) {_vm.registrationMode=$$v},expression:\"registrationMode\"}},[_c('el-tab-pane',{attrs:{\"label\":\"Registration by file\",\"name\":\"by-file\",\"disabled\":_vm.registerNewHost.loading}},[_c('el-upload',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.registerNewHost.loading),expression:\"registerNewHost.loading\"}],staticClass:\"upload m-x-8\",attrs:{\"element-loading-text\":\"Registering host...\",\"http-request\":_vm.process,\"show-file-list\":false,\"action\":\"\",\"drag\":\"\"}},[(!_vm.registerNewHost.loading)?_c('div',{staticClass:\"upload-info flex-y content-center items-center h-full\"},[_c('ion-icon',{staticClass:\"upload-info-icon mb-8\",attrs:{\"name\":\"cloud-upload-outline\"}}),_c('div',[_c('strong',[_vm._v(\"Drop\")]),_vm._v(\" your registration file or \"),_c('strong',[_vm._v(\"click to upload\")]),_vm._v(\".\")]),_c('small',[_vm._v(\"The registration process will start automatically.\")])],1):_vm._e()])],1),_c('el-tab-pane',{attrs:{\"label\":\"Registration by key\",\"name\":\"by-key\",\"disabled\":_vm.registerNewHost.loading}},[_c('div',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.registerNewHost.loading),expression:\"registerNewHost.loading\"}],staticClass:\"space-y-8 m-x-8\",attrs:{\"element-loading-text\":\"Registering host...\"}},[_c('el-input',{staticClass:\"key-input\",attrs:{\"spellcheck\":\"false\",\"type\":\"textarea\",\"autosize\":{ minRows: 7, maxRows: 7},\"placeholder\":\"Insert your registration key\"},model:{value:(_vm.registrationKey),callback:function ($$v) {_vm.registrationKey=$$v},expression:\"registrationKey\"}}),_c('el-button',{attrs:{\"type\":\"primary\",\"disabled\":!_vm.registrationKey,\"loading\":_vm.registerNewHost.loading},on:{\"click\":function($event){return _vm.process(_vm.registrationKey)}}},[_c('span',{staticClass:\"space-x-6 flex items-center\"},[_c('ion-icon',{attrs:{\"name\":\"link-outline\"}}),_c('span',[_vm._v(\"Register host\")])],1)])],1)])],1),_c('transition',{attrs:{\"name\":\"el-zoom-in-top\"}},[(!!_vm.registerNewHost.error)?_c('core.alert',{attrs:{\"type\":\"error\",\"title\":\"Registration Error\",\"description\":_vm.registerNewHost.error.message,\"plain\":\"\"}}):_vm._e()],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import LicensingStore, { RegisterEncryptedHostPayload, RegisterUnencryptedHostPayload } from \"@Module/Licensing/Store/Licensing.store\";\nimport { ILicenseDto, License } from \"@Module/Licensing/Models/License.model\";\nimport FileDownloadMixin from \"@Core/Mixins/FileDownload.mixin\";\nimport { Component, MapAction, mixins, Prop } from \"types-vue\";\nimport { HttpRequestOptions } from \"element-ui/types/upload\";\nimport Dialog from \"@Core/Components/Dialog/Dialog\";\nimport { Execution } from \"@Core/Models/Execution\";\nimport { ServiceID } from \"@Service/ServiceID\";\nimport { Notify } from \"@Core/Utils/Notify\";\n\nconst enum RegistrationMode {\n ByFile = \"by-file\",\n ByKey = \"by-key\"\n}\n\ninterface LicenseFile {\n name: string;\n content: string;\n downloaded: boolean;\n}\n\n@Component\nexport default class HostRegistrationDialog extends mixins(FileDownloadMixin) {\n\n @Prop({ type: String, required: true })\n protected serviceId: ServiceID;\n\n @Prop({ type: Boolean, default: false })\n protected encrypted: boolean;\n\n @MapAction(LicensingStore.Mapping)\n protected registerUnencryptedHost: (payload: RegisterUnencryptedHostPayload) => Promise;\n\n @MapAction(LicensingStore.Mapping)\n protected registerEncryptedHost: (payload: RegisterEncryptedHostPayload) => Promise;\n\n protected license: License = null;\n protected registrationKey: string = null;\n protected registrationMode: RegistrationMode = RegistrationMode.ByFile;\n protected licenseFile: LicenseFile = null;\n\n protected registerNewHost = Execution.create(\n (license: License, registration: string) => {\n if (this.encrypted) {\n return this.registerEncryptedHost({ \n service: this.serviceId, \n data: license.id,\n key: registration\n });\n } else {\n return this.registerUnencryptedHost({\n service: this.serviceId, \n data: license.id,\n registration: JSON.parse(registration)\n })\n }\n }\n );\n\n public open(license: License): Promise {\n this.license = license;\n const dialog = this.$refs.dialog as Dialog;\n return dialog.open();\n }\n\n protected onClosed() {\n this.registerNewHost.reset();\n this.registrationKey = null;\n this.licenseFile = null;\n this.registrationMode = RegistrationMode.ByFile;\n }\n\n protected async process(data: string | HttpRequestOptions) {\n const registrationKey = typeof data === \"string\" ? data : await this.readFile(data.file);\n const licenseContent = await this.registerNewHost.run(this.license, registrationKey);\n if (!this.registerNewHost.error) {\n this.licenseFile = { name: Date.now().toString(), downloaded: false, content: licenseContent };\n Notify.Success({\n title: \"Host Registration Success\",\n message: \"Your new host has been successfully registered.\"\n });\n }\n }\n\n public get forgotDownload(): boolean {\n return !!this.licenseFile && !this.licenseFile.downloaded;\n }\n\n protected async downloadLicenseFile(): Promise {\n const content = this.licenseFile.content;\n const fileName = this.licenseFile.name;\n this.downloadFile(fileName, content);\n this.licenseFile.downloaded = true;\n }\n\n protected readFile(file: File): Promise {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.addEventListener('error', reject);\n reader.addEventListener('load', () => {\n resolve(reader.result as string)\n });\n reader.readAsText(file);\n });\n }\n\n protected async dialogCloseGuard(close: VoidFunction) {\n if (this.forgotDownload) {\n try {\n await this.$confirm(\n \"The registration process is complete, however you have not downloaded the license file.\",\n \"License download warning\",\n { confirmButtonText: \"Close and skip download\", cancelButtonText: \"Cancel\", type: \"warning\" });\n } catch { return; }\n }\n close()\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./HostRegistrationDialog.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./HostRegistrationDialog.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./HostRegistrationDialog.vue?vue&type=template&id=d328aaa8&scoped=true&\"\nimport script from \"./HostRegistrationDialog.ts?vue&type=script&lang=ts&\"\nexport * from \"./HostRegistrationDialog.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./HostRegistrationDialog.vue?vue&type=style&index=0&id=d328aaa8&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"d328aaa8\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('core.redirect',{attrs:{\"seconds\":5,\"disabled\":_vm.isCountdownDisabled,\"redirect-method\":_vm.onInvitationAccepted},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar remainingSeconds = ref.remainingSeconds;\nvar redirect = ref.redirect;\nreturn _c('div',{staticClass:\"respond-invitation-panel space-y-16\"},[(_vm.acceptInvitation.loading)?_c('core.loading',{class:!_vm.isInDialog ? 'mb-8' : '',attrs:{\"height\":\"9.2rem\",\"label\":(\"Accepting invitation to \" + (_vm.orgInvitationLink.orgName))}}):(!!_vm.acceptInvitation.error)?_c('core.alert',{attrs:{\"type\":\"error\",\"title\":\"Invitation response error\",\"closable\":false,\"description\":_vm.acceptInvitation.error.message,\"plain\":\"\"}},[_c('el-button',{attrs:{\"slot\":\"footer\",\"size\":\"mini\",\"icon\":\"el-icon-refresh-right\"},on:{\"click\":_vm.acceptInvitation.run},slot:\"footer\"},[_c('span',[_vm._v(\"Try again\")])]),(!_vm.isInDialog)?_c('el-button',{attrs:{\"slot\":\"footer\",\"size\":\"mini\",\"type\":\"primary\"},on:{\"click\":redirect},slot:\"footer\"},[_c('span',[_vm._v(_vm._s(_vm.isInDialog ? 'Close' : 'Continue'))])]):_vm._e()],1):_c('div',{staticClass:\"invitation-success flex-y items-center space-y-4 p-x-32 p-y-24 text-align-center\"},[_c('i',{staticClass:\"el-icon-success\"}),_c('span',{staticClass:\"invitation-success-headline\"},[_vm._v(\"Your invitation to \"),_c('strong',[_vm._v(_vm._s(_vm.orgInvitationLink.orgName))]),_vm._v(\" has been successfully accepted\")]),(!_vm.isInDialog)?_c('small',{staticClass:\"mt-4\"},[_vm._v(\"You will be automatically redirected in \"),_c('span',{staticClass:\"text-semibold\"},[_vm._v(_vm._s(remainingSeconds)+\" \"+_vm._s(_vm._f(\"pluralize\")('second',remainingSeconds)))]),_vm._v(\".\")]):_vm._e()]),(_vm.orgInvitationLink.accepted)?_c('div',{staticClass:\"flex content-end space-x-8 w-full\"},[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":redirect}},[_vm._v(_vm._s(_vm.isInDialog ? 'Close' : 'Continue'))])],1):_vm._e()],1)}}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { OrgInvitationNotificationLink } from \"@Module/Notifications/Models/OrgInvitationNotification.model\";\nimport NotificationsInboxStore from \"@Module/Notifications/Store/NotificationsInbox.store\";\nimport { Component, MapAction, MapGetter, Prop, Watch } from \"types-vue\";\nimport OrgsStore from \"@Module/Orgs/Store/Orgs.store\";\nimport { Execution } from \"@Core/Models/Execution\";\nimport Vue from \"vue\";\n\n@Component\nexport default class RespondInvitationPanel extends Vue {\n\n @Prop({ type: Boolean, default: false })\n protected disabled: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected isInDialog: boolean;\n\n @MapGetter(NotificationsInboxStore.Mapping)\n protected orgInvitationLink: OrgInvitationNotificationLink;\n\n @MapAction(NotificationsInboxStore.Mapping)\n protected setOrgInvitationLink: (link: OrgInvitationNotificationLink | null) => Promise;\n\n @MapAction(NotificationsInboxStore.Mapping)\n protected acceptOrgInvitationLink: (link: OrgInvitationNotificationLink) => Promise;\n\n @MapAction(OrgsStore.Mapping)\n protected fetchOrgRoles: () => Promise;\n\n protected acceptInvitation = Execution.create(async (link: OrgInvitationNotificationLink) => {\n await this.acceptOrgInvitationLink(link);\n if (!link.isSignUp) {\n await this.fetchOrgRoles();\n }\n link.accepted = true;\n });\n\n protected mounted() {\n if (!this.orgInvitationLink.accepted) {\n this.acceptInvitation.run(this.orgInvitationLink);\n }\n }\n\n @Watch(\"acceptInvitation.loading\", { immediate: true })\n protected onInvitationLoading(loading: boolean) {\n this.$emit(\"update:disabled\", loading);\n }\n\n protected get isCountdownDisabled(): boolean {\n return this.isInDialog || this.acceptInvitation.loading || !!this.acceptInvitation.error;\n }\n\n public async closeGuard(close: VoidFunction) {\n if (!this.acceptInvitation.loading) {\n return close(); \n }\n }\n\n protected onInvitationAccepted() {\n this.$emit(\"success\", this.orgInvitationLink);\n }\n\n protected beforeDestroy() {\n this.setOrgInvitationLink(null);\n } \n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./RespondInvitationPanel.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./RespondInvitationPanel.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./RespondInvitationPanel.vue?vue&type=template&id=0b6c21fa&scoped=true&\"\nimport script from \"./RespondInvitationPanel.ts?vue&type=script&lang=ts&\"\nexport * from \"./RespondInvitationPanel.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./RespondInvitationPanel.vue?vue&type=style&index=0&id=0b6c21fa&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0b6c21fa\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('core.dialog',{ref:\"dialog\",attrs:{\"top\":\"7vh\",\"width\":_vm.dialogWidth,\"custom-class\":\"license-transfer-dialog\",\"destroy-on-close\":\"\",\"closeOnClickModal\":!_vm.sendLicenseExchangeNotifications.loading,\"closeOnPressEscape\":!_vm.sendLicenseExchangeNotifications.loading,\"showClose\":!_vm.sendLicenseExchangeNotifications.loading},on:{\"opened\":_vm.focus,\"closed\":_vm.reset},scopedSlots:_vm._u([{key:\"footer\",fn:function(ref){\nvar cancel = ref.cancel;\nreturn _c('div',{staticClass:\"flex content-end space-x-8\"},[(_vm.isInLicenseExchangeTab)?[(_vm.hasUncommittedChanges)?_c('el-button',{staticClass:\"mr-auto\",attrs:{\"disabled\":_vm.sendLicenseExchangeNotifications.loading},on:{\"click\":_vm.discardUncommittedChanges}},[_c('span',[_vm._v(\"Discard changes\")])]):_vm._e(),_c('el-button',{attrs:{\"type\":\"text\",\"disabled\":_vm.sendLicenseExchangeNotifications.loading},on:{\"click\":cancel}},[_c('span',[_vm._v(\"Cancel\")])]),_c('el-button',{attrs:{\"type\":\"primary\",\"disabled\":!_vm.hasUncommittedChanges,\"loading\":_vm.sendLicenseExchangeNotifications.loading},on:{\"click\":_vm.confirmExchange}},[(_vm.sendLicenseExchangeNotifications.loading)?_c('span',[_vm._v(\"Exchanging\")]):_c('span',[_vm._v(\"Exchange licenses\")])])]:[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":cancel}},[_c('span',[_vm._v(\"Close\")])])]],2)}}])},[_c('core.label',{attrs:{\"slot\":\"title\",\"icon-spacing\":\"8px\",\"icon-size\":\"20px\"},slot:\"title\"},[_c('H1',[_vm._v(\"License sharing\")]),_c('i',{staticClass:\"el-icon-sort\",attrs:{\"slot\":\"icon\"},slot:\"icon\"})],1),_c('div',{staticClass:\"pos-relative\"},[_c('transition',{attrs:{\"name\":\"el-fade-in-linear\"}},[(!!_vm.getPendingExchanges.error)?_c('core.alert',{attrs:{\"type\":\"error\",\"title\":\"Error intializing license sharing\",\"description\":_vm.getPendingExchanges.error.message,\"closable\":false,\"top\":\"min(45%, 20rem)\",\"floating\":\"\",\"plain\":\"\"}},[_c('el-button',{attrs:{\"slot\":\"footer\",\"size\":\"mini\",\"icon\":\"el-icon-refresh-right\"},on:{\"click\":_vm.getPendingExchanges.run},slot:\"footer\"},[_c('span',[_vm._v(\"Try again\")])])],1):_vm._e()],1),_c('el-tabs',{model:{value:(_vm.currentTab),callback:function ($$v) {_vm.currentTab=$$v},expression:\"currentTab\"}},[_c('el-tab-pane',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.getPendingExchanges.loading),expression:\"getPendingExchanges.loading\"}],attrs:{\"name\":\"transfer\"}},[_c('span',{attrs:{\"slot\":\"label\"},slot:\"label\"},[_vm._v(\"Exchange licenses\")]),(_vm.canChooseExchangeMode && !_vm.exchangeMode)?_c('div',{staticClass:\"space-y-16\"},[(this.currentOrgHasChildren)?_c('core.card',{staticClass:\"exchange-mode-button\",attrs:{\"borderRadius\":\"small\",\"selectable\":\"\",\"bordered\":\"\"},nativeOn:{\"click\":function($event){return _vm.selectExchangeMode('by-me')}}},[_c('div',{staticClass:\"flex items-center\"},[_c('div',{staticClass:\"flex-1\"},[_c('H3',[_vm._v(_vm._s(_vm.exchangeModeLabels('by-me').title))]),_c('small',[_vm._v(_vm._s(_vm.exchangeModeLabels('by-me').description))])],1),_c('span',{staticClass:\"flex items-center space-x-4\"},[_c('el-tooltip',{attrs:{\"effect\":\"light\",\"placement\":\"top\",\"transition\":\"el-zoom-in-bottom\",\"content\":\"Licenses shared to child organizations\",\"enterable\":false}},[_c('el-badge',{attrs:{\"type\":\"info\",\"value\":((_vm.licensesSharedByMe.length) + \"/\" + (_vm.licenses.length))}})],1),_c('i',{staticClass:\"el-icon-arrow-right text-bold\"})],1)])]):_vm._e(),(this.licensesSharedWithMe.length > 0)?_c('core.card',{staticClass:\"exchange-mode-button\",attrs:{\"borderRadius\":\"small\",\"selectable\":\"\",\"bordered\":\"\"},nativeOn:{\"click\":function($event){return _vm.selectExchangeMode('with-me')}}},[_c('div',{staticClass:\"flex items-center\"},[_c('div',{staticClass:\"flex-1\"},[_c('H3',[_vm._v(_vm._s(_vm.exchangeModeLabels('with-me').title))]),_c('small',[_vm._v(_vm._s(_vm.exchangeModeLabels('with-me').description))])],1),_c('span',{staticClass:\"flex items-center space-x-4\"},[_c('el-tooltip',{attrs:{\"effect\":\"light\",\"placement\":\"top\",\"transition\":\"el-zoom-in-bottom\",\"content\":\"Licenses shared by parent organizations\",\"enterable\":false}},[_c('el-badge',{attrs:{\"type\":\"info\",\"value\":_vm.licensesSharedWithMe.length}})],1),_c('i',{staticClass:\"el-icon-arrow-right text-bold\"})],1)])]):_vm._e()],1):_c('div',{staticClass:\"space-y-16\"},[(_vm.canChooseExchangeMode)?_c('core.card',{staticClass:\"exchange-mode-button\",attrs:{\"borderRadius\":\"small\",\"selectable\":\"\",\"bordered\":\"\",\"compact\":\"\"},nativeOn:{\"click\":function($event){return _vm.backToExchangeModeSelection($event)}}},[_c('div',{staticClass:\"flex items-center space-x-16\"},[_c('span',{staticClass:\"flex items-center space-x-4 text-bold\"},[_c('i',{staticClass:\"el-icon-arrow-left\"}),_c('small',[_vm._v(\"Back\")])]),_c('div',{staticClass:\"flex-1\"},[_c('H3',[_vm._v(_vm._s(_vm.exchangeModeLabels(_vm.exchangeMode).title))]),_c('small',[_vm._v(_vm._s(_vm.exchangeModeLabels(_vm.exchangeMode).description))])],1)])]):_vm._e(),_c('div',{staticClass:\"space-y-8\",class:[ _vm.canChooseExchangeMode ? 'pt-4 p-x-6' : 0 ]},[_c('licensing.license-transfer',{ref:\"transfer\",staticClass:\"license-transfer\",attrs:{\"type\":\"border\",\"exchange-mode\":_vm.selectedExchangeMode,\"loading\":_vm.sendLicenseExchangeNotifications.loading,\"disabled\":_vm.sendLicenseExchangeNotifications.loading,\"service-id\":_vm.serviceId,\"licenses\":_vm.licenses,\"single-card\":_vm.$mq.lg},on:{\"change\":function (event) { return (_vm.exchange = event); }}}),_c('transition',{attrs:{\"name\":\"el-zoom-in-top\"}},[(!!_vm.sendLicenseExchangeNotifications.error)?_c('core.alert',{attrs:{\"type\":\"error\",\"title\":\"License exchange error\",\"description\":_vm.sendLicenseExchangeNotifications.error.message,\"compact\":\"\",\"plain\":\"\"}}):_vm._e()],1)],1)],1)]),_c('el-tab-pane',{attrs:{\"name\":\"outbox\",\"disabled\":_vm.sendLicenseExchangeNotifications.loading}},[_c('core.label',{attrs:{\"slot\":\"label\",\"type\":\"inherit\"},slot:\"label\"},[_c('span',{staticClass:\"flex items-center space-x-6\"},[_c('span',[_vm._v(\"Exchanges outbox\")]),(_vm.pendingExchangeOutbox.length > 0)?_c('el-badge',{attrs:{\"slot\":\"label\",\"type\":_vm.isInOutboxTab ? 'primary' : undefined,\"value\":_vm.pendingExchangeOutbox.length},slot:\"label\"}):_vm._e()],1),(_vm.getPendingExchanges.loading)?_c('i',{staticClass:\"el-icon-loading text-semibold\",attrs:{\"slot\":\"icon\"},slot:\"icon\"}):_vm._e()]),_c('notifications.notifications-list',{attrs:{\"notifications\":_vm.pendingExchangeOutbox,\"loading\":_vm.outboxFirstLoad,\"loading-throttle\":500,\"is-inbox\":false}},[_c('core.empty',{staticClass:\"pb-0\",attrs:{\"slot\":\"empty\"},slot:\"empty\"},[_c('i',{staticClass:\"el-icon-sort text-semibold\",attrs:{\"slot\":\"icon\"},slot:\"icon\"}),_c('span',[_vm._v(\"There are no pending \"+_vm._s(_vm.serviceName)+\" license exchange requests.\")])])],1)],1),_c('el-tab-pane',{attrs:{\"name\":\"inbox\",\"disabled\":_vm.sendLicenseExchangeNotifications.loading}},[_c('core.label',{attrs:{\"slot\":\"label\",\"type\":\"inherit\"},slot:\"label\"},[_c('span',{staticClass:\"flex items-center space-x-6\"},[_c('span',[_vm._v(\"Exchanges inbox\")]),(_vm.pendingExchangeInbox.length > 0)?_c('el-badge',{attrs:{\"slot\":\"label\",\"type\":_vm.isInInboxTab ? 'primary' : undefined,\"value\":_vm.pendingExchangeInbox.length},slot:\"label\"}):_vm._e()],1),(_vm.getPendingExchanges.loading)?_c('i',{staticClass:\"el-icon-loading text-semibold\",attrs:{\"slot\":\"icon\"},slot:\"icon\"}):_vm._e()]),_c('notifications.notifications-list',{attrs:{\"notifications\":_vm.pendingExchangeInbox,\"loading\":_vm.inboxFirstLoad,\"loading-throttle\":500,\"is-inbox\":true}},[_c('core.empty',{staticClass:\"pb-0\",attrs:{\"slot\":\"empty\"},slot:\"empty\"},[_c('i',{staticClass:\"el-icon-sort text-semibold\",attrs:{\"slot\":\"icon\"},slot:\"icon\"}),_c('span',[_vm._v(\"There are no pending \"+_vm._s(_vm.serviceName)+\" license exchange notifications.\")])])],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { LicenseSharingNotification } from \"@Module/Notifications/Models/LicenseSharingNotification.model\";\nimport { LicenseReturnNotification } from \"@Module/Notifications/Models/LicenseReturnNotification.model\";\nimport NotificationsOutboxStore from \"@Module/Notifications/Store/NotificationsOutbox.store\";\nimport NotificationsInboxStore from \"@Module/Notifications/Store/NotificationsInbox.store\";\nimport OrgSelector from \"@Module/Orgs/Components/OrgSelector/OrgSelector\";\nimport { Organization } from \"@Module/Orgs/Models/Organization.model\";\nimport { License } from \"@Module/Licensing/Models/License.model\";\nimport { Component, MapGetter, Prop, Watch } from \"types-vue\";\nimport OrgsStore from \"@Module/Orgs/Store/Orgs.store\";\nimport { ServiceID } from \"@Service/ServiceID\";\nimport IsEqual from \"lodash.isequal\";\nimport Vue from \"vue\";\n\ntype ExchangeNotification = LicenseSharingNotification | LicenseReturnNotification;\n\nexport const enum ExchangeMode {\n SharedWithMe = \"with-me\",\n SharedByMe = \"by-me\"\n}\n\ninterface LicenseTransferOption {\n id: number;\n license: License;\n label: string;\n disabled: boolean;\n isExchangePending: boolean;\n isInboxPending: boolean;\n sharePending?: ExchangeNotification;\n returnPending?: ExchangeNotification;\n}\n\nexport interface LicenseTransferChangeEvent {\n owner: Organization;\n tenant: Organization;\n toShare: License[];\n toReturn: License[];\n service: ServiceID;\n didChange: boolean;\n returnImmediately: boolean;\n voluntaryReturn: boolean;\n}\n\ninterface TargetOrgSelectorConfig {\n options: Organization[];\n disabledItems: Organization[];\n disabled: boolean;\n hierarchical: boolean;\n noDataText: string;\n}\n\ninterface TransferConfig {\n title: string;\n}\n\ninterface InitialStatus {\n shared: Set;\n notShared: Set;\n}\n\n@Component\nexport default class LicenseTransfer extends Vue {\n\n @Prop({ type: String, required: true })\n protected serviceId: ServiceID;\n\n @Prop({ type: Array, required: true })\n protected licenses: License[];\n\n @Prop({ type: String, required: true })\n protected exchangeMode: ExchangeMode;\n\n @Prop({ type: Boolean, default: false })\n protected loading: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected disabled: boolean;\n\n @Prop({ type: String, default: null })\n protected type: \"plain\" | \"border\";\n\n @Prop({ type: Boolean, default: false })\n protected singleCard: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected noCheckbox: boolean;\n\n @MapGetter(NotificationsOutboxStore.Mapping)\n protected orgLicenseSharingOutbox: LicenseSharingNotification[];\n \n @MapGetter(NotificationsOutboxStore.Mapping)\n protected orgLicenseReturnOutbox: LicenseReturnNotification[];\n\n @MapGetter(NotificationsInboxStore.Mapping)\n protected licenseSharingInbox: LicenseSharingNotification[];\n \n @MapGetter(NotificationsInboxStore.Mapping)\n protected licenseReturnInbox: LicenseReturnNotification[];\n\n @MapGetter(OrgsStore.Mapping)\n protected currentOrg: Organization;\n\n @MapGetter(OrgsStore.Mapping)\n protected currentOrgHasChildren: boolean;\n\n @MapGetter(OrgsStore.Mapping)\n protected currentOrgChildren: Organization[];\n\n protected returnImmediately: boolean = false;\n\n protected owner?: Organization = null;\n protected tenant?: Organization = null;\n \n protected leftChecked: number[] = [];\n protected rightChecked: number[] = [];\n\n protected sharedLicenseIds: number[] = [];\n\n protected initial: InitialStatus = { shared: new Set(), notShared: new Set() };\n\n protected created() {\n this.owner = this.ownerSelectorConfig.options.length === 1 ? this.ownerSelectorConfig.options[0] : null;\n this.tenant = this.tenantSelectorConfig.options.length === 1 ? this.tenantSelectorConfig.options[0] : null;\n }\n\n protected get tenantPendingNotifications() {\n const inbox = [...this.licenseSharingInbox, ...this.licenseReturnInbox].filter(noti => noti.isInvolved(this.owner, this.tenant));\n const outbox = [...this.orgLicenseSharingOutbox, ...this.orgLicenseReturnOutbox].filter(noti => noti.isInvolved(this.owner, this.tenant));\n return { inbox, outbox }\n }\n\n protected getPendingStatus(license: License) {\n const pendingNotis = this.tenantPendingNotifications;\n const inboxPendingNoti = pendingNotis.inbox.find(noti => noti.isLicenseIncluded(license));\n const outboxPendingNoti = pendingNotis.outbox.find(noti => noti.isLicenseIncluded(license));\n\n const isPending = !!inboxPendingNoti || !!outboxPendingNoti;\n const isInboxPending = !!inboxPendingNoti;\n const isOutboxPending = !!outboxPendingNoti;\n\n const isTenantPendingReturn = inboxPendingNoti?.isLicenseReturn && inboxPendingNoti?.isFrom(this.tenant)\n || outboxPendingNoti?.isLicenseReturn && outboxPendingNoti?.isFrom(this.tenant);\n\n const tenantPendingReturnNoti = isTenantPendingReturn ? inboxPendingNoti || outboxPendingNoti : undefined;\n \n const isTenantPendingShare = inboxPendingNoti?.isLicenseSharing && inboxPendingNoti?.isDestinatedTo(this.tenant)\n || outboxPendingNoti?.isLicenseSharing && outboxPendingNoti?.isDestinatedTo(this.tenant);\n \n const tenantPendingShareNoti = isTenantPendingShare ? inboxPendingNoti || outboxPendingNoti : undefined;\n\n const isTenantPendingExchange = isTenantPendingReturn || isTenantPendingShare;\n\n return { isPending, isTenantPendingExchange, tenantPendingReturnNoti, tenantPendingShareNoti, isTenantPendingReturn, isTenantPendingShare, isInboxPending, isOutboxPending, inboxPendingNoti, outboxPendingNoti };\n }\n\n protected getExchangeStatus(license: License) {\n const isShared = license.isShared;\n const isSharedToCurrentOrg = license.isSharedToOrg(this.currentOrg);\n const isSharedWithTenat = license.isSharedToOrg(this.tenant);\n const isSharedByOwner = isSharedToCurrentOrg && license.isOwnedByOrg(this.owner);\n const isEligibleToShare = license.isEligibleToShare(this.owner, this.tenant);\n const isEligibleToReturn = license.isEligibleToReturn(this.owner, this.tenant);\n return { isShared, isSharedToCurrentOrg, isSharedWithTenat, isSharedByOwner, isEligibleToShare, isEligibleToReturn };\n }\n\n protected get exchangeableLicenses(): License[] {\n return this.licenses.filter(license => {\n const pendingStatus = this.getPendingStatus(license);\n const exchangeStatus = this.getExchangeStatus(license);\n const eligibleForExchange = exchangeStatus.isEligibleToShare || exchangeStatus.isEligibleToReturn;\n const isPendingForOtherTenant = pendingStatus.isPending && !pendingStatus.isTenantPendingExchange;\n return eligibleForExchange && !isPendingForOtherTenant;\n });\n }\n\n protected get isSharedByMeMode(): boolean {\n return this.exchangeMode === ExchangeMode.SharedByMe;\n }\n\n public initialize() {\n this.leftChecked = [];\n this.rightChecked = [];\n\n const initiallyShared = this.exchangeableLicenses.reduce((ids, license) => {\n const pendingStatus = this.getPendingStatus(license);\n const exchangeStatus = this.getExchangeStatus(license);\n const isSharedOrPendingShare = exchangeStatus.isSharedWithTenat || pendingStatus.isTenantPendingShare;\n if (isSharedOrPendingShare && !pendingStatus.isTenantPendingReturn) {\n ids.add(license.id);\n }\n return ids;\n }, new Set());\n\n const initiallyNotShared = this.exchangeableLicenses.reduce((ids, license) => {\n const pendingStatus = this.getPendingStatus(license);\n const exchangeStatus = this.getExchangeStatus(license);\n const isNotSharedOrPendingReturn = !exchangeStatus.isSharedWithTenat || pendingStatus.isTenantPendingReturn;\n if (isNotSharedOrPendingReturn && !pendingStatus.isTenantPendingShare) {\n ids.add(license.id);\n }\n return ids;\n }, new Set());\n\n this.sharedLicenseIds = Array.from(initiallyShared);\n this.initial = { shared: initiallyShared, notShared: initiallyNotShared };\n }\n\n protected get transferOptions(): LicenseTransferOption[] {\n return this.exchangeableLicenses.map(license => { \n const pendingStatus = this.getPendingStatus(license);\n const option: LicenseTransferOption = { \n id: license.id,\n disabled: this.disabled || !this.owner || !this.tenant || pendingStatus.isTenantPendingExchange, \n isExchangePending: pendingStatus.isTenantPendingExchange,\n sharePending: pendingStatus.tenantPendingShareNoti,\n returnPending: pendingStatus.tenantPendingReturnNoti,\n isInboxPending: pendingStatus.isInboxPending,\n label: license.externalId,\n license\n };\n return option;\n });\n }\n\n protected get status(): LicenseTransferChangeEvent {\n const currentSharedLicenseIds = this.sharedLicenseIds.sort((a, b) => a - b);\n const initialSharedLicenseIds = Array.from(this.initial.shared).sort((a, b) => a - b);\n return {\n owner: this.owner,\n tenant: this.tenant,\n service: this.serviceId,\n toShare: this.sharedLicenses.filter(license => this.initial.notShared.has(license.id)), \n toReturn: this.notSharedLicenses.filter(license => this.initial.shared.has(license.id)),\n didChange: !IsEqual(currentSharedLicenseIds, initialSharedLicenseIds),\n returnImmediately: this.returnImmediately,\n voluntaryReturn: this.tenant?.id === this.currentOrg.id\n };\n }\n\n public reset() {\n this.sharedLicenseIds = Array.from(this.initial.shared);\n }\n\n @Watch(\"sharedLicenseIds\")\n protected onSharedLicensesChange() {\n this.$emit(\"change\", this.status);\n }\n\n @Watch(\"tenant\")\n @Watch(\"tenantPendingNotifications\", { deep: true })\n protected async onTenantChange(newVal: any, oldVal: any) {\n if (!this.tenant || IsEqual(newVal, oldVal)) { return; }\n this.initialize();\n }\n\n protected filter(query: string, option: LicenseTransferOption) {\n return option.license.meetsSearch(query);\n }\n\n protected get tenantSelectorConfig(): TargetOrgSelectorConfig {\n return {\n options: this.exchangeMode === ExchangeMode.SharedByMe ? this.currentOrgChildren : [this.currentOrg],\n disabledItems: !!this.owner ? [this.owner] : undefined,\n hierarchical: this.owner?.id === this.currentOrg.id,\n disabled: this.disabled || !this.owner || this.exchangeMode === ExchangeMode.SharedWithMe,\n noDataText: \"No available organizations.\"\n }\n }\n\n protected get ownerSelectorConfig(): TargetOrgSelectorConfig {\n return {\n options: this.exchangeMode === ExchangeMode.SharedWithMe ? this.licenseOwners : [this.currentOrg],\n disabledItems: undefined,\n hierarchical: false,\n disabled: this.disabled || this.exchangeMode === ExchangeMode.SharedByMe,\n noDataText: \"No available organizations.\"\n }\n }\n\n protected get shareTransferConfig(): TransferConfig {\n return {\n title: !this.owner ? \"Not shared licenses\" : `${this.owner.name} not shared licenses`\n }\n }\n\n protected get returnTransferConfig(): TransferConfig {\n return {\n title: !this.owner || !this.tenant ? \"Shared licenses\" : `Shared with ${this.tenant.name} by ${this.owner.name}`\n }\n }\n\n protected numberOfLicensesShared(owner: Organization, tenant: Organization): number {\n return this.licenses.filter(license => license.isOwnedByOrg(owner) && license.isSharedToOrg(tenant)).length;\n }\n\n protected get licenseTenants(): Organization[] {\n if (!this.owner) { return []; }\n return this.owner.id === this.currentOrg.id \n ? this.currentOrgChildren \n : [this.currentOrg];\n }\n\n protected get licenseOwners(): Organization[] {\n return this.licenses.reduce((owners, license) => {\n const isOwnerAlreadyAdded = owners.some(owner => owner.id === license.owner.id);\n if (isOwnerAlreadyAdded) { return owners; }\n \n const isOwnerMyCurrentOrg = this.currentOrg.id === license.owner.id;\n if (!isOwnerMyCurrentOrg){\n owners.push(license.owner);\n }\n return owners;\n }, [] as Organization[]);\n }\n\n protected get notSharedLicenses(): License[] {\n return this.exchangeableLicenses.filter(license => !this.sharedLicenseIds.includes(license.id));\n }\n\n protected get sharedLicenses(): License[] {\n return this.exchangeableLicenses.filter(license => this.sharedLicenseIds.includes(license.id));\n }\n \n protected get transferClass() {\n return {\n \"is-plain\": this.type === \"plain\",\n \"is-border\": this.type === \"border\",\n \"is-single-card\": this.singleCard,\n \"is-no-checkbox\": this.noCheckbox\n }\n }\n\n protected isLicenseReturned(license: License): boolean {\n return this.sharedLicenseIds.includes(license.id)\n && !this.initial.shared.has(license.id);\n }\n\n protected isLicenseShared(license: License): boolean {\n return !this.sharedLicenseIds.includes(license.id)\n && this.initial.shared.has(license.id);\n }\n\n protected transferToRight() {\n (this.$refs.transfer as any)?.addToRight();\n this.leftChecked = [];\n }\n\n protected transferToLeft() {\n (this.$refs.transfer as any)?.addToLeft();\n this.rightChecked = [];\n }\n\n protected onLeftCheckStateChange(checked: number[]) {\n this.leftChecked = checked;\n }\n\n protected onRightCheckStateChange(checked: number[]) {\n this.rightChecked = checked;\n }\n\n protected isLicenseChecked(license: License): boolean {\n return [...this.leftChecked, ...this.rightChecked].includes(license.id);\n }\n\n protected get notSharedLicensesSummary(): Record {\n return this.buildDimensionSummary(this.notSharedLicenses);\n }\n\n protected get sharedLicensesSummary(): Record {\n return this.buildDimensionSummary(this.sharedLicenses);\n }\n\n protected buildDimensionSummary(licenses: License[]): Record {\n return licenses.reduce((map, license) => {\n const currCount = map[license.dimension] ?? 0;\n map[license.dimension] = currCount + 1;\n return map;\n }, {} as Record);\n }\n\n protected get toShareSummary(): string {\n const sharedDimSummary = this.buildDimensionSummary(this.status.toShare);\n const toShare = Object.entries(sharedDimSummary).map(entry => `${entry[1]} ${entry[0]}`)\n let summary = toShare.join(\", \");\n const lastCommaIndex = summary.lastIndexOf(\", \");\n if (lastCommaIndex !== -1) {\n summary = summary.substring(0, lastCommaIndex) + \" and \" + summary.substring(lastCommaIndex + \", \".length);\n }\n return summary;\n }\n\n protected get toReturnSummary(): string {\n const sharedDimSummary = this.buildDimensionSummary(this.status.toReturn);\n const toShare = Object.entries(sharedDimSummary).map(entry => `${entry[1]} ${entry[0]}`)\n let summary = toShare.join(\", \");\n const lastCommaIndex = summary.lastIndexOf(\", \");\n if (lastCommaIndex !== -1) {\n summary = summary.substring(0, lastCommaIndex) + \" and \" + summary.substring(lastCommaIndex + \", \".length);\n }\n return summary;\n }\n\n protected get serviceName(): string {\n return ServiceID.nameOf(this.serviceId);\n }\n\n protected get canReturnImmediately(): boolean {\n return this.initial.shared.size > 0;\n }\n\n protected get isCurrentOrgSelectedAsOwner(): boolean {\n return this.owner?.id === this.currentOrg.id;\n }\n\n protected get isCurrentOrgSelectedAsTenant(): boolean {\n return this.tenant?.id === this.currentOrg.id;\n }\n\n public async focusIfNoOwner() {\n if (!this.owner) {\n (this.$refs.ownerSelector as OrgSelector).focus();\n } else if (!this.tenant) {\n (this.$refs.tenantSelector as OrgSelector).focus();\n }\n }\n\n}","import NotificationsOutboxStore, { SendLicenseExchangePayload } from \"@Module/Notifications/Store/NotificationsOutbox.store\";\nimport { LicenseSharingNotification } from \"@Module/Notifications/Models/LicenseSharingNotification.model\";\nimport { LicenseReturnNotification } from \"@Module/Notifications/Models/LicenseReturnNotification.model\";\nimport LicenseTransfer, { ExchangeMode, LicenseTransferChangeEvent } from \"../LicenseTransfer/LicenseTransfer\";\nimport NotificationsInboxStore from \"@Module/Notifications/Store/NotificationsInbox.store\";\nimport { Component, MapAction, MapGetter, Prop, Watch } from \"types-vue\";\nimport { Organization } from \"@Module/Orgs/Models/Organization.model\";\nimport { License } from \"@Module/Licensing/Models/License.model\";\nimport OrgsStore from \"@Module/Orgs/Store/Orgs.store\";\nimport Dialog from \"@Core/Components/Dialog/Dialog\";\nimport { Execution } from \"@Core/Models/Execution\";\nimport { ServiceID } from \"@Service/ServiceID\";\nimport { Notify } from \"@Core/Utils/Notify\";\nimport { Utils } from \"@Core/Utils/Utils\";\nimport Vue from \"vue\";\n\nconst enum Tabs {\n Exchange = \"transfer\",\n Outbox = \"outbox\",\n Inbox = \"inbox\"\n}\n\n@Component\nexport default class LicenseTransferDialog extends Vue {\n\n @Prop({ type: String, required: true })\n protected serviceId: ServiceID;\n\n @Prop({ type: Array, required: true })\n protected licenses: License[];\n\n @MapGetter(OrgsStore.Mapping)\n protected currentOrg: Organization;\n\n @MapGetter(OrgsStore.Mapping)\n protected currentOrgHasChildren: boolean;\n\n @MapGetter(NotificationsOutboxStore.Mapping)\n protected orgLicenseSharingOutbox: LicenseSharingNotification[];\n \n @MapGetter(NotificationsOutboxStore.Mapping)\n protected orgLicenseReturnOutbox: LicenseReturnNotification[];\n\n @MapGetter(NotificationsInboxStore.Mapping)\n protected licenseSharingInbox: LicenseSharingNotification[];\n \n @MapGetter(NotificationsInboxStore.Mapping)\n protected licenseReturnInbox: LicenseReturnNotification[];\n\n @MapAction(NotificationsOutboxStore.Mapping)\n protected fetchPendingLicenseExchanges: () => Promise;\n \n @MapAction(NotificationsOutboxStore.Mapping)\n protected sendLicenseExchange: (payload: SendLicenseExchangePayload) => Promise;\n\n @MapAction(NotificationsInboxStore.Mapping)\n protected fetchInbox: () => Promise;\n\n protected exchangeMode: ExchangeMode = null;\n\n protected exchange: LicenseTransferChangeEvent = null;\n protected currentTab: Tabs = Tabs.Exchange;\n\n protected get selectedExchangeMode() {\n return this.exchangeMode \n ?? (this.licensesSharedWithMe.length > 0 \n ? ExchangeMode.SharedWithMe \n : ExchangeMode.SharedByMe);\n }\n\n protected sendLicenseExchangeNotifications = Execution.create(\n async (paylaod: SendLicenseExchangePayload) => this.sendLicenseExchange(paylaod)\n );\n\n protected getPendingExchanges = Execution.create(() => {\n return Promise.all([\n this.fetchInbox(),\n this.fetchPendingLicenseExchanges()\n ]);\n });\n\n public open(): Promise {\n this.getPendingExchanges.run();\n return (this.$refs.dialog as Dialog).open();\n }\n\n public backToExchangeModeSelection() {\n this.exchangeMode = null\n this.exchange = null\n }\n\n protected get serviceName(): string {\n return ServiceID.nameOf(this.serviceId);\n } \n\n @Watch(\"currentTab\", { immediate: true })\n protected async onTabChange(tab: Tabs) {\n if (tab === Tabs.Exchange) {\n await this.$nextTick();\n (this.$refs.transfer as LicenseTransfer)?.focusIfNoOwner();\n }\n }\n\n protected async selectExchangeMode(mode: ExchangeMode) {\n this.exchangeMode = mode;\n await Utils.sleep(350);\n this.$nextTick();\n (this.$refs.transfer as LicenseTransfer)?.focusIfNoOwner();\n }\n\n protected get pendingExchangeOutbox(): LicenseSharingNotification[] | LicenseReturnNotification[] {\n return [...this.orgLicenseSharingOutbox, ...this.orgLicenseReturnOutbox]\n .filter(exchange => exchange.service === this.serviceId);\n }\n\n protected get pendingExchangeInbox(): LicenseSharingNotification[] | LicenseReturnNotification[] {\n return [...this.licenseSharingInbox, ...this.licenseReturnInbox]\n .filter(exchange => exchange.service === this.serviceId);\n }\n\n protected get licensesSharedWithMe(): License[] {\n return this.licenses.filter(license => license.isSharedToOrg(this.currentOrg));\n }\n\n protected get licensesSharedByMe(): License[] {\n return this.licenses.filter(license => license.isShared && !license.isSharedToOrg(this.currentOrg));\n }\n\n protected get outboxFirstLoad(): boolean {\n return this.getPendingExchanges.loading && this.pendingExchangeOutbox.length === 0;\n }\n\n protected get inboxFirstLoad(): boolean {\n return this.getPendingExchanges.loading && this.pendingExchangeInbox.length === 0;\n }\n\n protected get hasUncommittedChanges(): boolean {\n return this.exchange?.didChange ?? false;\n }\n\n protected get isInLicenseExchangeTab(): boolean {\n return this.currentTab === Tabs.Exchange;\n }\n\n protected get isInOutboxTab(): boolean {\n return this.currentTab === Tabs.Outbox;\n }\n\n protected get isInInboxTab(): boolean {\n return this.currentTab === Tabs.Inbox;\n }\n\n protected get canChooseExchangeMode(): boolean {\n return this.licensesSharedWithMe.length > 0 && this.currentOrgHasChildren;\n }\n\n protected exchangeModeLabels(mode: ExchangeMode): { title: string, description: string } {\n switch (mode) {\n case ExchangeMode.SharedWithMe: return { \n title: \"Manage shares with my organization\", \n description: \"Return licenses shared by parent organizations.\" \n }\n case ExchangeMode.SharedByMe: return { \n title: \"Manage my license shares\", \n description: \"Claim ownership or share licenses with child organizations.\" \n }\n }\n }\n\n public reset() {\n this.currentTab = Tabs.Exchange;\n this.getPendingExchanges.reset();\n this.sendLicenseExchangeNotifications.reset();\n this.exchangeMode = null;\n }\n\n public focus() {\n (this.$refs.transfer as LicenseTransfer)?.focusIfNoOwner();\n }\n\n protected discardUncommittedChanges() {\n (this.$refs.transfer as LicenseTransfer)?.reset();\n }\n\n protected async confirmExchange() {\n try {\n const hasReturnWithHosts = this.exchange.toReturn.length > 0 && this.exchange.toReturn.some(license => license.hostCount > 0);\n const message = \"

Are you sure you want to perform the selected license exchange?

\" \n + (hasReturnWithHosts ? \"

Returning licenses will cause all license hosts to be automatically unregistered.

\" : \"\");\n await this.$confirm(message,\n \"Exchange confirmation\", {\n type: \"warning\",\n cancelButtonText: \"Cancel\",\n confirmButtonText: \"Exchange licenses\",\n dangerouslyUseHTMLString: true\n }\n );\n await this.executeExchange();\n } catch {}\n }\n\n protected async executeExchange() {\n await this.sendLicenseExchangeNotifications.run(this.exchange);\n if (!this.sendLicenseExchangeNotifications.error) {\n Notify.Success({\n title: \"License exchange completed\",\n message: \"Your license exchange has been successfully completed.\",\n duration: 6000\n });\n if (this.exchange.returnImmediately) {\n await this.$nextTick();\n (this.$refs.transfer as LicenseTransfer)?.initialize();\n }\n }\n }\n \n protected get dialogWidth(): string {\n if (!this.exchangeMode && this.canChooseExchangeMode) {\n return \"45rem\"\n } else {\n return \"70rem\";\n }\n }\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./LicenseTransferDialog.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./LicenseTransferDialog.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LicenseTransferDialog.vue?vue&type=template&id=f4928fca&\"\nimport script from \"./LicenseTransferDialog.ts?vue&type=script&lang=ts&\"\nexport * from \"./LicenseTransferDialog.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./LicenseTransferDialog.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { Dayjs } from \"dayjs\";\nimport { MapActionOptions } from \"types-vue/lib/vuex/MapAction\";\nimport { MapGetterOptions } from \"types-vue/lib/vuex/MapGetter\";\nimport { ActionContext } from \"vuex\";\n\nexport interface GroupByOptions {\n skipUndefined: boolean;\n skipNull: boolean;\n skipNoValue: boolean;\n}\n\nexport type RequireAtLeastOne =\n Pick> \n & {\n [K in Keys]-?: Required> & Partial>>\n }[Keys]\n\ntype PublicMapping = MapGetterOptions & MapActionOptions;\nexport class MappingOptions implements PublicMapping {\n public readonly namespace?: string;\n \n constructor(namespace?: string) {\n this.namespace = namespace;\n }\n\n public action(name: string): string {\n return !!this.namespace ? `${this.namespace}/${name}` : name;\n }\n\n public getter(name: string): string {\n return !!this.namespace ? `${this.namespace}/${name}` : name;\n }\n\n\n public rootAction(name: string): (ctx: ActionContext, payload?: any) => Promise {\n const prop = !!this.namespace ? `${this.namespace}/${name}` : name;\n return (ctx: ActionContext, payload: any) => ctx.dispatch(prop, payload, { root: true });\n }\n\n public rootGetter(name: string): (ctx: ActionContext) => any {\n const prop = !!this.namespace ? `${this.namespace}/${name}` : name;\n return (ctx: ActionContext) => ctx.rootGetters[prop];\n }\n\n}\n\nexport class Utils {\n\n public static smartTrim(text: string, maxLength: number, clamp: string = \"...\") {\n if (!text) return text;\n if (maxLength < 1) return text;\n if (text.length <= maxLength) return text;\n if (maxLength == 1) return text.substring(0,1) + clamp;\n\n var midpoint = Math.ceil(text.length / 2);\n var toremove = text.length - maxLength;\n var lstrip = Math.ceil(toremove/2);\n var rstrip = toremove - lstrip;\n return text.substring(0, midpoint-lstrip) + clamp + text.substring(midpoint+rstrip);\n } \n\n public static sleep(ms: number): Promise {\n return new Promise(resolve => setTimeout(resolve, ms));\n }\n\n public static passes(probability = 1.0): boolean {\n return Math.random() < probability;\n }\n\n public static throw(probability = 1.0): void {\n if (this.passes(probability)) {\n throw new Error(\"Mocked up error.\");\n }\n }\n\n public static createVuexMappingOptions(namespace: string, ): MappingOptions {\n return new MappingOptions(namespace);\n }\n\n public static toSentenceCase(str: string): string {\n return str.charAt(0).toUpperCase() + str.slice(1).toLowerCase();\n }\n\n public static sanitizeUrl(url: string): string {\n return url.replace(/([^:]\\/)\\/+/g, \"$1\");\n }\n\n public static groupBy(\n items: TItem[], \n group: string | ((item: TItem) => TKey),\n options: Partial = {}\n ): Record {\n options.skipUndefined ??= false;\n return items.reduce((prev, curr) => {\n let itemGroup = typeof group === \"string\" \n ? this.getNestedProperty(curr, group) \n : group(curr);\n if (options.skipNoValue && itemGroup == undefined) { return prev; } \n if (options.skipUndefined && itemGroup === undefined) { return prev; } \n if (options.skipNull && itemGroup === null) { return prev; } \n (prev[itemGroup] = prev[itemGroup] || []).push(curr);\n return prev;\n }, {} as Record);\n }\n\n public static getNestedProperty(item: object, path: string): any {\n return path\n .split(\".\")\n .reduce((prev, curr) => prev && prev[curr], item);\n }\n\n public static async poll(\n fn: (...args: any[]) => Promise,\n config: IntervalConfig\n ): Promise {\n let token: IntervalToken;\n\n if (!!config.interval.beforeExecute) {\n token = await config.interval.beforeExecute();\n console.log(`Checking leading. Sleeping ${token.delay} ms.`);\n if (token.shouldFinish) { return; }\n }\n\n const result = await fn();\n\n if (!!config.interval.afterExecute) {\n token = await config.interval.afterExecute(result);\n console.log(`Checking trailing. Sleeping ${token.delay} ms.`);\n if (token.shouldFinish) { return; }\n }\n \n await Utils.sleep(token.delay);\n Utils.poll(fn, config);\n }\n\n public static isString(target: any): target is string {\n return typeof target === \"string\";\n }\n\n public static isNumber(target: any): target is number {\n return typeof target === \"number\";\n }\n\n public static isObject(target: any): target is object {\n return typeof target === \"object\";\n }\n\n public static isBoolean(target: any): target is boolean {\n return typeof target === \"boolean\";\n }\n\n public static isFunction(target: any): target is Function {\n return typeof target === \"function\";\n }\n \n public static isArray(target: any): target is any[] {\n return Array.isArray(target);\n }\n\n public static get browserHasNotificationsSupport(): boolean {\n return window.Notification !== undefined;\n }\n\n public static get browserHasPersistentNotificationsSupport(): boolean {\n return window.Notification !== undefined \n && window.ServiceWorkerRegistration !== undefined;\n }\n\n public static get hasNotificationPermission(): boolean {\n return Notification.permission === \"granted\";\n }\n\n public static compareDayJs(a: Dayjs, b: Dayjs): number {\n return a.diff(b);\n }\n\n public static checkParentsWithOverflow(querySelector: string) {\n let parent = document.querySelector(querySelector).parentElement;\n while (parent) {\n const hasOverflow = getComputedStyle(parent).overflow;\n if (hasOverflow !== 'visible') {\n console.log(hasOverflow, parent);\n }\n parent = parent.parentElement;\n }\n }\n}\n\ninterface IntervalConfig {\n interval: RequireAtLeastOne<{\n beforeExecute?: () => IntervalToken | Promise;\n afterExecute?: (result: T) => IntervalToken | Promise;\n }, \"beforeExecute\" | \"afterExecute\">\n}\n\nexport class IntervalToken {\n public readonly delay: number;\n\n private constructor(delay: number) {\n this.delay = delay;\n }\n\n public get shouldFinish(): boolean {\n return this.delay === -1;\n }\n\n public static repeat(delay: number = 0): IntervalToken {\n return new IntervalToken(delay);\n }\n\n public static finish(): IntervalToken {\n return new IntervalToken(-1);\n }\n\n}","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Icon.vue?vue&type=style&index=0&lang=scss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"trial-summary space-y-16\"},[_c('H2',{staticClass:\"title\"},[_vm._v(\"Trial Details\")]),_c('div',[_vm._v(\"By equesting your trial period, a free trial contract is generated (containing \"),_c('strong',[_vm._v(_vm._s(_vm._f(\"pluralize\")((_vm.slots + \" license\"),_vm.slots)))]),_vm._v(\"), and will automatically expire after \"),_c('strong',[_vm._v(_vm._s(_vm.duration.humanize()))]),_vm._v(\" from the moment of the activation.\")]),_c('div',{staticClass:\"emory-trial-specs p-16\"},[_c('div',{staticClass:\"flex flex-wrap container-x-16 container-y-16 content-center\"},[_c('core.card',{attrs:{\"plain\":false}},[_c('div',{staticClass:\"space-y-4 flex-y items-center content-center\"},[_c('H3',[_vm._v(\"Duration\")]),_c('span',[_vm._v(_vm._s(_vm.duration.humanize()))])],1)]),_c('core.card',{attrs:{\"plain\":false}},[_c('div',{staticClass:\"space-y-4 flex-y items-center content-center\"},[_c('H3',[_vm._v(\"Capacity\")]),_c('span',[_vm._v(_vm._s(_vm._f(\"pluralize\")((_vm.slots + \" license\"),_vm.slots)))])],1)])],1)])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Duration as DayJsDuration } from \"dayjs/plugin/duration\";\nimport { Component, Prop } from \"types-vue\";\nimport Vue from \"vue\";\n\n@Component\nexport default class TrialSummary extends Vue {\n\n @Prop({ type: Number, required: true })\n protected slots: number;\n\n @Prop({ type: Object, required: true })\n protected duration: DayJsDuration;\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./TrialSummary.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./TrialSummary.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TrialSummary.vue?vue&type=template&id=71e68688&scoped=true&\"\nimport script from \"./TrialSummary.ts?vue&type=script&lang=ts&\"\nexport * from \"./TrialSummary.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./TrialSummary.vue?vue&type=style&index=0&id=71e68688&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"71e68688\",\n null\n \n)\n\nexport default component.exports","import DayJS, { Dayjs } from \"dayjs\";\n\nexport interface IPaymentDto {\n id: number,\n billingPeriodId: number,\n number: number,\n amount: number,\n date: Date;\n}\n\nexport class Payment {\n id: number;\n billingPeriodId: number;\n number: number;\n amount: number;\n date: Date;\n\n private constructor(dto: IPaymentDto) {\n this.id = dto.id;\n this.billingPeriodId = dto.billingPeriodId;\n this.number = dto.number;\n this.amount = dto.amount;\n this.date = dto.date;\n }\n\n public static create(dto?: Partial): Payment {\n return new Payment({\n id: dto?.id,\n billingPeriodId: dto?.billingPeriodId,\n number: dto?.number,\n amount: dto?.amount,\n date: dto?.date,\n });\n }\n\n public static fromDto(dto: IPaymentDto): Payment {\n return new Payment(dto);\n }\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('core.layout',[_c('div',{staticClass:\"amis-home\"},[_c('div',{staticClass:\"space-y-16\"},[_c('div',{staticClass:\"flex container-y-8 flex-wrap items-center w-full space-x-8 content-space-between\"},[_c('core.title',[_c('core.label',{attrs:{\"icon-size\":\"20px\",\"icon-spacing\":\".5rem\"}},[_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"bookmark\"},slot:\"icon\"}),_c('H1',[_vm._v(\"CxLink Pre-installed SAP\")])],1)],1),_c('div',{staticClass:\"flex space-x-16 content-end\"},[_c('el-button',{attrs:{\"size\":\"small\",\"icon\":\"el-icon-chat-line-square\"},on:{\"click\":_vm.openIssueManager}},[_c('span',[_vm._v(\"Manage issues\")])])],1)],1),_c('div',{staticClass:\"columns-wrap flex flex-wrap container-x-24 container-y-24\"},[_c('div',{staticClass:\"service-info space-y-24\"},[_c('div',[_c('H2',{staticClass:\"mb-8\"},[_vm._v(\"About CxLink Pre-installed SAP\")]),_c('p',[_vm._v(\"Syntax SAP Preinstalled AMIs deliver fresh installations of SAP NetWeaver and SAP Business Suite products such as SAP ERP, SAP S/4HANA and SAP CRM.\")]),_c('p',[_vm._v(\"All AMIs have been installed by a team of experienced SAP Basis and AWS Consultants including all available best practices for deployment of SAP systems on AWS.\")]),_c('p',[_vm._v(\"SAP Preinstalled AMIs are suitable for deploying small to midsize SAP systems running on a single EC2 instance. All software is delivered in a single EC2 instance. Storage layout has been prioritized to reduce costs and not to maximize performance. For this reasons, SAP Preinstalled AMIs are best suited for non- production SAP systems with no requirements for high performance. Production SAP systems are recommended to be deployed in High Availability and prioritize performance of storage subsystem. For production use cases and high availability scenarios we recommend the usage of custom built systems that follow the best practices delivered by SAP and AWS.\")]),_c('p',[_vm._v(\"At Syntax we can also offer custom deployment options for large-scale, highly available and replicated SAP systems on AWS. You can reach us at \"),_c('el-link',{attrs:{\"underline\":false,\"href\":(\"mailto:\" + _vm.contactMail)}},[_vm._v(_vm._s(_vm.contactMail))]),_vm._v(\".\")],1),_c('H2',{staticClass:\"mb-8 mt-16\"},[_vm._v(\"Requirements\")]),_c('p',[_vm._v(\"You will need an AWS account and an appropriate SAP license.\")])],1),_c('div',{staticClass:\"space-y-8\"},[_c('H2',[_vm._v(\"Features Overview\")]),_c('div',{staticClass:\"flex flex-wrap w-full container-x-16 container-y-16\"},[_c('core.feature-card',{attrs:{\"title\":\"No Upfront Cost\",\"description\":\"Pay only for the hours you run it.\"}},[_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"wallet\"},slot:\"icon\"})],1),_c('core.feature-card',{attrs:{\"title\":\"Auto Deployment\",\"description\":\"You only need to perform the post-installation tasks.\"}},[_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"color-wand\"},slot:\"icon\"})],1),_c('core.feature-card',{attrs:{\"title\":\"Based on Best Practices\",\"description\":\"Our systems are built following best practices provided by AWS & SAP.\"}},[_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"medal\"},slot:\"icon\"})],1),_c('core.feature-card',{attrs:{\"title\":\"Guidance and Support\",\"description\":\"We provide you with a full installation guide and email support.\"}},[_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"help-buoy\"},slot:\"icon\"})],1),_c('core.feature-card',{attrs:{\"title\":\"Choose your SAP\",\"description\":\"Choose your SAP pre-installation from our catalog.\"}},[_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"apps\"},slot:\"icon\"})],1)],1)],1)])])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { CustomHubResource } from \"@Core/Models/CustomHubResource.model\";\nimport { SessionToken } from \"@Module/Auth/Models/SessionToken.model\";\nimport { Component, MapAction, MapGetter } from \"types-vue\";\nimport { AuthStatus } from \"@Module/Auth/Store/Auth.state\";\nimport AuthStore from \"@Module/Auth/Store/Auth.store\";\nimport OrgsStore from \"@Module/Orgs/Store/Orgs.store\";\nimport { ServiceID } from \"@Service/ServiceID\";\nimport Vue from \"vue\";\n\nconst enum ResourceTypeTab {\n Packages = \"packages\",\n Documentation = \"docs\",\n Other = \"other\"\n}\n\nconst enum CustomResourcesType {\n OnlineDocs = \"docs.online\"\n}\n\n@Component\nexport default class AmisHub extends Vue {\n\n @MapGetter(AuthStore.Mapping)\n protected sessionToken: SessionToken;\n\n @MapGetter(AuthStore.Mapping)\n protected authStatus: AuthStatus;\n\n @MapGetter(OrgsStore.Mapping)\n protected noOrganization: boolean;\n \n @MapAction(AuthStore.Mapping)\n protected openAuthDialog: (context?: string) => Promise;\n\n protected serviceId: ServiceID = ServiceID.Amis;\n protected activeTab: ResourceTypeTab = ResourceTypeTab.Packages;\n\n protected get docResources(): CustomHubResource[] {\n return [{ \n id: CustomResourcesType.OnlineDocs, \n label: \"Service Documentation (Online)\",\n meta: { url: `${process.env.VUE_APP_SERVICE_URL_DOCS}/amis` }\n }]\n }\n\n protected get otherResources(): CustomHubResource[] { \n return [] \n }\n\n protected customResourceSelected(item: CustomHubResource) {\n if (!!item.meta.url) {\n window.open(item.meta.url);\n }\n }\n\n protected signInForDownloads() {\n const ctx = \"Sign into your account to download resources from this service.\";\n this.openAuthDialog(ctx);\n }\n\n protected goToCatalog() {\n this.$router.push(\"/preinstalled-sap/catalog\");\n }\n\n protected openIssueManager() {\n window.open(process.env.VUE_APP_SERVICE_URL_ISSUES);\n }\n\n protected get contactMail(): string {\n return process.env.VUE_APP_CONTACT_EMAIL;\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./AmisHub.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./AmisHub.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AmisHub.vue?vue&type=template&id=a6432654&scoped=true&\"\nimport script from \"./AmisHub.ts?vue&type=script&lang=ts&\"\nexport * from \"./AmisHub.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./AmisHub.vue?vue&type=style&index=0&id=a6432654&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"a6432654\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LicenseTransfer.vue?vue&type=style&index=1&id=2bb1649f&lang=scss&scoped=true&\"","import { ContractOrigin } from \"@Module/Licensing/Models/ContractOrigin\";\nimport { LicensingStatusPhase } from \"@Module/Licensing/Models/LicensingStatus.model\";\nimport { Organization } from \"@Module/Orgs/Models/Organization.model\";\nimport { ServiceID } from \"@Service/ServiceID\";\nimport { ReportContract } from \"./ReportContract.model\";\nimport { Dimension } from \"@Module/Licensing/Models/Dimension.model\";\nimport { LeadGeneratorContract } from \"./LeadGeneratorContract.model\";\n\nexport interface IReportContractFiltersDto {\n status: string;\n product: string;\n withHosts: boolean;\n origin: string;\n onlyPocs: boolean;\n orgFilters?: string;\n dimensions?: string;\n\n}\n\nexport class ReportContractsFilters {\n services: ServiceID[];\n public onlyWithHosts: boolean;\n orgs: Organization[];\n dimensions: Dimension[];\n public status: LicensingStatusPhase[];\n public origins: ContractOrigin[];\n public onlyPocs: boolean;\n\n private constructor() {\n this.status = [];\n this.origins = [];\n this.services = [];\n this.dimensions = [];\n this.onlyWithHosts = false;\n this.orgs = [];\n this.onlyPocs = false;\n }\n\n public static create(): ReportContractsFilters {\n return new ReportContractsFilters();\n }\n\n protected get dto(): IReportContractFiltersDto {\n return this.toDto();\n }\n\n public get isFiltering(): boolean {\n return this.services.length > 0\n || this.onlyWithHosts\n || this.status.length > 0 \n || this.dimensions.length > 0\n || this.origins.length > 0\n || this.orgs.length > 0;\n }\n\n public toDto(): IReportContractFiltersDto {\n \n return {\n withHosts: this.onlyWithHosts,\n product: this.services.length > 0 ? this.services.join(\",\") : undefined,\n status: this.status.length > 0 ? this.status.join(\",\") : undefined,\n origin: this.origins.length > 0 ? this.origins.join(\",\") : undefined,\n orgFilters: this.orgs.length > 0 ? this.orgs.map(o => o.id).join(\",\") : undefined,\n onlyPocs: this.onlyPocs,\n dimensions: this.dimensions.length > 0 ? this.dimensions.map(d => d.name).join(\",\") : undefined\n }\n }\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-tooltip',{attrs:{\"placement\":\"top\",\"effect\":\"light\",\"content\":_vm.status.description}},[_c('el-tag',{attrs:{\"size\":\"mini\",\"effect\":\"light\",\"disable-transitions\":\"\",\"type\":_vm.type}},[_c('span',[_vm._v(_vm._s(_vm.status.label))]),_c('ion-icon',{staticClass:\"ml-4\",staticStyle:{\"font-size\":\"14px\"},attrs:{\"name\":\"help-circle-outline\"}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export const enum UserStatusPhase {\n Unconfirmed = \"UNCONFIRMED\",\n Confirmed = \"CONFIRMED\",\n Archived = \"ARCHIVED\",\n Compromised = \"COMPROMISED\",\n Unknown = \"UNKNOWN\",\n ResetRequired = \"RESET_REQUIRED\",\n ForcePasswordChange = \"FORCE_CHANGE_PASSWORD\",\n}\n\nexport class UserStatus {\n public readonly phase: UserStatusPhase;\n\n private constructor(phase: string) {\n this.phase = phase as UserStatusPhase;\n }\n\n public static create(phase: string): UserStatus {\n return new UserStatus(phase);\n }\n\n public get label(): string {\n switch (this.phase) {\n case UserStatusPhase.Unconfirmed: return \"Unconfirmed\";\n case UserStatusPhase.Confirmed: return \"Confirmed\";\n case UserStatusPhase.Archived: return \"Archived\";\n case UserStatusPhase.Compromised: return \"Compromised\";\n case UserStatusPhase.Unknown: return \"Unknown\";\n case UserStatusPhase.ResetRequired: return \"Reset required\";\n case UserStatusPhase.ForcePasswordChange: return \"Password change\";\n }\n }\n\n public get description(): string {\n switch (this.phase) {\n case UserStatusPhase.Unconfirmed: return \"User has been created but not confirmed.\";\n case UserStatusPhase.Confirmed: return \"User has been confirmed.\";\n case UserStatusPhase.Archived: return \"User is no longer active.\";\n case UserStatusPhase.Compromised: return \"User is disabled due to a potential security threat.\";\n case UserStatusPhase.Unknown: return \"User status is not known.\";\n case UserStatusPhase.ResetRequired: return \"User is confirmed, but the user must request a code and reset his or her password before he or she can sign in.\";\n case UserStatusPhase.ForcePasswordChange: return \"The user is confirmed and the user can sign in using a temporary password, but on first sign-in, the user must change his or her password to a new value before doing anything else.\";\n }\n }\n}","import { UserStatusPhase, UserStatus } from \"@Module/Users/Models/UserStatus.model\";\nimport { Component, Prop } from \"types-vue\";\nimport Vue from \"vue\";\n\n@Component\nexport default class UserStatusTag extends Vue {\n\n @Prop({ type: Object, required: true })\n protected status: UserStatus;\n\n protected get type(): \"info\" | \"success\" | \"danger\" | \"warning\" | \"\" {\n switch (this.status.phase) {\n case UserStatusPhase.Confirmed: return \"success\";\n case UserStatusPhase.Archived: return \"info\";\n case UserStatusPhase.Compromised: return \"danger\";\n case UserStatusPhase.Unknown: return \"\";\n case UserStatusPhase.Unconfirmed:\n case UserStatusPhase.ResetRequired:\n case UserStatusPhase.ForcePasswordChange: \n return \"warning\";\n }\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./UserStatusTag.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./UserStatusTag.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./UserStatusTag.vue?vue&type=template&id=44298f81&\"\nimport script from \"./UserStatusTag.ts?vue&type=script&lang=ts&\"\nexport * from \"./UserStatusTag.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"license-transfer flex-y space-y-16\"},[_c('div',{staticClass:\"flex container-x-16 container-y-16 flex-none\"},[_c('core.details',{staticClass:\"flex-none\",attrs:{\"label\":\"Service\",\"value\":_vm.serviceName}},[_c('span',[_vm._v(_vm._s(_vm.serviceName))])]),_c('el-divider',{attrs:{\"direction\":\"vertical\"}}),_c('core.details',{staticClass:\"flex-1\"},[_c('div',{staticClass:\"flex items-center content-space-between space-x-6\",attrs:{\"slot\":\"label\"},slot:\"label\"},[_c('span',[_vm._v(\"License owner\")])]),_c('orgs.org-selector',{ref:\"ownerSelector\",attrs:{\"no-data-text\":_vm.ownerSelectorConfig.noDataText,\"data\":_vm.ownerSelectorConfig.options,\"disabled-items\":_vm.ownerSelectorConfig.disabledItems,\"disabled\":_vm.ownerSelectorConfig.disabled,\"hierarchical\":_vm.ownerSelectorConfig.hierarchical,\"include-no-access-roles\":\"\",\"no-expand\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar node = ref.node;\nvar data = ref.data;\nreturn (!!_vm.tenant && _vm.numberOfLicensesShared(data.orgRole.organization, _vm.tenant) > 0)?_c('el-tooltip',{attrs:{\"effect\":node.checked ? 'dark' : 'light',\"placement\":\"top\",\"enterable\":false,\"open-delay\":500,\"transition\":\"el-zoom-in-bottom\",\"content\":(\"Licenses shared with \" + (_vm.tenant.name))}},[_c('el-badge',{attrs:{\"type\":node.checked ? 'primary' : 'info',\"value\":_vm.numberOfLicensesShared(data.orgRole.organization, _vm.tenant)}})],1):_vm._e()}}],null,true),model:{value:(_vm.owner),callback:function ($$v) {_vm.owner=$$v},expression:\"owner\"}})],1),_vm._m(0),_c('core.details',{staticClass:\"flex-1\"},[_c('div',{staticClass:\"flex items-center content-space-between space-x-6\",attrs:{\"slot\":\"label\"},slot:\"label\"},[_c('span',[_vm._v(\"License tenant\")])]),_c('orgs.org-selector',{ref:\"tenantSelector\",attrs:{\"no-data-text\":_vm.tenantSelectorConfig.noDataText,\"data\":_vm.tenantSelectorConfig.options,\"disabled\":_vm.tenantSelectorConfig.disabled,\"disabled-items\":_vm.tenantSelectorConfig.disabledItems,\"hierarchical\":_vm.tenantSelectorConfig.hierarchical,\"include-no-access-roles\":\"\",\"default-expand-all\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar node = ref.node;\nvar data = ref.data;\nreturn (!!_vm.owner && _vm.numberOfLicensesShared(_vm.owner, data.orgRole.organization) > 0)?_c('el-tooltip',{attrs:{\"effect\":node.checked ? 'dark' : 'light',\"placement\":\"top\",\"enterable\":false,\"open-delay\":500,\"transition\":\"el-zoom-in-bottom\",\"content\":(\"Licenses shared by \" + (_vm.owner.name))}},[_c('el-badge',{attrs:{\"type\":node.checked ? 'primary' : 'info',\"value\":_vm.numberOfLicensesShared(_vm.owner, data.orgRole.organization)}})],1):_vm._e()}}],null,true),model:{value:(_vm.tenant),callback:function ($$v) {_vm.tenant=$$v},expression:\"tenant\"}})],1)],1),_c('core.alert',{staticClass:\"flex-none\",attrs:{\"type\":\"warning\",\"closable\":false,\"plain\":\"\",\"compact\":\"\"}},[_c('div',[_vm._v(\"Only licenses that have not yet been shared and are active or in a grace period are eligible for sharing. However, you can return any already shared license.\")])]),_c('div',{staticClass:\"transfer-wrap flex-y flex-1 pos-relative\"},[_c('transition',{attrs:{\"name\":\"el-zoom-in-top\"}},[(!_vm.tenant)?_c('core.alert',{attrs:{\"type\":\"warning\",\"title\":\"No organizations selected\",\"description\":\"Select an owner and tenant in the selectors above. Once selected, your licenses eligible to share and those shared with the organization will be listed here.\",\"closable\":false,\"top\":\"min(50%, 10rem)\",\"floating\":\"\",\"plain\":\"\"}}):_vm._e()],1),_c('el-transfer',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],ref:\"transfer\",staticClass:\"is-no-buttons h-full flex-1\",class:_vm.transferClass,attrs:{\"element-loading-text\":\"Exchanging...\",\"disabled\":_vm.disabled,\"data\":_vm.transferOptions,\"filterable\":\"\",\"props\":{ key: 'id', label: 'label', disabled: 'disabled' },\"filter-method\":_vm.filter,\"filter-placeholder\":\"Search licenses\",\"titles\":[_vm.shareTransferConfig.title, _vm.returnTransferConfig.title]},on:{\"left-check-change\":_vm.onLeftCheckStateChange,\"right-check-change\":_vm.onRightCheckStateChange},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar option = ref.option;\nreturn _c('el-tooltip',{attrs:{\"effect\":\"light\",\"placement\":\"top\",\"enterable\":false,\"disabled\":!option.isExchangePending}},[(option.isExchangePending)?_c('template',{slot:\"content\"},[(option.isInboxPending)?_c('span',[_c('span',{staticClass:\"text-semibold\"},[_vm._v(_vm._s(!!option.sharePending ? 'Sharing' : 'Return')+\" request\")]),_vm._v(\" is pending approval \"),_c('span',{staticClass:\"text-semibold\"},[_vm._v(\"in your inbox\")]),_vm._v(\".\")]):_c('span',[_c('span',{staticClass:\"text-semibold\"},[_vm._v(_vm._s(!!option.sharePending ? 'Sharing' : 'Return')+\" request\")]),_vm._v(\" is pending approval \"),_c('span',{staticClass:\"text-semibold\"},[_vm._v(\"by \"+_vm._s((option.sharePending || option.returnPending).organization.name))]),_vm._v(\".\")])]):_vm._e(),_c('licensing.license-list-row',{staticClass:\"transfer-license-list-row\",class:{ 'is-pending-exchange': option.isExchangePending },attrs:{\"license\":option.license,\"disabled\":option.disabled,\"selected\":_vm.isLicenseChecked(option.license)}},[(option.isExchangePending)?_c('template',{slot:\"suffix\"},[(option.isInboxPending)?_c('i',{staticClass:\"el-icon-postcard text-semibold\"}):(!!option.sharePending)?_c('i',{staticClass:\"el-icon-d-arrow-right text-semibold\"}):_c('i',{staticClass:\"el-icon-d-arrow-left text-semibold\"})]):(_vm.isLicenseReturned(option.license))?_c('el-tooltip',{attrs:{\"slot\":\"suffix\",\"effect\":_vm.isLicenseChecked(option.license) ? 'dark' : 'light',\"placement\":\"top\",\"transition\":\"el-zoom-in-bottom\",\"content\":\"License sharing\",\"enterable\":false},slot:\"suffix\"},[_c('i',{staticClass:\"el-icon-d-arrow-right text-semibold\"})]):_vm._e(),(_vm.isLicenseShared(option.license))?_c('el-tooltip',{attrs:{\"slot\":\"suffix\",\"effect\":_vm.isLicenseChecked(option.license) ? 'dark' : 'light',\"placement\":\"top\",\"transition\":\"el-zoom-in-bottom\",\"content\":\"License return\",\"enterable\":false},slot:\"suffix\"},[_c('i',{staticClass:\"el-icon-d-arrow-left text-semibold\"})]):_vm._e()],2)],2)}}]),model:{value:(_vm.sharedLicenseIds),callback:function ($$v) {_vm.sharedLicenseIds=$$v},expression:\"sharedLicenseIds\"}},[_c('div',{staticClass:\"space-y-8 w-full\",attrs:{\"slot\":\"left-footer\"},slot:\"left-footer\"},[_c('div',{staticClass:\"flex content-end w-full\",attrs:{\"slot\":\"left-footer\"},slot:\"left-footer\"},[_c('div',{staticClass:\"flex flex-1 items-center flex-wrap container-x-4 container-y-4\"},_vm._l((_vm.notSharedLicensesSummary),function(count,dimension){return _c('el-tag',{key:dimension,attrs:{\"size\":\"mini\",\"effect\":\"dark\",\"type\":\"info\",\"disable-transitions\":\"\"}},[_c('span',[_vm._v(_vm._s(dimension)+\" \"),_c('strong',[_vm._v(\"x\"+_vm._s(count))])])])}),1),_c('el-button',{staticClass:\"footer-button\",attrs:{\"size\":\"mini\",\"type\":_vm.leftChecked.length === 0 ? '' : 'primary',\"icon\":\"el-icon-right\",\"disabled\":_vm.disabled || _vm.leftChecked.length === 0},on:{\"click\":_vm.transferToRight}},[(_vm.leftChecked.length > 0)?_c('span',[_vm._v(\"Share (\"+_vm._s(_vm.leftChecked.length)+\")\")]):_c('span',[_vm._v(\"Share\")])])],1)]),_c('div',{staticClass:\"space-y-8 w-full\",attrs:{\"slot\":\"right-footer\"},slot:\"right-footer\"},[_c('div',{staticClass:\"flex content-start\"},[_c('el-button',{staticClass:\"footer-button\",attrs:{\"size\":\"mini\",\"type\":_vm.rightChecked.length === 0 ? '' : 'primary',\"icon\":\"el-icon-back\",\"disabled\":_vm.disabled || _vm.rightChecked.length === 0},on:{\"click\":_vm.transferToLeft}},[(_vm.rightChecked.length > 0)?_c('span',[_vm._v(\"Return (\"+_vm._s(_vm.rightChecked.length)+\")\")]):_c('span',[_vm._v(\"Return\")])]),_c('div',{staticClass:\"flex flex-1 items-center content-end flex-wrap container-x-4 container-y-4\"},_vm._l((_vm.sharedLicensesSummary),function(count,dimension){return _c('el-tag',{key:dimension,attrs:{\"size\":\"mini\",\"effect\":\"dark\",\"type\":\"info\",\"disable-transitions\":\"\"}},[_c('span',[_vm._v(_vm._s(dimension)+\" \"),_c('strong',[_vm._v(\"x\"+_vm._s(count))])])])}),1)],1)])])],1),(_vm.canReturnImmediately)?_c('el-checkbox',{staticClass:\"flex-none\",attrs:{\"disabled\":_vm.disabled,\"border\":\"\"},model:{value:(_vm.returnImmediately),callback:function ($$v) {_vm.returnImmediately=$$v},expression:\"returnImmediately\"}},[_c('core.label',{attrs:{\"icon-spacing\":\"4px\",\"icon-position\":\"end\",\"icon-y-offset\":\"2px\",\"type\":\"inherit\"}},[_c('span',[_vm._v(\"Return licenses immediately\")]),_c('el-tooltip',{attrs:{\"slot\":\"icon\",\"effect\":\"light\",\"placement\":\"top\",\"transition\":\"el-zoom-in-bottom\"},slot:\"icon\"},[_c('div',{attrs:{\"slot\":\"content\"},slot:\"content\"},[_c('p',[_c('span',{staticClass:\"text-semibold\"},[_vm._v(\"If checked\")]),_vm._v(\", the license recipient will not be notified and all returned licenses will be immediately returned back to the owner.\")]),_c('el-divider',{staticClass:\"m-y-8\"}),_c('p',[_c('span',{staticClass:\"text-semibold\"},[_vm._v(\"If not checked\")]),_vm._v(\", the license recipient will be notified and must accept the license return. With this option the current tenant will be able to unregister the license hosts before actually returning the license to the owner.\")])],1),_c('ion-icon',{attrs:{\"name\":\"information-circle-outline\"}})],1)],1)],1):_vm._e(),_c('div',{staticClass:\"space-y-8\"},[_c('transition',{attrs:{\"name\":\"el-zoom-in-top\"}},[(!!_vm.owner && !!_vm.tenant && (_vm.status.toShare.length > 0 || _vm.status.toReturn.length > 0))?_c('core.alert',{staticClass:\"no-leave-el-transition\",attrs:{\"title\":\"Exchange summary\",\"type\":\"info\",\"closable\":false,\"show-icon\":false,\"compact\":\"\",\"plain\":\"\"}},[_c('ul',{staticClass:\"summary-list\"},[(_vm.status.toShare.length > 0)?_c('li',[_vm._v(_vm._s(_vm.tenant.name)+\" will be notified of your intention to \"),_c('span',{staticClass:\"text-semibold\"},[_vm._v(\"share \"+_vm._s(_vm.toShareSummary)+\" \"+_vm._s(_vm.serviceName)+\" \"+_vm._s(_vm._f(\"pluralize\")('license',_vm.status.toShare.length)))]),_vm._v(\".\")]):_vm._e(),(_vm.status.toReturn.length > 0)?[(!_vm.returnImmediately)?[(_vm.owner.id === _vm.currentOrg.id)?_c('li',[_vm._v(_vm._s(_vm.tenant.name)+\" will be notified of your intention to \"),_c('span',{staticClass:\"text-semibold\"},[_vm._v(\"claim ownership of \"+_vm._s(_vm.toReturnSummary)+\" \"+_vm._s(_vm.serviceName)+\" \"+_vm._s(_vm._f(\"pluralize\")('license',_vm.status.toReturn.length)))]),_vm._v(\".\")]):_c('li',[_vm._v(_vm._s(_vm.owner.name)+\" will be notified of your intention to \"),_c('span',{staticClass:\"text-semibold\"},[_vm._v(\"return ownership of \"+_vm._s(_vm.toReturnSummary)+\" \"+_vm._s(_vm.serviceName)+\" \"+_vm._s(_vm._f(\"pluralize\")('license',_vm.status.toReturn.length)))]),_vm._v(\".\")])]:_c('li',[_vm._v(_vm._s(_vm.owner.name)+\" will \"),_c('span',{staticClass:\"text-semibold\"},[_vm._v(\"immediately own back \"+_vm._s(_vm.toReturnSummary)+\" \"+_vm._s(_vm.serviceName)+\" \"+_vm._s(_vm._f(\"pluralize\")('license',_vm.status.toReturn.length)))]),_vm._v(\".\")])]:_vm._e()],2)]):_vm._e()],1),_c('transition',{attrs:{\"name\":\"el-zoom-in-top\"}},[(_vm.status.toReturn.length > 0)?_c('core.alert',{attrs:{\"type\":\"warning\",\"closable\":false,\"compact\":\"\",\"plain\":\"\"}},[(_vm.status.returnImmediately)?_c('span',[_vm._v(\"All hosts registered in the involved \"+_vm._s(_vm._f(\"pluralize\")('license',_vm.status.toReturn.length))+\" will be immediatelly unregistered.\")]):_c('span',[_vm._v(\"Once the return notification is accepted, all hosts registered in the involved \"+_vm._s(_vm._f(\"pluralize\")('license',_vm.status.toReturn.length))+\" will be automatically unregistered.\")])]):_vm._e()],1)],1)],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',{staticClass:\"flex-none items-self-end pb-8\"},[_c('i',{staticClass:\"exchange-icon el-icon-sort text-disabled\"})])}]\n\nexport { render, staticRenderFns }","import { LicenseSharingNotification } from \"@Module/Notifications/Models/LicenseSharingNotification.model\";\nimport { LicenseReturnNotification } from \"@Module/Notifications/Models/LicenseReturnNotification.model\";\nimport NotificationsOutboxStore from \"@Module/Notifications/Store/NotificationsOutbox.store\";\nimport NotificationsInboxStore from \"@Module/Notifications/Store/NotificationsInbox.store\";\nimport OrgSelector from \"@Module/Orgs/Components/OrgSelector/OrgSelector\";\nimport { Organization } from \"@Module/Orgs/Models/Organization.model\";\nimport { License } from \"@Module/Licensing/Models/License.model\";\nimport { Component, MapGetter, Prop, Watch } from \"types-vue\";\nimport OrgsStore from \"@Module/Orgs/Store/Orgs.store\";\nimport { ServiceID } from \"@Service/ServiceID\";\nimport IsEqual from \"lodash.isequal\";\nimport Vue from \"vue\";\n\ntype ExchangeNotification = LicenseSharingNotification | LicenseReturnNotification;\n\nexport const enum ExchangeMode {\n SharedWithMe = \"with-me\",\n SharedByMe = \"by-me\"\n}\n\ninterface LicenseTransferOption {\n id: number;\n license: License;\n label: string;\n disabled: boolean;\n isExchangePending: boolean;\n isInboxPending: boolean;\n sharePending?: ExchangeNotification;\n returnPending?: ExchangeNotification;\n}\n\nexport interface LicenseTransferChangeEvent {\n owner: Organization;\n tenant: Organization;\n toShare: License[];\n toReturn: License[];\n service: ServiceID;\n didChange: boolean;\n returnImmediately: boolean;\n voluntaryReturn: boolean;\n}\n\ninterface TargetOrgSelectorConfig {\n options: Organization[];\n disabledItems: Organization[];\n disabled: boolean;\n hierarchical: boolean;\n noDataText: string;\n}\n\ninterface TransferConfig {\n title: string;\n}\n\ninterface InitialStatus {\n shared: Set;\n notShared: Set;\n}\n\n@Component\nexport default class LicenseTransfer extends Vue {\n\n @Prop({ type: String, required: true })\n protected serviceId: ServiceID;\n\n @Prop({ type: Array, required: true })\n protected licenses: License[];\n\n @Prop({ type: String, required: true })\n protected exchangeMode: ExchangeMode;\n\n @Prop({ type: Boolean, default: false })\n protected loading: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected disabled: boolean;\n\n @Prop({ type: String, default: null })\n protected type: \"plain\" | \"border\";\n\n @Prop({ type: Boolean, default: false })\n protected singleCard: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected noCheckbox: boolean;\n\n @MapGetter(NotificationsOutboxStore.Mapping)\n protected orgLicenseSharingOutbox: LicenseSharingNotification[];\n \n @MapGetter(NotificationsOutboxStore.Mapping)\n protected orgLicenseReturnOutbox: LicenseReturnNotification[];\n\n @MapGetter(NotificationsInboxStore.Mapping)\n protected licenseSharingInbox: LicenseSharingNotification[];\n \n @MapGetter(NotificationsInboxStore.Mapping)\n protected licenseReturnInbox: LicenseReturnNotification[];\n\n @MapGetter(OrgsStore.Mapping)\n protected currentOrg: Organization;\n\n @MapGetter(OrgsStore.Mapping)\n protected currentOrgHasChildren: boolean;\n\n @MapGetter(OrgsStore.Mapping)\n protected currentOrgChildren: Organization[];\n\n protected returnImmediately: boolean = false;\n\n protected owner?: Organization = null;\n protected tenant?: Organization = null;\n \n protected leftChecked: number[] = [];\n protected rightChecked: number[] = [];\n\n protected sharedLicenseIds: number[] = [];\n\n protected initial: InitialStatus = { shared: new Set(), notShared: new Set() };\n\n protected created() {\n this.owner = this.ownerSelectorConfig.options.length === 1 ? this.ownerSelectorConfig.options[0] : null;\n this.tenant = this.tenantSelectorConfig.options.length === 1 ? this.tenantSelectorConfig.options[0] : null;\n }\n\n protected get tenantPendingNotifications() {\n const inbox = [...this.licenseSharingInbox, ...this.licenseReturnInbox].filter(noti => noti.isInvolved(this.owner, this.tenant));\n const outbox = [...this.orgLicenseSharingOutbox, ...this.orgLicenseReturnOutbox].filter(noti => noti.isInvolved(this.owner, this.tenant));\n return { inbox, outbox }\n }\n\n protected getPendingStatus(license: License) {\n const pendingNotis = this.tenantPendingNotifications;\n const inboxPendingNoti = pendingNotis.inbox.find(noti => noti.isLicenseIncluded(license));\n const outboxPendingNoti = pendingNotis.outbox.find(noti => noti.isLicenseIncluded(license));\n\n const isPending = !!inboxPendingNoti || !!outboxPendingNoti;\n const isInboxPending = !!inboxPendingNoti;\n const isOutboxPending = !!outboxPendingNoti;\n\n const isTenantPendingReturn = inboxPendingNoti?.isLicenseReturn && inboxPendingNoti?.isFrom(this.tenant)\n || outboxPendingNoti?.isLicenseReturn && outboxPendingNoti?.isFrom(this.tenant);\n\n const tenantPendingReturnNoti = isTenantPendingReturn ? inboxPendingNoti || outboxPendingNoti : undefined;\n \n const isTenantPendingShare = inboxPendingNoti?.isLicenseSharing && inboxPendingNoti?.isDestinatedTo(this.tenant)\n || outboxPendingNoti?.isLicenseSharing && outboxPendingNoti?.isDestinatedTo(this.tenant);\n \n const tenantPendingShareNoti = isTenantPendingShare ? inboxPendingNoti || outboxPendingNoti : undefined;\n\n const isTenantPendingExchange = isTenantPendingReturn || isTenantPendingShare;\n\n return { isPending, isTenantPendingExchange, tenantPendingReturnNoti, tenantPendingShareNoti, isTenantPendingReturn, isTenantPendingShare, isInboxPending, isOutboxPending, inboxPendingNoti, outboxPendingNoti };\n }\n\n protected getExchangeStatus(license: License) {\n const isShared = license.isShared;\n const isSharedToCurrentOrg = license.isSharedToOrg(this.currentOrg);\n const isSharedWithTenat = license.isSharedToOrg(this.tenant);\n const isSharedByOwner = isSharedToCurrentOrg && license.isOwnedByOrg(this.owner);\n const isEligibleToShare = license.isEligibleToShare(this.owner, this.tenant);\n const isEligibleToReturn = license.isEligibleToReturn(this.owner, this.tenant);\n return { isShared, isSharedToCurrentOrg, isSharedWithTenat, isSharedByOwner, isEligibleToShare, isEligibleToReturn };\n }\n\n protected get exchangeableLicenses(): License[] {\n return this.licenses.filter(license => {\n const pendingStatus = this.getPendingStatus(license);\n const exchangeStatus = this.getExchangeStatus(license);\n const eligibleForExchange = exchangeStatus.isEligibleToShare || exchangeStatus.isEligibleToReturn;\n const isPendingForOtherTenant = pendingStatus.isPending && !pendingStatus.isTenantPendingExchange;\n return eligibleForExchange && !isPendingForOtherTenant;\n });\n }\n\n protected get isSharedByMeMode(): boolean {\n return this.exchangeMode === ExchangeMode.SharedByMe;\n }\n\n public initialize() {\n this.leftChecked = [];\n this.rightChecked = [];\n\n const initiallyShared = this.exchangeableLicenses.reduce((ids, license) => {\n const pendingStatus = this.getPendingStatus(license);\n const exchangeStatus = this.getExchangeStatus(license);\n const isSharedOrPendingShare = exchangeStatus.isSharedWithTenat || pendingStatus.isTenantPendingShare;\n if (isSharedOrPendingShare && !pendingStatus.isTenantPendingReturn) {\n ids.add(license.id);\n }\n return ids;\n }, new Set());\n\n const initiallyNotShared = this.exchangeableLicenses.reduce((ids, license) => {\n const pendingStatus = this.getPendingStatus(license);\n const exchangeStatus = this.getExchangeStatus(license);\n const isNotSharedOrPendingReturn = !exchangeStatus.isSharedWithTenat || pendingStatus.isTenantPendingReturn;\n if (isNotSharedOrPendingReturn && !pendingStatus.isTenantPendingShare) {\n ids.add(license.id);\n }\n return ids;\n }, new Set());\n\n this.sharedLicenseIds = Array.from(initiallyShared);\n this.initial = { shared: initiallyShared, notShared: initiallyNotShared };\n }\n\n protected get transferOptions(): LicenseTransferOption[] {\n return this.exchangeableLicenses.map(license => { \n const pendingStatus = this.getPendingStatus(license);\n const option: LicenseTransferOption = { \n id: license.id,\n disabled: this.disabled || !this.owner || !this.tenant || pendingStatus.isTenantPendingExchange, \n isExchangePending: pendingStatus.isTenantPendingExchange,\n sharePending: pendingStatus.tenantPendingShareNoti,\n returnPending: pendingStatus.tenantPendingReturnNoti,\n isInboxPending: pendingStatus.isInboxPending,\n label: license.externalId,\n license\n };\n return option;\n });\n }\n\n protected get status(): LicenseTransferChangeEvent {\n const currentSharedLicenseIds = this.sharedLicenseIds.sort((a, b) => a - b);\n const initialSharedLicenseIds = Array.from(this.initial.shared).sort((a, b) => a - b);\n return {\n owner: this.owner,\n tenant: this.tenant,\n service: this.serviceId,\n toShare: this.sharedLicenses.filter(license => this.initial.notShared.has(license.id)), \n toReturn: this.notSharedLicenses.filter(license => this.initial.shared.has(license.id)),\n didChange: !IsEqual(currentSharedLicenseIds, initialSharedLicenseIds),\n returnImmediately: this.returnImmediately,\n voluntaryReturn: this.tenant?.id === this.currentOrg.id\n };\n }\n\n public reset() {\n this.sharedLicenseIds = Array.from(this.initial.shared);\n }\n\n @Watch(\"sharedLicenseIds\")\n protected onSharedLicensesChange() {\n this.$emit(\"change\", this.status);\n }\n\n @Watch(\"tenant\")\n @Watch(\"tenantPendingNotifications\", { deep: true })\n protected async onTenantChange(newVal: any, oldVal: any) {\n if (!this.tenant || IsEqual(newVal, oldVal)) { return; }\n this.initialize();\n }\n\n protected filter(query: string, option: LicenseTransferOption) {\n return option.license.meetsSearch(query);\n }\n\n protected get tenantSelectorConfig(): TargetOrgSelectorConfig {\n return {\n options: this.exchangeMode === ExchangeMode.SharedByMe ? this.currentOrgChildren : [this.currentOrg],\n disabledItems: !!this.owner ? [this.owner] : undefined,\n hierarchical: this.owner?.id === this.currentOrg.id,\n disabled: this.disabled || !this.owner || this.exchangeMode === ExchangeMode.SharedWithMe,\n noDataText: \"No available organizations.\"\n }\n }\n\n protected get ownerSelectorConfig(): TargetOrgSelectorConfig {\n return {\n options: this.exchangeMode === ExchangeMode.SharedWithMe ? this.licenseOwners : [this.currentOrg],\n disabledItems: undefined,\n hierarchical: false,\n disabled: this.disabled || this.exchangeMode === ExchangeMode.SharedByMe,\n noDataText: \"No available organizations.\"\n }\n }\n\n protected get shareTransferConfig(): TransferConfig {\n return {\n title: !this.owner ? \"Not shared licenses\" : `${this.owner.name} not shared licenses`\n }\n }\n\n protected get returnTransferConfig(): TransferConfig {\n return {\n title: !this.owner || !this.tenant ? \"Shared licenses\" : `Shared with ${this.tenant.name} by ${this.owner.name}`\n }\n }\n\n protected numberOfLicensesShared(owner: Organization, tenant: Organization): number {\n return this.licenses.filter(license => license.isOwnedByOrg(owner) && license.isSharedToOrg(tenant)).length;\n }\n\n protected get licenseTenants(): Organization[] {\n if (!this.owner) { return []; }\n return this.owner.id === this.currentOrg.id \n ? this.currentOrgChildren \n : [this.currentOrg];\n }\n\n protected get licenseOwners(): Organization[] {\n return this.licenses.reduce((owners, license) => {\n const isOwnerAlreadyAdded = owners.some(owner => owner.id === license.owner.id);\n if (isOwnerAlreadyAdded) { return owners; }\n \n const isOwnerMyCurrentOrg = this.currentOrg.id === license.owner.id;\n if (!isOwnerMyCurrentOrg){\n owners.push(license.owner);\n }\n return owners;\n }, [] as Organization[]);\n }\n\n protected get notSharedLicenses(): License[] {\n return this.exchangeableLicenses.filter(license => !this.sharedLicenseIds.includes(license.id));\n }\n\n protected get sharedLicenses(): License[] {\n return this.exchangeableLicenses.filter(license => this.sharedLicenseIds.includes(license.id));\n }\n \n protected get transferClass() {\n return {\n \"is-plain\": this.type === \"plain\",\n \"is-border\": this.type === \"border\",\n \"is-single-card\": this.singleCard,\n \"is-no-checkbox\": this.noCheckbox\n }\n }\n\n protected isLicenseReturned(license: License): boolean {\n return this.sharedLicenseIds.includes(license.id)\n && !this.initial.shared.has(license.id);\n }\n\n protected isLicenseShared(license: License): boolean {\n return !this.sharedLicenseIds.includes(license.id)\n && this.initial.shared.has(license.id);\n }\n\n protected transferToRight() {\n (this.$refs.transfer as any)?.addToRight();\n this.leftChecked = [];\n }\n\n protected transferToLeft() {\n (this.$refs.transfer as any)?.addToLeft();\n this.rightChecked = [];\n }\n\n protected onLeftCheckStateChange(checked: number[]) {\n this.leftChecked = checked;\n }\n\n protected onRightCheckStateChange(checked: number[]) {\n this.rightChecked = checked;\n }\n\n protected isLicenseChecked(license: License): boolean {\n return [...this.leftChecked, ...this.rightChecked].includes(license.id);\n }\n\n protected get notSharedLicensesSummary(): Record {\n return this.buildDimensionSummary(this.notSharedLicenses);\n }\n\n protected get sharedLicensesSummary(): Record {\n return this.buildDimensionSummary(this.sharedLicenses);\n }\n\n protected buildDimensionSummary(licenses: License[]): Record {\n return licenses.reduce((map, license) => {\n const currCount = map[license.dimension] ?? 0;\n map[license.dimension] = currCount + 1;\n return map;\n }, {} as Record);\n }\n\n protected get toShareSummary(): string {\n const sharedDimSummary = this.buildDimensionSummary(this.status.toShare);\n const toShare = Object.entries(sharedDimSummary).map(entry => `${entry[1]} ${entry[0]}`)\n let summary = toShare.join(\", \");\n const lastCommaIndex = summary.lastIndexOf(\", \");\n if (lastCommaIndex !== -1) {\n summary = summary.substring(0, lastCommaIndex) + \" and \" + summary.substring(lastCommaIndex + \", \".length);\n }\n return summary;\n }\n\n protected get toReturnSummary(): string {\n const sharedDimSummary = this.buildDimensionSummary(this.status.toReturn);\n const toShare = Object.entries(sharedDimSummary).map(entry => `${entry[1]} ${entry[0]}`)\n let summary = toShare.join(\", \");\n const lastCommaIndex = summary.lastIndexOf(\", \");\n if (lastCommaIndex !== -1) {\n summary = summary.substring(0, lastCommaIndex) + \" and \" + summary.substring(lastCommaIndex + \", \".length);\n }\n return summary;\n }\n\n protected get serviceName(): string {\n return ServiceID.nameOf(this.serviceId);\n }\n\n protected get canReturnImmediately(): boolean {\n return this.initial.shared.size > 0;\n }\n\n protected get isCurrentOrgSelectedAsOwner(): boolean {\n return this.owner?.id === this.currentOrg.id;\n }\n\n protected get isCurrentOrgSelectedAsTenant(): boolean {\n return this.tenant?.id === this.currentOrg.id;\n }\n\n public async focusIfNoOwner() {\n if (!this.owner) {\n (this.$refs.ownerSelector as OrgSelector).focus();\n } else if (!this.tenant) {\n (this.$refs.tenantSelector as OrgSelector).focus();\n }\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./LicenseTransfer.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./LicenseTransfer.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LicenseTransfer.vue?vue&type=template&id=2bb1649f&scoped=true&\"\nimport script from \"./LicenseTransfer.ts?vue&type=script&lang=ts&\"\nexport * from \"./LicenseTransfer.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./LicenseTransfer.vue?vue&type=style&index=0&lang=scss&\"\nimport style1 from \"./LicenseTransfer.vue?vue&type=style&index=1&id=2bb1649f&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2bb1649f\",\n null\n \n)\n\nexport default component.exports","import { ServiceID } from \"@Service/ServiceID\";\nimport { IPaymentDto } from \"./Payment.model\";\nimport DayJS, { Dayjs } from \"dayjs\";\nimport { ContractOrigin } from \"@Module/Licensing/Models/ContractOrigin\";\nimport { LicensingStatus } from \"@Module/Licensing/Models/LicensingStatus.model\";\nimport { Dimension, IDimensionUnitsDto } from \"@Module/Licensing/Models/Dimension.model\";\n\nexport interface IBillingPeriodDto {\n id: number;\n contractID: number;\n startDate: string;\n endDate?: string;\n agreement?: string;\n totalAmount?: number;\n revenue?: number;\n paymentsNumber?: number;\n commercialProduct: string;\n awsFee?: number;\n currency?: string;\n payments: IPaymentDto[];\n observations?: string;\n}\n\nexport class BillingPeriod {\n id: number;\n contractID: number;\n startDate: Dayjs;\n endDate?: Dayjs;\n agreement?: string;\n totalAmount?: number;\n revenue?: number;\n paymentsNumber?: number;\n commercialProduct: string;\n awsFee?: number;\n currency?: string;\n payments: IPaymentDto[];\n observations?: string;\n\n\n\n private constructor(dto: IBillingPeriodDto) {\n this.id = dto.id;\n this.contractID = dto.contractID;\n this.agreement = dto?.agreement;\n this.currency = dto?.currency;\n this.observations = dto?.observations;\n this.totalAmount = dto?.totalAmount;\n this.paymentsNumber = dto?.paymentsNumber;\n this.awsFee = dto?.awsFee;\n this.revenue = dto?.revenue;\n this.commercialProduct = dto.commercialProduct;\n this.startDate = DayJS(dto.startDate);\n this.endDate = DayJS(dto?.endDate);\n this.payments = !dto.payments ? [] : dto.payments;\n }\n\n public static create(dto?: Partial): BillingPeriod {\n return new BillingPeriod({\n id: dto?.id,\n contractID: dto.contractID,\n agreement: dto?.agreement,\n currency: dto?.currency,\n observations: dto?.observations,\n totalAmount: dto?.totalAmount,\n paymentsNumber: dto?.paymentsNumber,\n awsFee: dto?.awsFee,\n revenue: dto?.revenue,\n payments: dto?.payments || [],\n commercialProduct: dto?.commercialProduct,\n startDate: dto?.startDate,\n endDate: dto?.endDate,\n });\n }\n\n public static fromDto(dto: IBillingPeriodDto): BillingPeriod {\n return new BillingPeriod(dto);\n }\n\n public toDto(): IBillingPeriodDto {\n return {\n id: this.id,\n contractID: this.contractID,\n observations: this.observations ? this.observations : null, \n agreement: this.agreement ? this.agreement : null,\n currency: this.currency,\n totalAmount: this.totalAmount,\n paymentsNumber: this.paymentsNumber,\n awsFee: this.awsFee,\n revenue: this.revenue,\n payments: this.payments,\n commercialProduct: this.commercialProduct,\n startDate: DayJS(this.startDate).format(),\n endDate: this.endDate ? DayJS(this.endDate).format() : null,\n }\n}\n\n}\n","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AbapSuiteHub.vue?vue&type=style&index=0&id=57d2ae2d&lang=scss&scoped=true&\"","export enum ContractOrigin {\n Linke = \"Linke\",\n Trial = \"Trial\",\n AWS = \"AWS\",\n SAP = \"SAP App Center\",\n Syntax = \"Syntax\",\n MSP = \"MSP\",\n Extended = \"Contract Extension\",\n Lab = \"Lab\",\n AMS = \"AMS\",\n}\n\nexport namespace ContractOrigin {\n export const All = [ContractOrigin.AWS, ContractOrigin.Linke, ContractOrigin.SAP, ContractOrigin.Trial, ContractOrigin.Syntax, ContractOrigin.MSP, ContractOrigin.Extended, ContractOrigin.Lab];\n export const OnlyLinke = [ContractOrigin.Linke, ContractOrigin.Extended, ContractOrigin.MSP, ContractOrigin.Syntax, ContractOrigin.Lab, ContractOrigin.AMS];\n\n export function nameOf(origin: ContractOrigin): string {\n switch (origin) {\n case ContractOrigin.SAP: return \"SAP\";\n case ContractOrigin.Linke: return \"Direct Selling\";\n case ContractOrigin.Syntax: return \"Syntax - Internal Customer\";\n case ContractOrigin.Lab: return \"Syntax - Internal Lab\";\n case ContractOrigin.AMS: return \"Syntax - AMS\";\n\n\n\n default: return origin;\n\n }\n }\n}","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CollapsableCard.vue?vue&type=style&index=0&lang=scss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('router-view')}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component } from \"types-vue\";\nimport Vue from \"vue\";\n\n@Component\nexport default class Viewport extends Vue {}","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./Viewport.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./Viewport.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Viewport.vue?vue&type=template&id=4c289447&\"\nimport script from \"./Viewport.ts?vue&type=script&lang=ts&\"\nexport * from \"./Viewport.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { IOrganizationDto, Organization } from \"@Module/Orgs/Models/Organization.model\";\nimport DayJS, { Dayjs } from \"dayjs\";\nimport IsEqual from \"lodash.isequal\";\n\nexport interface INotificationDto {\n id: number;\n type: string;\n sent_by?: string;\n status: string;\n sender_org_id?: number;\n org?: IOrganizationDto;\n created_at: string;\n expiration_date: string;\n updated_at: string;\n details: TDetails;\n}\n\nexport enum NotificationStatus {\n Pending = \"Pending\",\n Accepted = \"Accepted\",\n Rejected = \"Rejected\",\n Cancelled = \"Cancelled\"\n}\n\nexport type NotificationResponseStatus = NotificationStatus.Accepted \n | NotificationStatus.Rejected \n | NotificationStatus.Cancelled;\n\nexport enum NotificationType {\n LicenseSharing = \"license-sharing\",\n LicenseReturn = \"license-return\",\n OrgInvitation = \"org-invitation\",\n OrgAccessRequest = \"org-access-request\",\n ContractPurchase = \"contract-purchase\"\n}\n\nexport interface NotificationRef {\n id: number;\n}\n\nexport class Notification {\n public readonly id: number;\n public readonly organization?: Organization;\n public readonly sender: string;\n public readonly creation: Dayjs;\n public readonly expiration: Dayjs;\n public readonly modification: Dayjs;\n public readonly status: NotificationStatus;\n public readonly type: NotificationType;\n public readonly senderOrgId?: number;\n\n public readonly remote: INotificationDto;\n\n public static readonly SystemSender = \"CxLink\";\n\n protected constructor(dto: INotificationDto) {\n this.id = dto.id;\n this.sender = dto.sent_by || Notification.SystemSender;\n this.organization = !!dto.org ? Organization.fromDto(dto.org) : undefined;\n this.creation = DayJS(dto.created_at);\n this.expiration = DayJS(dto.expiration_date);\n this.modification = DayJS(dto.updated_at);\n this.status = dto.status as NotificationStatus;\n this.type = dto.type as NotificationType;\n this.senderOrgId = dto.sender_org_id;\n this.remote = dto;\n }\n\n public get isLicenseSharing(): boolean {\n return this.type === NotificationType.LicenseSharing;\n }\n\n public get isLicenseReturn(): boolean {\n return this.type === NotificationType.LicenseReturn;\n }\n\n public get isOrgInvitation(): boolean {\n return this.type === NotificationType.OrgInvitation;\n }\n\n public get isOrgAccessRequest(): boolean {\n return this.type === NotificationType.OrgAccessRequest;\n }\n\n public get isContractPurchase(): boolean {\n return this.type === NotificationType.ContractPurchase;\n }\n\n public get hasUncommittedChanges(): boolean {\n const dto = JSON.parse(JSON.stringify(this.toDto()));\n const remote = JSON.parse(JSON.stringify(this.remote));\n return !IsEqual(dto, remote);\n }\n\n protected meetsFilter(search: string): boolean {\n const text = search?.toLowerCase() || \"\";\n const textMeetsSender = this.sender.toLowerCase().includes(text);\n return textMeetsSender;\n }\n\n public get label(): string {\n return Notification.labelForType(this.type);\n }\n\n public static labelForType(type: NotificationType): string {\n switch (type) {\n case NotificationType.OrgInvitation: return \"organization invitation\";\n case NotificationType.OrgAccessRequest: return \"organization access request\";\n case NotificationType.LicenseSharing: return \"license sharing request\";\n case NotificationType.LicenseReturn: return \"license return request\";\n case NotificationType.ContractPurchase: return \"Contract purchase\";\n }\n }\n\n public toDto(): Omit {\n return {\n id: this.id,\n type: this.type,\n sent_by: this.sender,\n status: this.status,\n org: this.organization.toDto(),\n created_at: this.remote.created_at,\n expiration_date: this.remote.expiration_date,\n updated_at: this.remote.updated_at,\n sender_org_id: this.senderOrgId\n } as Omit;\n }\n\n}","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LicenseSummary.vue?vue&type=style&index=0&id=186a3d1a&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('core.layout',{staticClass:\"app-settings\",class:_vm.pageClass},[_c('div',{staticClass:\"space-y-16\"},[_c('div',{staticClass:\"page-header flex container-y-8 flex-wrap items-center w-full space-x-8 content-space-between\"},[_c('core.title',{attrs:{\"allow-navigation\":!!_vm.previousRoute},on:{\"back\":function($event){return _vm.$router.back()}}},[_c('core.label',{attrs:{\"value\":\"Application Settings\",\"icon-spacing\":\".5rem\"}},[_c('i',{staticClass:\"el-icon-set-up\",attrs:{\"slot\":\"icon\"},slot:\"icon\"})])],1),_c('div',{staticClass:\"flex space-x-16 content-end\"},[_c('el-button',{attrs:{\"size\":\"small\",\"icon\":\"el-icon-refresh-left\",\"type\":\"default\"},on:{\"click\":_vm.onRestoreDefaultsClick}},[_vm._v(\"Restore Defaults\")])],1)],1),(!_vm.cookiesEnabled)?_c('core.alert',{attrs:{\"type\":\"warning\",\"title\":\"Disabled cookies\",\"description\":\"Cookie storage is currently disabled and consequently your preferences will not persist. Please enable cookies for CxLink website.\"}}):_vm._e(),_c('div',{staticClass:\"space-y-24\"},[_c('core.card',[_c('core.label',{attrs:{\"slot\":\"header\",\"icon-size\":\"16px\",\"icon-spacing\":\".5rem\"},slot:\"header\"},[_c('i',{staticClass:\"el-icon-brush\",attrs:{\"slot\":\"icon\"},slot:\"icon\"}),_c('H2',[_vm._v(\"Appearance\")])],1),_c('settings.config-item',{attrs:{\"title\":\"Hide Loading Indicator\",\"description\":\"Toggles page loading indicator visibility.\"}},[_c('el-switch',{attrs:{\"value\":_vm.hiddenLoadingIndicator},on:{\"change\":_vm.setHiddenLoadingIndicator}})],1),_c('el-divider',{staticClass:\"m-y-16\"}),_c('settings.config-item',{attrs:{\"title\":\"Hide Breadcrumb\",\"description\":\"Toggles page breadcrumb visibility.\"}},[_c('el-switch',{attrs:{\"value\":_vm.hiddenBreadcrumb},on:{\"change\":_vm.setHiddenBreadcrumb}})],1),_c('el-divider',{staticClass:\"m-y-16\"}),_c('settings.config-item',{attrs:{\"title\":\"Collapsed Menu\",\"description\":\"Displays the main menu in collapsed mode.\"}},[_c('el-switch',{attrs:{\"value\":_vm.collapsedMenu},on:{\"change\":_vm.toggleCollapsedMenu}})],1),_c('el-divider',{staticClass:\"m-y-16\"}),_c('settings.config-item',{attrs:{\"title\":\"Expand Submenus\",\"description\":\"Toggles submenus expansion on service switch.\"}},[_c('el-switch',{attrs:{\"value\":_vm.expandSubmenus},on:{\"change\":_vm.setExpandSubmenus}})],1),_c('el-divider',{staticClass:\"m-y-16\"}),_c('settings.config-item',{attrs:{\"title\":\"UI Mode\",\"description\":\"Modifies the general appearance of the user interface.\"}},[_c('el-radio-group',{on:{\"change\":_vm.setUiMode},model:{value:(_vm.model.uiMode),callback:function ($$v) {_vm.$set(_vm.model, \"uiMode\", $$v)},expression:\"model.uiMode\"}},[_c('el-radio',{attrs:{\"label\":\"plain\",\"border\":\"\"}},[_vm._v(\"Plain\")]),_c('el-radio',{attrs:{\"label\":\"cards\",\"border\":\"\"}},[_vm._v(\"Cards\")])],1)],1),_c('el-divider',{staticClass:\"m-y-16\"}),_c('settings.config-item',{attrs:{\"title\":\"Content Size Mode\",\"description\":\"Controls the size of the content on each page.\"}},[_c('el-radio-group',{on:{\"change\":_vm.setUiContentSizeMode},model:{value:(_vm.model.uiContentSizeMode),callback:function ($$v) {_vm.$set(_vm.model, \"uiContentSizeMode\", $$v)},expression:\"model.uiContentSizeMode\"}},[_c('el-radio',{attrs:{\"label\":\"compact\",\"border\":\"\"}},[_vm._v(\"Compact\")]),_c('el-radio',{attrs:{\"label\":\"airy\",\"border\":\"\"}},[_vm._v(\"Airy\")])],1)],1),_c('el-divider',{staticClass:\"m-y-16\"}),_c('settings.config-item',{attrs:{\"title\":\"UI Scale\",\"description\":\"Controls the size of some of the UI components.\"}},[_c('el-radio-group',{on:{\"change\":_vm.setUiSize},model:{value:(_vm.$ELEMENT.size),callback:function ($$v) {_vm.$set(_vm.$ELEMENT, \"size\", $$v)},expression:\"$ELEMENT.size\"}},[_c('el-radio-button',{attrs:{\"label\":\"mini\"}},[_vm._v(\"Mini\")]),_c('el-radio-button',{attrs:{\"label\":\"small\"}},[_vm._v(\"Small\")]),_c('el-radio-button',{attrs:{\"label\":\"medium\"}},[_vm._v(\"Medium\")]),_c('el-radio-button',{attrs:{\"label\":\"large\"}},[_vm._v(\"Default\")])],1)],1)],1),_c('core.card',[_c('core.label',{attrs:{\"slot\":\"header\",\"icon-size\":\"16px\",\"icon-spacing\":\".5rem\"},slot:\"header\"},[_c('i',{staticClass:\"el-icon-folder-opened\",attrs:{\"slot\":\"icon\"},slot:\"icon\"}),_c('H2',[_vm._v(\"Cache\")])],1),_c('settings.config-item',{attrs:{\"title\":\"Stored Data\",\"description\":\"Clear the application cached data.\"}},[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.onClearCacheClick}},[_vm._v(\"Clear cache\")])],1)],1)],1)],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { UIContentSizeMode, UIMode, UISize } from '../../Store/AppSettings/AppSettings.state';\nimport AppSettingsStore from '../../Store/AppSettings/AppSettings.store';\nimport { Component, MapAction, MapGetter, mixins, Watch } from 'types-vue';\nimport { Notify } from '@Core/Utils/Notify';\nimport { Map } from '@Core/Models/Map';\nimport NavigationStore from '@Core/Store/Navigation/Navigation.store';\nimport { ConsoleRoute } from '@Core/Models/ConsoleRoute';\nimport StateCleanerMixin from '@Module/Auth/Mixins/StateCleaner.mixin';\n\n@Component\nexport default class AppSettings extends mixins(StateCleanerMixin) {\n \n @MapGetter(AppSettingsStore.Mapping)\n protected collapsedMenu: boolean;\n\n @MapGetter(AppSettingsStore.Mapping)\n protected expandSubmenus: boolean;\n \n @MapGetter(AppSettingsStore.Mapping)\n protected hiddenBreadcrumb: boolean;\n \n @MapGetter(AppSettingsStore.Mapping)\n protected hiddenLoadingIndicator: boolean;\n\n @MapGetter(AppSettingsStore.Mapping)\n protected uiContentSizeMode: UIContentSizeMode;\n\n @MapGetter(AppSettingsStore.Mapping)\n protected uiMode: UIMode;\n\n @MapGetter(AppSettingsStore.Mapping)\n protected isPlainUi: boolean;\n\n @MapGetter(NavigationStore.Mapping)\n protected previousRoute: ConsoleRoute;\n\n @MapAction(AppSettingsStore.Mapping)\n protected setHiddenBreadcrumb: (hidden: boolean) => Promise;\n\n @MapAction(AppSettingsStore.Mapping)\n protected setExpandSubmenus: (expand: boolean) => Promise;\n\n @MapAction(AppSettingsStore.Mapping)\n protected setHiddenLoadingIndicator: (hidden: boolean) => Promise;\n\n @MapAction(AppSettingsStore.Mapping)\n protected toggleCollapsedMenu: () => Promise;\n\n @MapAction(AppSettingsStore.Mapping)\n protected setUiContentSizeMode: (mode: UIContentSizeMode) => Promise;\n\n @MapAction(AppSettingsStore.Mapping)\n protected setUiMode: (mode: UIMode) => Promise;\n\n @MapAction(AppSettingsStore.Mapping)\n protected setUiSize: (size: UISize) => Promise;\n\n @MapAction(AppSettingsStore.Mapping)\n protected restoreAppSettingDefaults: () => Promise;\n\n protected model = {\n uiContentSizeMode: null,\n uiMode: null,\n uiSize: \"large\"\n }\n\n protected get cookiesEnabled(): boolean {\n return navigator.cookieEnabled;\n }\n\n @Watch(\"uiContentSizeMode\", { immediate: true })\n protected onContentSizeModeChange(uiContentSizeMode: UIContentSizeMode) {\n this.model.uiContentSizeMode = uiContentSizeMode;\n }\n\n @Watch(\"uiMode\", { immediate: true })\n protected onUiModeChange(uiMode: UIContentSizeMode) {\n this.model.uiMode = uiMode;\n }\n\n protected async onRestoreDefaultsClick() {\n try {\n await this.$confirm(\n \"All your preferences will be restored to their default values. Are you sure you want to restore your application settings?\", \n 'Restore confirmation', {\n confirmButtonText: 'Restore',\n cancelButtonText: 'Cancel',\n type: 'warning'\n }\n );\n await this.restoreAppSettingDefaults();\n Notify.Success({\n title: \"Settings restored\",\n message: \"Your preferences has been restored to their default values.\"\n });\n } catch {}\n }\n\n protected async onClearCacheClick() {\n try {\n await this.$confirm(\n \"All the application cache will be deleted. Are you sure you want to clear the application cache?\", \n 'Clear confirmation', {\n confirmButtonText: 'Clear cache',\n cancelButtonText: 'Cancel',\n type: 'warning'\n });\n await this.clearState();\n Notify.Success({ \n title: \"Cache cleared\", \n message: \"All the application cache has been successfully deleted.\", \n duration: 3000 \n });\n } catch (error) {}\n }\n\n protected get pageClass(): Map {\n return { \n \"is-plain\": this.uiMode === \"plain\" \n }\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./AppSettings.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./AppSettings.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AppSettings.vue?vue&type=template&id=73bea24a&\"\nimport script from \"./AppSettings.ts?vue&type=script&lang=ts&\"\nexport * from \"./AppSettings.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Footer.vue?vue&type=style&index=0&id=7fe4cb8d&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"space-y-16\"},[_c('el-form',{attrs:{\"label-width\":\"110px\",\"label-position\":\"right\"}},[_c('el-select',{staticClass:\"w-full\",attrs:{\"disabled\":_vm.platforms.length === 0 || _vm.disabled,\"value\":_vm.value,\"placeholder\":_vm.placeholder,\"placeholder\":\"Select a platform\",\"filterable\":\"\",\"default-first-option\":\"\"},on:{\"change\":_vm.onVersionSelected}},[_c('ion-icon',{staticClass:\"ml-4\",staticStyle:{\"font-size\":\"16px\"},attrs:{\"slot\":\"prefix\",\"name\":\"cube-outline\"},slot:\"prefix\"}),_vm._l((_vm.platforms),function(version){return _c('el-option',{key:version.name,attrs:{\"label\":version.description,\"value\":version.id}})}),_c('core.empty',{attrs:{\"slot\":\"empty\",\"description\":\"No Platform meets your filtering criteria.\"},slot:\"empty\"},[_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"cube-outline\"},slot:\"icon\"})],1)],2)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, MapAction, MapGetter, Prop, Watch } from \"types-vue\";\nimport { ServiceID } from \"@Service/ServiceID\";\nimport Vue from \"vue\";\nimport { Platform } from \"@Module/Resources/Models/Platform.model\";\n\nconst enum PackageTypeTab {\n Installation = \"installation\",\n Upgrade = \"upgrade\",\n Maintenance = \"maintenance\"\n}\n\n@Component\nexport default class PlatformSelector extends Vue {\n\n @Prop({ type: String, default: \"Pick a Platform\" })\n protected placeholder: string;\n\n @Prop({ type: Number, default: null })\n protected value: Number;\n\n @Prop({ type: Array , default: () => [] })\n protected platforms: Platform[];\n\n @Prop({ type: String, default: null })\n protected serviceId: ServiceID;\n\n @Prop({ type: Boolean, default: false })\n protected disabled: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected allowBrowsing: boolean;\n \n protected searchText: string = null;\n\n protected onVersionSelected(version: Number): void {\n const selectedPlatform = version || null;\n this.$emit(\"input\", selectedPlatform);\n this.$emit(\"update:value\", selectedPlatform);\n this.$emit(\"select\", selectedPlatform);\n this.$emit(\"change\", selectedPlatform);\n this.searchText = null;\n } \n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./PlatformSelector.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./PlatformSelector.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PlatformSelector.vue?vue&type=template&id=46a0cf9e&\"\nimport script from \"./PlatformSelector.ts?vue&type=script&lang=ts&\"\nexport * from \"./PlatformSelector.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TrialDimensionSlot.vue?vue&type=style&index=1&id=54de4d2d&lang=scss&scoped=true&\"","import { AbstractCookie, CookieOptions } from \"./AbstractCookie.model\";\n\nexport class BooleanCookie extends AbstractCookie {\n\n public static create(name: string, options?: CookieOptions) {\n return new BooleanCookie(name, options);\n }\n\n protected parseCookie(value: any): boolean {\n return value === \"true\";\n }\n \n}","import { Console } from \"vue-router\";\n\nimport ServiceViewport from \"@Core/Components/ServiceViewport/ServiceViewport.vue\";\nimport Viewport from \"@Core/Components/Viewport/Viewport.vue\";\n\nimport AuthView from \"@Module/Auth/Views/AuthView.vue\";\n\nimport ConsoleHub from './Views/Hub/ConsoleHub.vue';\nimport UsersManager from \"@Module/Users/Views/UsersManager/UsersManager.vue\";\nimport LicensingSummary from \"@Module/Licensing/Views/LicensingSummary/LicensingSummary.vue\";\nimport UserDetails from \"@Module/Users/Views/UserDetails/UserDetails.vue\";\nimport NotFoundView from \"@Core/Components/Views/NotFound/NotFoundView.vue\";\nimport ForbiddenView from \"@Core/Components/Views/Forbidden/ForbiddenView.vue\";\nimport FinancialReportView from \"@Module/Reports/Views/Report/FinancialReportView.vue\";\nimport ReportContractDetails from \"@Module/Reports/Views/Report/ReportContractDetails/ReportContractDetails.vue\";\n\nconst routes: Console.RouteConfig[] = [\n {\n path: \"/cxlink/auth\",\n name: \"cxlink-auth\",\n component: AuthView,\n meta: {\n signOutOnEnter: true,\n menu: {\n hidden: true,\n label: \"Authentication\",\n icon: {\n type: \"ion-icon\",\n name: \"lock-closed\"\n }\n }\n }\n },\n {\n path: \"/cxlink/hub\",\n name: \"cxlink-auth\",\n redirect: { name: \"cxlink-home\" },\n meta: {\n signOutOnEnter: true,\n menu: {\n hidden: true,\n label: \"Authentication\",\n icon: {\n type: \"ion-icon\",\n name: \"lock-closed\"\n }\n }\n }\n },\n {\n path: \"/cxlink\",\n name: \"cxlink\",\n component: ServiceViewport,\n redirect: { name: \"cxlink-home\" },\n meta: {\n menu: {\n label: \"CxLink\",\n hidden: true,\n icon: {\n type: \"custom\",\n name: \"icons/console.svg\"\n }\n }\n },\n children: [\n {\n path: 'home',\n name: \"cxlink-home\",\n component: ConsoleHub,\n meta: {\n authRequired: true,\n menu: {\n label: \"CxLink\",\n icon: {\n type: \"ion-icon\",\n name: \"bookmark\"\n }\n }\n }\n },\n {\n path: \"/cxlink/admin\",\n name: \"cxlink-admin\",\n component: Viewport,\n redirect: { name: \"cxlink-users-manager\" },\n meta: {\n authRequired: true,\n breadcrumb: {\n hidden: true\n },\n menu: {\n label: \"Administration\",\n icon: {\n type: \"ion-icon\",\n name: \"code-slash\"\n }\n }\n },\n children: [\n {\n path: '/cxlink/users',\n name: \"cxlink-users-manager\",\n component: UsersManager,\n meta: {\n permissions: \"console:ListAppUsers\",\n authRequired: true,\n menu: {\n label: \"Users Manager\",\n groupId: \"admin\",\n icon: {\n type: \"ion-icon\",\n name: \"people-circle-outline\"\n }\n }\n }\n },\n {\n path: \"/cxlink/users/:username\",\n name: \"cxlink-user-details\",\n component: UserDetails,\n meta: {\n permissions: \"console:ListAppUsers\",\n authRequired: true,\n breadcrumb: {\n prependPaths: [\"/cxlink/users\"]\n },\n menu: {\n hidden: true,\n selectionPath: \"/cxlink/users\",\n label: \"User Details\",\n icon: {\n type: \"ion-icon\",\n name: \"person-circle-outline\"\n }\n }\n }\n },\n {\n path: '/cxlink/licensing-summary',\n name: \"cxlink-licensing-summary\",\n component: LicensingSummary,\n meta: {\n permissions: \"console:ListLicensingSummary\",\n authRequired: true,\n menu: {\n label: \"Licensing Summary\",\n groupId: \"admin\",\n icon: {\n type: \"ion-icon\",\n name: \"id-card-outline\"\n }\n }\n }\n },\n {\n path: '/cxlink/financial-report',\n name: \"cxlink-financial-report\",\n component: FinancialReportView,\n meta: {\n permissions: \"console:ListFinancialInfo\",\n authRequired: true,\n menu: {\n label: \"Financial Report\",\n groupId: \"admin\",\n icon: {\n type: \"ion-icon\",\n name: \"card-outline\"\n }\n }\n }\n },\n {\n path: \"/cxlink/financial-report/:id\",\n name: \"report-contract-details\",\n component: ReportContractDetails,\n meta: {\n permissions: \"console:ListFinancialInfo\",\n authRequired: true,\n breadcrumb: {\n prependPaths: [\"/cxlink/financial-report\"]\n },\n menu: {\n hidden: true,\n selectionPath: \"/cxlink/financial-report\",\n label: \"Financial Report\",\n icon: {\n type: \"ion-icon\",\n name: \"card-outline\"\n }\n }\n }\n }\n ]\n },\n {\n path: 'not-found',\n name: \"cxlink-not-found\",\n component: NotFoundView,\n meta: {\n menu: {\n label: \"Page Not Found\",\n hidden: true,\n icon: {\n type: \"ion-icon\",\n name: \"search\"\n }\n }\n }\n },\n {\n path: 'forbidden',\n name: \"cxlink-fobidden\",\n component: ForbiddenView,\n meta: {\n menu: {\n label: \"Forbidden Page\",\n hidden: true,\n icon: {\n type: \"ion-icon\",\n name: \"lock-closed\"\n }\n }\n }\n }\n ]\n }\n];\n\nexport default routes\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-tag',{attrs:{\"size\":_vm.size,\"effect\":\"light\",\"type\":_vm.type,\"disable-transitions\":\"\"}},[_c('span',{staticClass:\"text-ellipsis\"},[_vm._v(_vm._s(_vm.status.label))])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { LicensingStatus, LicensingStatusPhase } from \"@Module/Licensing/Models/LicensingStatus.model\";\nimport { UISize } from \"@Service/Settings/Store/AppSettings/AppSettings.state\";\nimport { Component, Prop } from \"types-vue\";\nimport Vue from \"vue\";\n\n@Component\nexport default class LicensingStatusTag extends Vue {\n\n @Prop({ type: Object, required: true })\n protected status: LicensingStatus;\n\n @Prop({ type: String, default: \"mini\" })\n protected size: UISize & \"tiny\";\n \n protected get type(): \"info\" | \"success\" | \"danger\" | \"warning\" | \"\" {\n switch (this.status.phase) {\n case LicensingStatusPhase.Active: return \"success\";\n case LicensingStatusPhase.InGrace: return \"warning\";\n case LicensingStatusPhase.Expired: return \"danger\";\n default: return \"info\";\n }\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./LicensingStatusTag.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./LicensingStatusTag.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LicensingStatusTag.vue?vue&type=template&id=5c2a7c05&\"\nimport script from \"./LicensingStatusTag.ts?vue&type=script&lang=ts&\"\nexport * from \"./LicensingStatusTag.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmoryDocumentation.vue?vue&type=style&index=0&lang=scss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_vm._t(\"default\",null,{\"remainingSeconds\":_vm.remainingSeconds,\"redirect\":_vm.redirect,\"pause\":_vm.pause,\"stop\":_vm.stop,\"resume\":_vm.resume})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import RedirectCountdownMixin from \"@Core/Mixins/RedirectCountdown.mixin\";\nimport { Component, mixins } from \"types-vue\";\n\n@Component\nexport default class Redirect extends mixins(RedirectCountdownMixin) {\n\n}","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./Redirect.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./Redirect.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Redirect.vue?vue&type=template&id=8856b490&\"\nimport script from \"./Redirect.ts?vue&type=script&lang=ts&\"\nexport * from \"./Redirect.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { ContractPurchase } from \"../Models/ContractPurchase.model\";\nimport { AccessRole, Role } from \"../Models/Roles/AccessRole.model\";\nimport { SessionInitError } from \"../Errors/SessionInitError\";\nimport { SessionToken } from \"../Models/SessionToken.model\";\n\nexport interface AuthDialogConfig {\n context?: string;\n resolver: (success: boolean) => void;\n}\n\nexport const enum AuthProcess {\n None = \"none\",\n AuthChallenge = \"challenge\",\n ForgotPwdRequest = \"forgot.request\",\n ForgotPwdChangePwd = \"forgot.change-pwd\"\n}\n\nexport const enum AuthStatus {\n RestoringSession = \"restoring\",\n SigningOut = \"signing-out\",\n SignedOut = \"signed-out\",\n SigningIn = \"signing-in\",\n SignedIn = \"signed-in\",\n SigningUp = \"signing-up\"\n}\n\nexport interface AuthStoreState {\n _authStatus: AuthStatus;\n _sessionToken: SessionToken;\n _sessionRestoreError: SessionInitError;\n\n _accessRole: AccessRole;\n _roles: Role[];\n\n _authDialogVisible: boolean;\n _authDialogConfig: AuthDialogConfig;\n}","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Title.vue?vue&type=style&index=0&id=ee2c4664&lang=scss&scoped=true&\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmoryBackupHistory.vue?vue&type=style&index=1&lang=scss&\"","import NavigationStore, { InitUserNavigationPayload, NavigationStoreAction } from \"@Core/Store/Navigation/Navigation.store\";\nimport AuthStore, { AuthStoreAction } from \"@Module/Auth/Store/Auth.store\";\nimport { OrganizationRole } from \"../Models/Roles/OrganizationRole.model\";\nimport { Action, Getter, Module, Mutation, VuexModule } from \"types-vue\";\nimport { AccessRole } from \"@Module/Auth/Models/Roles/AccessRole.model\";\nimport { Serializer } from \"@Core/Components/QueryParam/QueryParam\";\nimport { ComputedGetters, OrgsStoreState } from \"./Orgs.state\";\nimport { Organization } from \"../Models/Organization.model\";\nimport { User } from \"@Module/Users/Models/User.model\";\nimport AuthApi from \"@Module/Auth/API/Auth.api\";\nimport { Notify } from \"@Core/Utils/Notify\";\nimport { Utils } from \"@Core/Utils/Utils\";\nimport AxiosAPI from \"@Core/API/AxiosAPI\";\nimport DeepClone from \"lodash.clonedeep\";\nimport OrgsApi from \"../API/Orgs.api\";\nimport { ActionContext } from \"vuex\";\nimport OrgApi from \"../API/Orgs.api\";\nimport Vue from \"vue\";\nimport { ServiceID } from \"@Service/ServiceID\";\nimport { Permission } from \"@Module/Auth/Models/Roles/Permissions.model\";\n\nexport type InitOrgsPayload = {\n user: User;\n userDidChange: boolean;\n}\n\nexport const enum OrgsStoreCookies {\n OrgOverwrite = \"orgs.overwrite\",\n Switching = \"orgs.switching\",\n OrgsHistory = \"orgs.history\"\n}\n\nconst enum OrgsStoreCommit {\n SetComputedGetters = \"_setComputedGetters\",\n SetOrgSuggestions = \"_setOrgSuggestions\",\n SetCurrentOrgRole = \"_setCurrentOrgRole\",\n SetOrgRoles = \"_setOrgRoles\",\n SetOrgRolesHistory = \"_setOrgRolesHistory\",\n UpdateOrg = \"_updateOrg\"\n}\n\nexport const enum OrgsStoreAction {\n InitOrgs = \"initOrgs\",\n DeinitOrgs = \"deinitOrgs\",\n ClearOrgRolesHistory = \"clearOrgRolesHistory\",\n FetchOrgRoles = \"fetchOrgRoles\",\n FetchCurrentOrgChildren = \"fetchCurrentOrgChildren\"\n}\n\nexport const enum OrgsStoreGetter {\n CurrentOrg = \"currentOrg\",\n CurrentOrgRole = \"currentOrgRole\",\n NoOrganization = \"noOrganization\",\n}\n\nexport const MAX_ORGS_HISTORY_SIZE: number = 4;\nconst MAX_ORGS_HISTORY_SEPARATOR: string = \"-\";\n\ndeclare type OrgsStoreContext = ActionContext;\n\n@Module({ namespaced: true })\nexport default class OrgsStore extends VuexModule implements OrgsStoreState {\n public static readonly Mapping = Utils.createVuexMappingOptions(\"Orgs\");\n\n public _computed?: ComputedGetters = null;\n\n public _currentOrgId: number = null;\n\n public _orgRoles: OrganizationRole[] = [];\n public _orgRolesHistory: OrganizationRole[] = [];\n public _suggestions: Organization[] = [];\n\n\n @Getter()\n public orgArrayParamSerializer(): Serializer {\n return {\n serialize: (value: Organization[]): string[] => {\n return value.map(org => org.id.toString());\n },\n deserialize: (param: string | string[]): Organization[] => {\n const ids = Array.isArray(param) ? param : [param];\n return this._orgRoles\n .filter(orgRole => ids.some(p => Number(p) === orgRole.organization.id))\n .map(orgRole => orgRole.organization);\n }\n }\n }\n\n @Getter()\n public orgParamSerializer(): Serializer {\n return {\n serialize: (value: Organization): string => {\n return value.id.toString();\n },\n deserialize: (param: string): Organization => {\n return this._orgRoles\n .find(orgRole => Number(param) === orgRole.organization.id)?.organization || null;\n }\n }\n }\n\n @Getter()\n public currentOrgHasChildren(): boolean {\n return this._computed?.currentOrgRoleHierarchy.children.length > 0 ?? false;\n }\n\n @Getter()\n public orgSuggestions(): Organization[] {\n return this._suggestions;\n }\n\n @Getter()\n public orgRolesHistory(): OrganizationRole[] {\n return this._orgRolesHistory;\n }\n\n @Getter()\n public defaultOrg(): Organization {\n return this._computed?.defaultOrgRole?.organization || null;\n }\n\n @Getter()\n public defaultOrgRole(): OrganizationRole {\n return this._orgRoles.find(orgRole => orgRole.isMain) || null;\n }\n\n @Getter()\n public currentOrg(): Organization {\n return this._computed?.currentOrgRole?.organization || null;\n }\n\n @Getter()\n public currentOrgRole(): OrganizationRole {\n return this._orgRoles.find(orgRole => orgRole.organization.id === this._currentOrgId) || null;\n }\n\n @Getter()\n public noOrganization(): boolean {\n return this._orgRoles.length === 0;\n }\n\n @Getter()\n public isInMainOrg(): boolean {\n return !!this._currentOrgId && this._computed?.defaultOrg?.id === this._currentOrgId;\n }\n\n @Getter()\n public orgs(): Organization[] {\n return this._orgRoles.map(orgRole => orgRole.organization);\n }\n\n @Getter()\n public orgRoles(): OrganizationRole[] {\n return this._orgRoles;\n }\n\n @Getter()\n public currentOrgRoleHierarchy(): OrganizationRole {\n return this._computed?.findOrgRoleHierarchy(this._currentOrgId) ?? null;\n }\n\n @Getter()\n public currentOrgChildren(): Organization[] {\n const currentOrg = this._computed?.currentOrg;\n return !currentOrg ? [] \n : this._computed?.orgs.filter(o => o.parentId === currentOrg.id) || [];\n }\n\n @Getter()\n public currentOrgRoleParent(): OrganizationRole {\n const currentOrg = this._computed?.currentOrg;\n return !currentOrg || !currentOrg.parentId\n ? null\n : this._orgRoles.find(orgRole => currentOrg.parentId === orgRole.organization.id) || null;\n }\n\n @Getter()\n public currentOrgParent(): Organization {\n return this._computed?.currentOrgRoleParent?.organization || null;\n }\n\n @Getter()\n public findOrgRoleHierarchy(): (org: number | Organization) => OrganizationRole {\n return (org: number | Organization) => {\n const id = typeof org === \"object\" ? org.id : org;\n const findOrgRole = (orgRoles: OrganizationRole[]): OrganizationRole => {\n for (const orgRole of orgRoles) {\n if (orgRole.organization.id === id) { return orgRole; }\n const found = findOrgRole(orgRole.children); \n if (!!found) { return found; }\n }\n }\n return findOrgRole(this._computed.orgRolesHierarchy);\n }\n }\n\n @Getter()\n public orgRolesHierarchy(): OrganizationRole[] {\n const orgRoles = DeepClone(this._orgRoles);\n const hierarchy = orgRoles.filter(orgRole => !orgRole.organization.parentId);\n const childOrgRolesMap = Utils.groupBy(orgRoles, orgRole => orgRole.organization.parentId, { skipNoValue: true });\n const assignChildrenRoleOrgs = (orgRoles: OrganizationRole[]) => {\n orgRoles.forEach(orgRole => {\n const orgId = orgRole.organization.id;\n orgRole.children = childOrgRolesMap[orgId] || [];\n delete childOrgRolesMap[orgId];\n assignChildrenRoleOrgs(orgRole.children);\n })\n }\n assignChildrenRoleOrgs(hierarchy);\n const orphanOrgRoles = Object.values(childOrgRolesMap).flat();\n hierarchy.push(...orphanOrgRoles);\n hierarchy.sort((a, b) => a.organization.name.localeCompare(b.organization.name));\n return hierarchy;\n }\n\n @Getter()\n public canSwitchOrg(): boolean {\n return this._orgRoles.filter(orgRole => !orgRole.role.isNoAccess).length > 1;\n }\n\n @Mutation()\n protected _setCurrentOrgRole(orgRole: OrganizationRole | null) {\n this._currentOrgId = orgRole?.organization.id;\n AxiosAPI.setOrganization(orgRole?.organization);\n }\n\n @Mutation()\n protected _setOrgSuggestions(suggestions: Organization[]) {\n this._suggestions = suggestions\n .filter(org => !this._orgRoles.some(orgRole => orgRole.organization.id === org.id));\n }\n\n @Mutation()\n protected _setOrgRolesHistory(orgRoles?: OrganizationRole[]) {\n this._orgRolesHistory = orgRoles || [];\n if (!orgRoles) {\n Vue.$cookies.remove(OrgsStoreCookies.OrgsHistory);\n } else {\n this._orgRolesHistory = orgRoles;\n const orgIdsHistory = this._orgRolesHistory.map(orgRole => orgRole.organization.id).join(MAX_ORGS_HISTORY_SEPARATOR);\n Vue.$cookies.set(OrgsStoreCookies.OrgsHistory, orgIdsHistory);\n }\n }\n\n @Mutation()\n protected _setOrgRoles(orgRoles: OrganizationRole[]) {\n this._orgRoles = orgRoles.sort((a, b) => a.organization.name.localeCompare(b.organization.name));\n if (!this._currentOrgId) {\n let currOrgRole = this._orgRoles.find(orgRole => orgRole.isMain);\n if (!currOrgRole && this._orgRoles.length > 0) {\n currOrgRole = this._orgRoles[0];\n }\n this._currentOrgId = currOrgRole?.organization.id;\n AxiosAPI.setOrganization(currOrgRole?.organization);\n }\n }\n\n @Mutation()\n protected _updateOrg(org: Organization) {\n const existingOrgRole = this._orgRoles.find(orgRole => orgRole.organization.id === org.id);\n if (!!existingOrgRole) {\n Vue.set(existingOrgRole, \"organization\", org);\n }\n }\n\n @Mutation()\n protected _setComputedGetters(computed: ComputedGetters) {\n this._computed = computed;\n }\n\n @Action({ useContext: true })\n public async setDefaultOrganization(ctx: OrgsStoreContext, organization: Organization): Promise {\n await OrgsApi.setDefaultOrganization(organization);\n await ctx.dispatch(OrgsStoreAction.FetchOrgRoles);\n }\n\n @Action({ commit: OrgsStoreCommit.SetOrgSuggestions })\n public async fetchOrgSuggestions(): Promise {\n const dtos = await OrgApi.getOrgSuggestions();\n return dtos.map(Organization.fromDto);\n }\n\n @Action()\n protected async createOrg(org: Organization): Promise {\n const dto = await OrgsApi.createOrganization(org);\n return Organization.fromDto(dto);\n }\n\n @Action({ commit: OrgsStoreCommit.UpdateOrg })\n protected async updateOrg(org: Organization): Promise {\n const dto = await OrgsApi.updateOrg(org);\n return Organization.fromDto(dto);\n }\n\n @Action({ useContext: true })\n public async switchToOrgRole(ctx: OrgsStoreContext, orgRole: OrganizationRole): Promise {\n Vue.$cookies.set(OrgsStoreCookies.Switching, true);\n\n const history = ctx.state._orgRolesHistory;\n const currentHistoryIndex = history.findIndex(o => o.organization.id === orgRole.organization.id);\n if (currentHistoryIndex !== -1) {\n history.splice(currentHistoryIndex, 1);\n } else if (history.length === MAX_ORGS_HISTORY_SIZE) {\n history.splice(history.length - 1, 1);\n }\n const orgRolesHistory = [orgRole, ...history];\n ctx.commit(OrgsStoreCommit.SetOrgRolesHistory, orgRolesHistory);\n\n if (orgRole.isMain) {\n Vue.$cookies.remove(OrgsStoreCookies.OrgOverwrite);\n } else {\n Vue.$cookies.set(OrgsStoreCookies.OrgOverwrite, orgRole.organization.id);\n }\n }\n\n @Action({ commit: OrgsStoreCommit.SetOrgRolesHistory })\n public async clearOrgRolesHistory(): Promise {\n return null;\n }\n\n @Action({ useContext: true, commit: OrgsStoreCommit.SetOrgRoles })\n public async fetchCurrentOrgChildren(ctx: OrgsStoreContext): Promise {\n const currentOrg = ctx.state._computed?.currentOrg;\n if (!currentOrg) { return ctx.state._orgRoles; }\n\n const fetchOrgChildren = async (org: Organization): Promise => {\n const dtos = await OrgApi.getOrgChildren(org);\n const children = dtos.map(Organization.fromDto);\n const childrenOfChildren = children.map(fetchOrgChildren);\n const allChildren = await Promise.all(childrenOfChildren);\n return [...children, ...allChildren].flat();\n }\n\n const childOrgs = await fetchOrgChildren(currentOrg);\n return childOrgs.reduce((orgRoles, org) => {\n const hasAccess = orgRoles.some(orgRole => orgRole.organization.id === org.id);\n if (!hasAccess) {\n orgRoles.push(OrganizationRole.noAccess(org));\n }\n return orgRoles;\n }, ctx.state._orgRoles);\n }\n\n @Action({ commit: OrgsStoreCommit.SetOrgRoles })\n public async fetchOrgRoles(): Promise {\n const dtos = await OrgApi.getOrgRoles();\n return dtos.map(OrganizationRole.fromDto);\n }\n\n @Action({ useContext: true })\n public async initOrgs(ctx: OrgsStoreContext, payload: InitOrgsPayload): Promise {\n \n ctx.commit(OrgsStoreCommit.SetComputedGetters, ctx.getters);\n\n if (payload.userDidChange) {\n await ctx.dispatch(OrgsStoreAction.ClearOrgRolesHistory);\n }\n \n let allowedOrgRoles: OrganizationRole[];\n if (payload.user.universalOrgAccess) {\n allowedOrgRoles = await ctx.dispatch(OrgsStoreAction.FetchOrgRoles);\n } else {\n allowedOrgRoles = payload.user.allOrgRoles;\n ctx.commit(OrgsStoreCommit.SetOrgRoles, allowedOrgRoles);\n }\n\n const overwriteId = Vue.$cookies.get(OrgsStoreCookies.OrgOverwrite);\n let switchOrgRole: OrganizationRole;\n if (overwriteId != undefined) {\n switchOrgRole = allowedOrgRoles.find(orgRole => orgRole.organization.id === Number(overwriteId));\n }\n\n let defaultOrgRole = payload.user.mainOrgRole; \n if (!defaultOrgRole) {\n defaultOrgRole = payload.user.allowedOrgRoles.length > 0 ? payload.user.allowedOrgRoles[0] : null;\n }\n \n const currentOrgRole = switchOrgRole || defaultOrgRole;\n ctx.commit(OrgsStoreCommit.SetCurrentOrgRole, currentOrgRole);\n\n // Init access role for current organization\n let accessRole: AccessRole;\n if (!!currentOrgRole) {\n const roleDto = await AuthApi.getRolePermissions(currentOrgRole.role.id);\n accessRole = AccessRole.fromDto(roleDto, payload.user);\n } else {\n accessRole = AccessRole.guestRole(payload.user);\n }\n const setAccessRole = AuthStore.Mapping.rootAction(AuthStoreAction.SetAccessRole);\n await setAccessRole(ctx, accessRole);\n\n // Get current organization children if needed\n const shouldFetchChildren = accessRole.can(ServiceID.Console, Permission.CreateChildOrg) \n || accessRole.canForSomeService(Permission.ShareLicenses);\n if (!!currentOrgRole?.organization && shouldFetchChildren) {\n await ctx.dispatch(OrgsStoreAction.FetchCurrentOrgChildren);\n }\n \n // Manage user's switch org\n const wasSwitchingOrg = Vue.$cookies.get(OrgsStoreCookies.Switching) === \"true\";\n if (wasSwitchingOrg && !!currentOrgRole) {\n Notify.Info({ \n title: \"Organization Switch\", \n message: `Switched ${currentOrgRole.isMain ? 'back to' : 'to'} ${currentOrgRole.organization.name} organization with ${currentOrgRole.role.name} access role.`, \n duration: 1500 \n });\n }\n Vue.$cookies.remove(OrgsStoreCookies.Switching);\n\n // Manage user's org history\n const historyCookie = Vue.$cookies.get(OrgsStoreCookies.OrgsHistory) || null;\n const orgIdsHistory: string[] = historyCookie?.split(MAX_ORGS_HISTORY_SEPARATOR) as string[] || [];\n if (orgIdsHistory.length > 0) {\n const orgRolesHistory = orgIdsHistory.reduce((history, orgId) => {\n const orgRole = allowedOrgRoles.find(orgRole => orgRole.organization.id === Number(orgId));\n if (!!orgRole) { history.push(orgRole); }\n return history;\n }, [] as OrganizationRole[]);\n ctx.commit(OrgsStoreCommit.SetOrgRolesHistory, orgRolesHistory);\n }\n\n const initUserNavigation = NavigationStore.Mapping.rootAction(NavigationStoreAction.InitUserNavigation);\n await initUserNavigation(ctx, { user: payload.user, accessRole } as InitUserNavigationPayload);\n }\n\n @Action({ useContext: true })\n public async deinitOrgs(ctx: OrgsStoreContext, expired: boolean): Promise {\n ctx.commit(OrgsStoreCommit.SetOrgRoles, []);\n ctx.commit(OrgsStoreCommit.SetOrgSuggestions, []);\n ctx.commit(OrgsStoreCommit.SetCurrentOrgRole, null);\n ctx.commit(OrgsStoreCommit.SetComputedGetters, null);\n AxiosAPI.setOrganization(null);\n\n if (!expired) {\n Vue.$cookies.remove(OrgsStoreCookies.OrgOverwrite);\n Vue.$cookies.remove(OrgsStoreCookies.Switching);\n }\n\n const deinitUserNavigation = NavigationStore.Mapping.rootAction(NavigationStoreAction.DeinitUserNavigation);\n await deinitUserNavigation(ctx, expired);\n }\n\n}","import { FileSize } from \"@Core/Utils/FileSize\";\n\nexport interface IBackupObjectDto {\n LocalFile: string;\n RemoteObject: string;\n Size: number;\n}\n\nexport class BackupObject {\n public readonly localPath: string;\n public readonly remotePath: string;\n public readonly size: FileSize;\n\n public static fromDto(dto: IBackupObjectDto): BackupObject {\n return new BackupObject(dto);\n }\n\n private constructor(dto: IBackupObjectDto) {\n this.localPath = dto.LocalFile;\n this.remotePath = dto.RemoteObject;\n this.size = FileSize.fromBytes(dto.Size);\n }\n\n public toString(): string {\n return `${this.size.value} ${this.size.unit}`;\n }\n\n public meetsFilter(search: string): boolean {\n const text = search?.toLowerCase() || \"\";\n return this.localPath.toLowerCase().includes(text)\n || this.remotePath.toLowerCase().includes(text);\n }\n}","import { IBackupDto } from \"./Backup.model\";\nimport DayJS, { Dayjs } from \"dayjs\";\n\nexport const enum LifecycleType {\n Daily = \"D\",\n Weekly = \"W\",\n Monthly = \"M\",\n Yearly = \"Y\"\n}\n\nexport class BackupLifecycle {\n public readonly type: LifecycleType;\n public readonly expiration: Dayjs;\n\n public static fromDto(dto: IBackupDto): BackupLifecycle {\n return new BackupLifecycle(dto);\n }\n\n private constructor(dto: IBackupDto) {\n this.type = dto.lifecycle as LifecycleType;\n this.expiration = DayJS(dto.expiration_date);\n }\n\n public get hasExpired(): boolean {\n return this.expiration.isBefore(DayJS());\n }\n\n public get label(): string {\n switch (this.type) {\n case LifecycleType.Daily: return \"Daily\";\n case LifecycleType.Weekly: return \"Weekly\";\n case LifecycleType.Monthly: return \"Monthly\";\n case LifecycleType.Yearly: return \"Yearly\";\n default: return this.type;\n }\n }\n}","import { BackupCloudProvider, CloudProviderType } from \"./CloudProvider/BackupCloudProvider.model\";\nimport { BackupObject, IBackupObjectDto } from \"./BackupObject.model\";\nimport { BackupLifecycle } from \"./BackupLifecycle.model\";\nimport { FileSize } from \"@Core/Utils/FileSize\";\nimport DayJS, { Dayjs } from \"dayjs\";\n\nexport interface Tag {\n name: string;\n value: string;\n}\n\nexport interface IBackupDto {\n id: number;\n uuid: string;\n status: string;\n start_date: string;\n end_date?: string;\n level?: string;\n\n source_database?: string;\n lifecycle?: string;\n expiration_date?: string;\n num_objects?: number;\n total_size?: number;\n error_code?: number;\n error_message?: string;\n license_id: number;\n license_uuid: string;\n\n host_id: number;\n host_external_id: string;\n host_sid?: string;\n host_hostname?: string;\n host_platform?: string;\n host_client_version?: string;\n\n type: string;\n encryption_type?: string;\n encryption_key?: string;\n location_name?: string;\n location_path?: string;\n region?: string;\n tags?: { name: string, value: string }[];\n objects?: IBackupObjectDto[];\n}\n\nexport enum BackupStatus {\n Started = \"started\",\n Completed = \"completed\",\n Failed = \"failed\"\n}\n\nexport namespace BackupStatus {\n export const All: BackupStatus[] = [\n BackupStatus.Completed, BackupStatus.Failed, BackupStatus.Started\n ]\n}\n\nexport interface BackupHost {\n readonly id: number;\n readonly uuid: string;\n readonly sid?: string;\n readonly hostname?: string;\n readonly platform?: string;\n readonly clientVersion?: string;\n}\n\nexport interface BackupFailure {\n readonly reason: string;\n readonly code: number;\n}\n\nexport class Backup {\n public readonly id: number;\n public readonly uuid: string;\n public readonly type: CloudProviderType;\n public readonly status: BackupStatus;\n public readonly level: string;\n public readonly startDate: Dayjs;\n public readonly endDate?: Dayjs;\n public readonly duration?: string;\n public readonly sourceDatabase?: string;\n public readonly licenseId: number;\n public readonly licenseUuid: string;\n public readonly host: BackupHost;\n public readonly size?: FileSize;\n public readonly failure?: BackupFailure;\n public readonly lifecycle?: BackupLifecycle;\n public readonly cloud: BackupCloudProvider;\n public readonly objects: BackupObject[];\n public readonly tags: Tag[];\n \n public static fromDto(dto: IBackupDto) {\n return new Backup(dto);\n }\n\n private constructor(dto: IBackupDto) {\n this.id = dto.id;\n this.uuid = dto.uuid;\n this.type = dto.type as CloudProviderType;\n this.status = dto.status as BackupStatus;\n this.level = dto.level;\n this.startDate = DayJS(dto.start_date);\n this.endDate = !!dto.end_date ? DayJS(dto.end_date) : null;\n this.sourceDatabase = dto.source_database;\n if (!!this.endDate) {\n this.duration = this.startDate.to(this.endDate, true);\n }\n this.licenseId = dto.license_id;\n this.licenseUuid = dto.license_uuid;\n this.host = {\n id: dto.host_id,\n uuid: dto.host_external_id,\n sid: dto.host_sid,\n hostname: dto.host_hostname,\n platform: dto.host_platform,\n clientVersion: dto.host_client_version\n };\n if (!!dto.error_message) {\n this.failure = {\n code: dto.error_code,\n reason: dto.error_message\n };\n } \n if (!!dto.lifecycle && dto.lifecycle !== \"N/A\" && !!dto.expiration_date) {\n this.lifecycle = BackupLifecycle.fromDto(dto);\n }\n if (!!dto.total_size) {\n this.size = FileSize.fromBytes(dto.total_size);\n }\n this.tags = dto.tags || [];\n this.cloud = BackupCloudProvider.Factory.fromDto(dto);\n this.objects = dto.objects?.map(BackupObject.fromDto) || []; \n }\n\n public get hasObjects(): boolean {\n return this.objects.length > 0;\n }\n\n public get hasFailed(): boolean {\n return this.status === BackupStatus.Failed;\n }\n\n public get statusLabel(): string {\n switch (this.status) {\n case BackupStatus.Started: return \"Started\";\n case BackupStatus.Completed: return \"Completed\";\n case BackupStatus.Failed: return \"Failed\";\n default: return \"N/A\";\n }\n }\n\n public get numberOfObjects(): number {\n return this.objects?.length ?? 0;\n }\n\n public get isAWS(): boolean { \n return this.type === CloudProviderType.AWS;\n }\n\n public get isAzure(): boolean { \n return this.type === CloudProviderType.Azure;\n }\n\n public get isGCloud(): boolean { \n return this.type === CloudProviderType.GCloud;\n }\n\n}\n","import DayJS, { Dayjs } from \"dayjs\";\nimport { IResourceDto } from \"./Resource.model\";\nimport { ServiceID } from \"@Service/ServiceID\";\n\nexport interface ICreateReleaseDto {\n name: string,\n description: string,\n platform_id: number,\n}\n\n\nexport interface IReleaseDto {\n id: number;\n name: string;\n description: string;\n platform_id?: number;\n created_at?: string;\n resources: IResourceDto[]\n}\n\nexport class Release {\n id: number;\n name: string;\n description: string;\n platform_id?: number;\n created_at: Dayjs;\n resources: IResourceDto[];\n\n private constructor(dto: IReleaseDto) {\n this.id = dto.id;\n this.name = dto?.name;\n this.description = dto.description;\n this.resources = dto.resources;\n this.platform_id = dto?.platform_id;\n this.created_at = DayJS(dto.created_at);\n }\n\n public static create(dto?: Partial): Release {\n return new Release({\n id: dto?.id,\n name: dto?.name, \n description: dto?.description,\n platform_id: dto?.platform_id,\n resources: dto?.resources,\n created_at: dto?.created_at,\n });\n }\n\n public static fromDto(dto: IReleaseDto): Release {\n return new Release(dto);\n }\n}","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Details.vue?vue&type=style&index=0&id=536ff47d&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('licensing.contracts-view',{attrs:{\"service-id\":_vm.serviceId},on:{\"select\":_vm.viewDetails}},[(_vm.permissions.CanRequestTrial)?_c('emory.emory-trial-dialog',{ref:\"trialDialog\"}):_vm._e(),_c('template',{slot:\"controls\"},[(_vm.permissions.CanPurchaseContracts)?_c('core.purchase-popover',{attrs:{\"size\":\"small\",\"placement\":\"bottom\",\"label\":\"Purchase contract\"}}):_vm._e()],1),_c('core.empty',{attrs:{\"slot\":\"empty\"},slot:\"empty\"},[_c('span',[_vm._v(\"You have no contracts.\")]),_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"receipt-outline\"},slot:\"icon\"}),(_vm.permissions.CanPurchaseContracts || (_vm.permissions.CanRequestTrial && !!_vm.emoryTrialInfo && _vm.emoryTrialInfo.canApply))?_c('div',[_c('el-divider',{staticClass:\"m-y-16 mt-0\"}),_c('div',{staticClass:\"flex space-x-16 p-x-16\"},[(_vm.permissions.CanPurchaseContracts)?_c('core.purchase-popover',{attrs:{\"size\":\"small\",\"placement\":\"top\"}}):_vm._e(),(_vm.permissions.CanRequestTrial && !!_vm.emoryTrialInfo && _vm.emoryTrialInfo.canApply)?_c('el-button',{attrs:{\"size\":\"small\"},on:{\"click\":function($event){return _vm.$refs.trialDialog.open()}}},[_c('ion-icon',{staticClass:\"mr-6\",attrs:{\"name\":\"flask\"}}),_c('span',[_vm._v(\"Start your trial\")])],1):_vm._e()],1)],1):_vm._e()],1)],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Permission } from \"@Module/Auth/Models/Roles/Permissions.model\";\nimport { AccessRole } from \"@Module/Auth/Models/Roles/AccessRole.model\";\nimport { Contract } from \"@Module/Licensing/Models/Contract.model\";\nimport { TrialInfo } from \"@Module/Trial/Models/TrialInfo.model\";\nimport TrialStore from \"@Module/Trial/Store/Trial.store\";\nimport AuthStore from \"@Module/Auth/Store/Auth.store\";\nimport { Component, MapGetter } from \"types-vue\";\nimport { ServiceID } from \"@Service/ServiceID\";\nimport Vue from \"vue\";\n\n@Component\nexport default class EmoryContracts extends Vue {\n protected serviceId: ServiceID = ServiceID.Emory;\n\n @MapGetter(TrialStore.Mapping)\n protected emoryTrialInfo: TrialInfo;\n\n @MapGetter(AuthStore.Mapping)\n protected accessRole: AccessRole;\n\n protected viewDetails(contract: Contract) {\n this.$router.push({ \n name: \"backup-contract-details\", \n params: { id: contract.id.toString() }\n });\n }\n\n protected get permissions() {\n return {\n CanPurchaseContracts: this.accessRole.can(this.serviceId, Permission.PurchaseContract),\n CanRequestTrial: this.accessRole.can(this.serviceId, Permission.RequestTrial)\n }\n }\n \n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./EmoryContracts.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./EmoryContracts.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./EmoryContracts.vue?vue&type=template&id=cdffd42e&\"\nimport script from \"./EmoryContracts.ts?vue&type=script&lang=ts&\"\nexport * from \"./EmoryContracts.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OrgsLicensingSummaryView.vue?vue&type=style&index=0&lang=scss&\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AuthController.vue?vue&type=style&index=0&id=0c76d8f6&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"flex-1 space-y-4\"},[_c('H2',{attrs:{\"slot\":\"title\"},slot:\"title\"},[_vm._v(_vm._s(_vm.user.fullName))]),_c('span',[_vm._v(_vm._s(_vm.user.username))])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { User } from \"@Module/Users/Models/User.model\";\nimport { Component, Prop } from \"types-vue\";\nimport Vue from \"vue\";\n\n@Component\nexport default class UserSummaryBanner extends Vue {\n\n @Prop({ type: Object, required: true })\n protected user: User;\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./UserSummaryBanner.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./UserSummaryBanner.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./UserSummaryBanner.vue?vue&type=template&id=2eae4a6a&\"\nimport script from \"./UserSummaryBanner.ts?vue&type=script&lang=ts&\"\nexport * from \"./UserSummaryBanner.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('core.columns-layout',{staticClass:\"users-manager\",attrs:{\"show-right\":!_vm.$mq.lg}},[_c('core.query-param',{attrs:{\"name\":\"search\"},model:{value:(_vm.searchText),callback:function ($$v) {_vm.searchText=$$v},expression:\"searchText\"}}),_c('core.query-param',{attrs:{\"name\":\"expand\",\"type\":\"string-array\"},model:{value:(_vm.expandedRows),callback:function ($$v) {_vm.expandedRows=$$v},expression:\"expandedRows\"}}),_c('core.query-param',{attrs:{\"name\":\"org\",\"serializer\":_vm.orgArrayParamSerializer},model:{value:(_vm.orgs),callback:function ($$v) {_vm.orgs=$$v},expression:\"orgs\"}}),(_vm.permissions.CanCreateAppUsers || _vm.permissions.CanEditAppUsers)?_c('users.user-editor-dialog',{ref:\"userEditorDialog\"}):_vm._e(),_c('div',{staticClass:\"flex items-center space-x-8\",attrs:{\"slot\":\"title\"},slot:\"title\"},[_c('core.title',{staticClass:\"flex-0\"},[_c('core.label',{attrs:{\"value\":\"Users Manager\",\"icon-size\":\"20px\",\"icon-spacing\":\".4rem\"}},[_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"people-circle-outline\"},slot:\"icon\"})],1)],1),_c('div',{staticClass:\"flex-1 flex space-x-8 content-end\"},[(_vm.permissions.CanCreateAppUsers)?_c('el-button',{attrs:{\"type\":\"primary\",\"size\":\"small\",\"icon\":\"el-icon-circle-plus\"},on:{\"click\":function($event){return _vm.$refs.userEditorDialog.open()}}},[_c('span',[_vm._v(\"Create user\")])]):_vm._e()],1)],1),(!!_vm.getUsers.error)?_c('core.alert',{attrs:{\"type\":\"error\",\"title\":\"Users error\",\"description\":_vm.getUsers.error.message,\"closable\":false}},[_c('el-button',{attrs:{\"slot\":\"footer\",\"icon\":\"el-icon-refresh-right\",\"type\":\"default\",\"size\":\"mini\"},on:{\"click\":function($event){return _vm.getUsers.run()}},slot:\"footer\"},[_c('span',[_vm._v(\"Try again\")])])],1):_c('div',{staticClass:\"space-y-16\"},[_c('core.card',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.removeUser.loading),expression:\"removeUser.loading\"}],attrs:{\"bordered\":_vm.isPlainUi,\"no-padding\":\"\",\"element-loading-text\":\"Deleting user...\"}},[_c('div',{staticClass:\"flex container-x-16 container-y-8 flex-wrap p-x-16 pt-16\"},[_c('el-input',{staticClass:\"flex-2\",attrs:{\"disabled\":!_vm.hasUsers,\"prefix-icon\":\"el-icon-search\",\"placeholder\":\"Search users\",\"clearable\":\"\"},model:{value:(_vm.searchText),callback:function ($$v) {_vm.searchText=$$v},expression:\"searchText\"}}),_c('orgs.org-selector',{ref:\"orgSelector\",staticClass:\"flex-3\",attrs:{\"disabled\":!_vm.hasUsers,\"placeholder\":\"Filter by organization access\",\"clearable\":\"\",\"multiple\":\"\"},model:{value:(_vm.orgs),callback:function ($$v) {_vm.orgs=$$v},expression:\"orgs\"}})],1),_c('el-table',{ref:\"table\",attrs:{\"data\":_vm.filteredUsers,\"empty-text\":\" \",\"tooltip-effect\":\"light\",\"row-key\":\"username\",\"default-sort\":{ prop: 'username', order: 'ascending' },\"expand-row-keys\":_vm.expandedRowIds},on:{\"expand-change\":_vm.toggleExpansion,\"row-click\":_vm.toggleExpansion}},[(_vm.firstLoad)?_c('core.loading',{attrs:{\"slot\":\"empty\",\"label\":\"Fetching users...\",\"height\":\"7.2rem\"},slot:\"empty\"}):(!_vm.hasUsers && !_vm.getUsers.loading)?_c('core.empty',{attrs:{\"slot\":\"empty\",\"description\":\"There are no users.\"},slot:\"empty\"},[_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"people-circle\"},slot:\"icon\"})],1):(_vm.filteredUsers.length === 0 && !_vm.getUsers.loading)?_c('core.empty',{attrs:{\"slot\":\"empty\"},slot:\"empty\"},[_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"people-circle\"},slot:\"icon\"}),_c('div',{staticClass:\"flex-y space-y-16 items-center\"},[_c('span',[_vm._v(\"No user meets your filtering criteria.\")]),_c('el-button',{staticClass:\"w-max-content\",attrs:{\"size\":\"small\",\"icon\":\"el-icon-delete\"},on:{\"click\":_vm.clearFilters}},[_c('span',[_vm._v(\"Clear filters\")])])],1)],1):_vm._e(),_c('el-table-column',{attrs:{\"type\":\"expand\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar row = ref.row;\nreturn _c('div',{staticClass:\"space-y-16\"},[_c('H2',[_vm._v(_vm._s(row.fullName))]),_c('users.user-summary',{attrs:{\"user\":row}},[_c('div',{staticClass:\"flex container-x-16 container-y-8\"},[_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"primary\",\"icon\":\"el-icon-more\"},on:{\"click\":function($event){return _vm.viewDetails(row)}}},[_c('span',[_vm._v(\"View user details\")])]),(_vm.permissions.CanEditAppUsers)?_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"info\",\"icon\":\"el-icon-edit\"},on:{\"click\":function($event){return _vm.$refs.userEditorDialog.open(row)}}},[_c('span',[_vm._v(\"Edit user\")])]):_vm._e(),_c('div',{staticClass:\"flex flex-1 content-end\"},[(_vm.permissions.CanDeleteAppUsers)?_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"danger\",\"icon\":\"el-icon-delete\",\"loading\":_vm.removeUser.loading},on:{\"click\":function($event){return _vm.onDeleteClick(row)}}},[(_vm.removeUser.loading)?_c('span',[_vm._v(\"Deleting\")]):_c('span',[_vm._v(\"Delete user\")])]):_vm._e()],1)],1)])],1)}}])}),_c('el-table-column',{attrs:{\"prop\":\"username\",\"sortable\":_vm.hasUsers,\"min-width\":\"165\",\"label\":\"Username\",\"show-overflow-tooltip\":\"\"}}),_c('el-table-column',{attrs:{\"prop\":\"fullName\",\"sortable\":_vm.hasUsers,\"min-width\":\"120\",\"label\":\"Name\",\"show-overflow-tooltip\":\"\"}}),_c('el-table-column',{attrs:{\"prop\":\"creation\",\"sortable\":_vm.hasUsers,\"min-width\":\"137\",\"label\":\"Creation\",\"sort-method\":function (a, b) { return a.creation.diff(b.creation); },\"show-overflow-tooltip\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar row = ref.row;\nreturn _c('core.date-label',{attrs:{\"date\":row.creation,\"format\":\"MM/DD/YY HH:mm\"}})}}])}),_c('el-table-column',{attrs:{\"prop\":\"mainOrgRole.organization.name\",\"sortable\":_vm.hasUsers,\"min-width\":\"135\",\"label\":\"Main Org.\",\"show-overflow-tooltip\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar row = ref.row;\nreturn [(!row.mainOrgRole)?_c('span',{staticClass:\"text-disabled\"},[_vm._v(\"No organization\")]):_c('orgs.org-label',{staticClass:\"w-full\",attrs:{\"org\":row.mainOrgRole.organization}})]}}])}),_c('el-table-column',{attrs:{\"sortable\":_vm.hasUsers,\"sort-method\":_vm.sortByOrgAccess,\"width\":\"60\",\"align\":\"center\",\"label\":\"Orgs.\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar row = ref.row;\nreturn [(row.universalOrgAccess)?_c('el-tag',{attrs:{\"size\":\"mini\",\"effect\":\"dark\",\"type\":\"info\",\"disable-transitions\":\"\"}},[_c('span',[_vm._v(\"All\")])]):(row.allOrgRoles.length === 0)?_c('span',{staticClass:\"text-disabled\"},[_vm._v(\"0\")]):_c('span',[_vm._v(_vm._s(row.allOrgRoles.length))])]}}])},[_c('el-tooltip',{attrs:{\"slot\":\"header\",\"effect\":\"light\",\"placement\":\"top\",\"content\":\"Organizations Access\"},slot:\"header\"},[_c('i',{staticClass:\"el-icon-office-building\"})])],1),_c('el-table-column',{attrs:{\"prop\":\"previewsAccess.length\",\"sortable\":_vm.hasUsers,\"width\":\"60\",\"align\":\"center\",\"label\":\"Prev.\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar row = ref.row;\nreturn [(row.previewsAccess.length === 0)?_c('span',{staticClass:\"text-disabled\"},[_vm._v(\"0\")]):_c('span',[_vm._v(_vm._s(row.previewsAccess.length))])]}}])},[_c('el-tooltip',{attrs:{\"slot\":\"header\",\"effect\":\"light\",\"placement\":\"top\",\"content\":\"Previews Access\"},slot:\"header\"},[_c('i',{staticClass:\"el-icon-view\"})])],1),_c('el-table-column',{attrs:{\"width\":\"50\",\"header-align\":\"right\",\"show-overflow-tooltip\":\"\"},scopedSlots:_vm._u([{key:\"header\",fn:function(ref){\nvar $index = ref.$index;\nreturn _c('transition',{attrs:{\"name\":\"el-fade-in\"}},[(_vm.getUsers.loading)?_c('i',{key:$index,staticClass:\"el-icon-loading table-loading-indicator\"}):_vm._e()])}},{key:\"default\",fn:function(ref){\nvar row = ref.row;\nreturn _c('el-tooltip',{attrs:{\"content\":\"View user details\",\"effect\":\"light\",\"placement\":\"top\",\"open-delay\":500}},[_c('el-button',{staticClass:\"details-button\",attrs:{\"size\":\"mini\",\"type\":\"text\",\"circle\":\"\"},on:{\"click\":function($event){return _vm.viewDetails(row)}}},[_c('ion-icon',{attrs:{\"name\":\"arrow-forward-outline\"}})],1)],1)}}])})],1)],1)],1),_c('div',{staticClass:\"users-summary space-y-8\",attrs:{\"slot\":\"right\"},slot:\"right\"},[_c('core.stat-card',{attrs:{\"title\":\"Number of Users\",\"value\":_vm.filteredUsers.length,\"loading\":_vm.firstLoad,\"bordered\":_vm.isPlainUi}}),_c('core.stat-card',{attrs:{\"title\":\"Universal Access\",\"value\":_vm.universalAccessUsersCount,\"loading\":_vm.firstLoad,\"bordered\":_vm.isPlainUi}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Execution } from \"@Core/Models/Execution\";\nimport { Notify } from \"@Core/Utils/Notify\";\nimport { AccessRole } from \"@Module/Auth/Models/Roles/AccessRole.model\";\nimport { Permission } from \"@Module/Auth/Models/Roles/Permissions.model\";\nimport { User } from \"@Module/Users/Models/User.model\";\nimport UsersStore from \"@Module/Users/Store/Users.store\";\nimport { ServiceID } from \"@Service/ServiceID\";\nimport AppSettingsStore from \"@Service/Settings/Store/AppSettings/AppSettings.store\";\nimport { Component, MapAction, MapGetter } from \"types-vue\";\nimport OrgsStore from \"@Module/Orgs/Store/Orgs.store\";\nimport { Watch } from \"vue-property-decorator\";\nimport { Organization } from \"@Module/Orgs/Models/Organization.model\";\nimport { Serializer } from \"@Core/Components/QueryParam/QueryParam\";\nimport AuthStore from \"@Module/Auth/Store/Auth.store\";\nimport Vue from \"vue\";\n\n@Component\nexport default class UsersManager extends Vue {\n \n @MapGetter(AppSettingsStore.Mapping)\n protected isPlainUi: boolean;\n\n @MapGetter(AuthStore.Mapping)\n protected accessRole: AccessRole;\n\n @MapGetter(UsersStore.Mapping)\n protected users: User[];\n\n @MapGetter(OrgsStore.Mapping)\n protected orgArrayParamSerializer: Serializer;\n\n @MapAction(UsersStore.Mapping)\n protected fetchUsers: () => Promise;\n \n @MapAction(UsersStore.Mapping)\n protected deleteUser: (user: User) => Promise;\n\n protected searchText: string = null;\n protected expandedRows: string[] = [];\n protected orgs: Organization[] = [];\n\n protected getUsers = Execution.create(() => this.fetchUsers());\n protected removeUser = Execution.create((user: User) => this.deleteUser(user));\n\n @Watch(\"users\", { immediate: true })\n protected onTableDataChange(data: User[]) {\n if (data.length === 1) {\n this.expandedRows = [data[0].username];\n }\n }\n\n protected mounted() {\n this.getUsers.run();\n }\n\n protected get filteredUsers(): User[] {\n return this.users.filter(user => user.meetsFilter(this.searchText, this.orgs));\n }\n\n protected get universalAccessUsersCount(): number {\n return this.filteredUsers.filter(user => user.universalOrgAccess).length;\n }\n\n protected get firstLoad(): boolean {\n return this.getUsers.loading && !this.hasUsers;\n }\n\n protected get hasUsers(): boolean {\n return this.users.length > 0;\n }\n\n protected clearFilters() {\n this.searchText = null;\n this.orgs = [];\n }\n\n protected async onDeleteClick(user: User) {\n try {\n await this.$confirm(\n \"Are you sure you want to delete this user? This action can not be undone.\", \n \"Delete confirmation\", {\n confirmButtonText: \"Delete user\",\n cancelButtonText: \"Cancel\",\n type: \"warning\"\n });\n await this.removeUser.run(user);\n if (!!this.removeUser.error) {\n Notify.Error({\n title: \"User deletion error\",\n message: this.removeUser.error.message,\n duration: 3000\n });\n } else {\n Notify.Success({\n title: \"User deleted\",\n message: \"The user was successfully deleted.\",\n duration: 3000\n });\n }\n } catch {}\n }\n\n protected toggleExpansion(contract: User) {\n const index = this.expandedRows.indexOf(contract.username);\n if (index >= 0) {\n this.expandedRows.splice(index, 1);\n } else {\n this.expandedRows = [contract.username];\n }\n }\n\n protected get expandedRowIds(): string[] {\n return this.expandedRows\n .filter(username => this.filteredUsers.some(contract => contract.username === username));\n }\n\n protected sortByOrgAccess(a: User, b: User): number {\n const aScore = a.allOrgRoles.length + (a.universalOrgAccess ? Infinity : 0);\n const bScore = b.allOrgRoles.length + (b.universalOrgAccess ? Infinity : 0);\n return aScore - bScore;\n }\n\n protected viewDetails(user: User) {\n this.$router.push({ \n name: \"cxlink-user-details\", \n params: { username: user.username }\n });\n }\n\n protected get permissions() {\n return {\n CanCreateAppUsers: this.accessRole.can(ServiceID.Console, Permission.CreateAppUsers),\n CanEditAppUsers: this.accessRole.can(ServiceID.Console, Permission.EditAppUsers),\n CanDeleteAppUsers: this.accessRole.can(ServiceID.Console, Permission.DeleteAppUsers)\n }\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./UsersManager.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./UsersManager.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./UsersManager.vue?vue&type=template&id=e82e33da&scoped=true&\"\nimport script from \"./UsersManager.ts?vue&type=script&lang=ts&\"\nexport * from \"./UsersManager.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./UsersManager.vue?vue&type=style&index=0&id=e82e33da&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"e82e33da\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Empty.vue?vue&type=style&index=0&id=33db74ce&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"space-y-16\"},[_c('el-select',{attrs:{\"disabled\":_vm.disabled,\"value\":_vm.value,\"placeholder\":\"Select related contract\"},on:{\"change\":_vm.onContractSelected}},_vm._l((_vm.data),function(item){return _c('el-option',{key:item.id,attrs:{\"label\":item.label,\"value\":item.id}},[_c('span',{staticStyle:{\"float\":\"left\",\"margin-right\":\"1em\"}},[_vm._v(_vm._s(item.label))]),_c('span',{staticStyle:{\"float\":\"right\",\"color\":\"#8492a6\",\"font-size\":\"13px\"}},[_vm._v(_vm._s(item.dates))])])}),1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { NumberCookie } from \"@Core/Models/Cookies/NumberCookie.model\";\nimport { Execution } from \"@Core/Models/Execution\";\nimport { Contract } from \"@Module/Licensing/Models/Contract.model\";\nimport LicensingStore from \"@Module/Licensing/Store/Licensing.store\";\nimport { ReportContract } from \"@Module/Reports/Models/ReportContract.model\";\nimport ReportsStore from \"@Module/Reports/Store/Reports.store\";\nimport { ServiceID, ServiceMap } from \"@Service/ServiceID\";\nimport { Console } from \"console\";\nimport DayJS from \"dayjs\";\nimport { Component, MapAction, MapGetter, Prop } from \"types-vue\";\nimport Vue from \"vue\";\n\n@Component\nexport default class ContractSelector extends Vue {\n \n @MapAction(LicensingStore.Mapping)\n protected fetchAllContracts: (service: ServiceID) => Promise;\n\n @Prop({ type: Number, default: null })\n protected value: Number;\n\n @MapGetter(ReportsStore.Mapping)\n protected reportContracts: ReportContract[];\n\n @Prop({ type: Object, default: null })\n protected contract: ReportContract;\n\n @Prop({ type: Boolean, default: false })\n protected disabled: boolean;\n\n protected filteredContracts: ReportContract[] = [];\n protected data = [];\n //protected getContracts = Execution.create(() => this.fetchAllContracts(this.serviceId));\n\n async mounted() {\n this.filteredContracts = this.reportContracts.filter(c => c.orgName === this.contract.orgName && c.productName === this.contract.productName);\n this.filteredContracts.forEach(contract => {\n var contractExpiration = DayJS(contract.expiration).locale(\"es\").format(\"DD/MM/YYYY\");\n var contractCreation = DayJS(contract.creation).locale(\"es\").format(\"DD/MM/YYYY\");\n this.data.push({ label: \"#\" + contract.id, dates: contractCreation + \"-\" + contractExpiration, id: contract.id})\n })\n }\n\n protected onContractSelected(id: Contract): void {\n const extendedContractId = id || null;\n this.$emit(\"input\", extendedContractId);\n this.$emit(\"update:value\", extendedContractId);\n this.$emit(\"select\", extendedContractId);\n this.$emit(\"change\", extendedContractId);\n }\n}\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./ContractSelector.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./ContractSelector.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ContractSelector.vue?vue&type=template&id=3f674ba7&\"\nimport script from \"./ContractSelector.ts?vue&type=script&lang=ts&\"\nexport * from \"./ContractSelector.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConsoleHub.vue?vue&type=style&index=0&lang=scss&\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmoryHub.vue?vue&type=style&index=0&id=3bc13fe3&lang=scss&scoped=true&\"","import { ElNotificationComponent, ElNotificationOptions } from \"element-ui/types/notification\";\nimport { Notification } from \"element-ui\";\n\nexport class Notify {\n\n private static readonly Offset = 50;\n\n public static Indeterminate(options: ElNotificationOptions, duration: number = 0): ElNotificationComponent {\n options.customClass ??= \"\";\n options.customClass += \" is-indeterminate\";\n return Notification({ showClose: false, ...Notify.MergeDefaults(options), iconClass: \"el-icon-loading\", duration });\n }\n\n public static Create(options: ElNotificationOptions): ElNotificationComponent {\n return Notification(Notify.MergeDefaults(options));\n }\n\n public static Info(options: ElNotificationOptions): ElNotificationComponent {\n options.customClass ??= \"\";\n options.customClass += \" is-info\";\n return Notification.info(Notify.MergeDefaults(options));\n }\n\n public static Success(options: ElNotificationOptions): ElNotificationComponent {\n options.customClass ??= \"\";\n options.customClass += \" is-success\";\n return Notification.success(Notify.MergeDefaults(options));\n }\n\n public static Warning(options: ElNotificationOptions): ElNotificationComponent {\n options.customClass ??= \"\";\n options.customClass += \" is-warning\";\n return Notification.warning(Notify.MergeDefaults(options));\n }\n\n public static Error(options: ElNotificationOptions): ElNotificationComponent {\n options.customClass ??= \"\";\n options.customClass += \" is-error\";\n return Notification.error(Notify.MergeDefaults(options));\n }\n\n public static CloseAll() {\n (Notification as any).closeAll();\n }\n\n private static MergeDefaults(options: ElNotificationOptions) {\n const isTop = !options.position || options.position.startsWith(\"top\");\n return { ...options, offset: isTop ? Notify.Offset : 0 };\n }\n}","import LicensingStore from \"@Module/Licensing/Store/Licensing.store\";\nimport NotificationsOutboxStore from \"@Module/Notifications/Store/NotificationsOutbox.store\";\nimport NotificationsInboxStore from \"@Module/Notifications/Store/NotificationsInbox.store\";\nimport ResourcesStore from \"@Module/Resources/Store/Resources.store\";\nimport TrialStore from \"@Module/Trial/Store/Trial.store\";\nimport UsersStore from \"@Module/Users/Store/Users.store\";\nimport EmoryBackupsStore from \"@Service/Emory/Store/EmoryBackups.store\";\nimport { Component, MapAction } from \"types-vue\";\nimport Vue from \"vue\";\n\n@Component\nexport default class StateCleanerMixin extends Vue {\n\n @MapAction(TrialStore.Mapping)\n protected clearTrialStore: () => Promise;\n\n @MapAction(ResourcesStore.Mapping)\n protected clearResourcesStore: () => Promise;\n\n @MapAction(LicensingStore.Mapping)\n protected clearLicensingStore: () => Promise;\n\n @MapAction(EmoryBackupsStore.Mapping)\n protected clearEmoryBackupsStore: () => Promise;\n \n @MapAction(UsersStore.Mapping)\n protected clearUsersStore: () => Promise;\n\n @MapAction(NotificationsInboxStore.Mapping)\n protected clearNotificationInboxStore: () => Promise;\n\n @MapAction(NotificationsOutboxStore.Mapping)\n protected clearNotificationsStore: () => Promise;\n\n protected async clearState() {\n await this.clearTrialStore();\n await this.clearResourcesStore();\n await this.clearLicensingStore();\n await this.clearEmoryBackupsStore();\n await this.clearNotificationInboxStore();\n await this.clearNotificationsStore();\n await this.clearUsersStore();\n }\n\n}","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AdminCreateContractDialog.vue?vue&type=style&index=0&id=54cc2e0d&lang=scss&scoped=true&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FiltersCollapse.vue?vue&type=style&index=0&lang=scss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"backup-history-filters space-y-8\"},[_c('core.details',{attrs:{\"label\":\"Cloud Provider\"}},[_c('el-select',{staticClass:\"w-full\",attrs:{\"disabled\":_vm.disabled,\"size\":_vm.size,\"placeholder\":\"Select cloud providers\",\"no-match-text\":\"No matching cloud provider\",\"default-first-option\":\"\",\"filterable\":\"\",\"clearable\":\"\",\"multiple\":\"\"},model:{value:(_vm.value.types),callback:function ($$v) {_vm.$set(_vm.value, \"types\", $$v)},expression:\"value.types\"}},_vm._l((_vm.allCloudProviders),function(provider){return _c('el-option',{key:provider.value,attrs:{\"label\":provider.label,\"value\":provider.value}})}),1)],1),_c('core.details',{attrs:{\"label\":\"Status\"}},[_c('el-select',{staticClass:\"w-full\",attrs:{\"disabled\":_vm.disabled,\"size\":_vm.size,\"placeholder\":\"Select one or more status\",\"no-match-text\":\"No matching backup status\",\"default-first-option\":\"\",\"filterable\":\"\",\"clearable\":\"\",\"multiple\":\"\"},model:{value:(_vm.value.status),callback:function ($$v) {_vm.$set(_vm.value, \"status\", $$v)},expression:\"value.status\"}},_vm._l((_vm.allBackupStatus),function(status){return _c('el-option',{key:status,attrs:{\"label\":_vm._f(\"capitalize\")(status),\"value\":status}})}),1)],1),_c('core.details',{attrs:{\"label\":\"Start Date\"}},[_c('div',{staticClass:\"flex flex-wrap container-x-4 container-y-4\"},[_c('el-date-picker',{staticClass:\"date-picker flex-1\",attrs:{\"disabled\":_vm.disabled,\"size\":_vm.size,\"align\":\"right\",\"type\":\"datetime\",\"format\":\"MM/dd/yyyy HH:mm:ss\",\"prefix-icon\":\"el-icon-date\",\"picker-options\":_vm.datePickerOptions,\"placeholder\":\"Minimum\"},model:{value:(_vm.value.startDate.min),callback:function ($$v) {_vm.$set(_vm.value.startDate, \"min\", $$v)},expression:\"value.startDate.min\"}}),_c('el-date-picker',{staticClass:\"date-picker flex-1\",attrs:{\"disabled\":_vm.disabled,\"size\":_vm.size,\"align\":\"right\",\"type\":\"datetime\",\"format\":\"MM/dd/yyyy HH:mm:ss\",\"prefix-icon\":\"el-icon-date\",\"picker-options\":_vm.datePickerOptions,\"placeholder\":\"Maximum\"},model:{value:(_vm.value.startDate.max),callback:function ($$v) {_vm.$set(_vm.value.startDate, \"max\", $$v)},expression:\"value.startDate.max\"}})],1)]),_c('core.details',{attrs:{\"label\":\"End Date\"}},[_c('div',{staticClass:\"flex flex-wrap container-x-4 container-y-4\"},[_c('el-date-picker',{staticClass:\"date-picker flex-1\",attrs:{\"disabled\":_vm.disabled,\"size\":_vm.size,\"align\":\"right\",\"type\":\"datetime\",\"format\":\"MM/dd/yyyy HH:mm:ss\",\"prefix-icon\":\"el-icon-date\",\"picker-options\":_vm.datePickerOptions,\"placeholder\":\"Minimum\"},model:{value:(_vm.value.endDate.min),callback:function ($$v) {_vm.$set(_vm.value.endDate, \"min\", $$v)},expression:\"value.endDate.min\"}}),_c('el-date-picker',{staticClass:\"date-picker flex-1\",attrs:{\"disabled\":_vm.disabled,\"size\":_vm.size,\"align\":\"right\",\"type\":\"datetime\",\"format\":\"MM/dd/yyyy HH:mm:ss\",\"prefix-icon\":\"el-icon-date\",\"picker-options\":_vm.datePickerOptions,\"placeholder\":\"Maximum\"},model:{value:(_vm.value.endDate.max),callback:function ($$v) {_vm.$set(_vm.value.endDate, \"max\", $$v)},expression:\"value.endDate.max\"}})],1)]),_c('core.details',{attrs:{\"label\":\"Total Size\"}},[_c('div',{staticClass:\"flex flex-wrap container-x-4 container-y-4\"},[_c('el-input',{staticClass:\"size-input flex-1\",attrs:{\"disabled\":_vm.disabled,\"size\":_vm.size,\"prefix-icon\":\"el-icon-takeaway-box\",\"placeholder\":\"Minimum\",\"clearable\":\"\"},model:{value:(_vm.value.size.min.value),callback:function ($$v) {_vm.$set(_vm.value.size.min, \"value\", $$v)},expression:\"value.size.min.value\"}},[_c('el-tooltip',{attrs:{\"slot\":\"append\",\"placement\":\"top\",\"open-delay\":250,\"effect\":\"light\",\"enterable\":false,\"content\":_vm.getSizeUnitFullName(_vm.value.size.min.unit)},slot:\"append\"},[_c('el-select',{staticClass:\"unit-select\",attrs:{\"disabled\":_vm.disabled,\"size\":_vm.size},model:{value:(_vm.value.size.min.unit),callback:function ($$v) {_vm.$set(_vm.value.size.min, \"unit\", $$v)},expression:\"value.size.min.unit\"}},_vm._l((_vm.allSizeUnits),function(unit){return _c('el-tooltip',{key:unit,attrs:{\"placement\":\"left\",\"open-delay\":250,\"effect\":\"light\",\"content\":_vm.getSizeUnitFullName(unit)}},[_c('el-option',{attrs:{\"label\":unit,\"value\":unit}})],1)}),1)],1)],1),_c('el-input',{staticClass:\"size-input flex-1\",attrs:{\"disabled\":_vm.disabled,\"size\":_vm.size,\"prefix-icon\":\"el-icon-takeaway-box\",\"placeholder\":\"Maximum\",\"clearable\":\"\"},model:{value:(_vm.value.size.max.value),callback:function ($$v) {_vm.$set(_vm.value.size.max, \"value\", $$v)},expression:\"value.size.max.value\"}},[_c('el-tooltip',{attrs:{\"slot\":\"append\",\"placement\":\"top\",\"open-delay\":250,\"effect\":\"light\",\"enterable\":false,\"content\":_vm.getSizeUnitFullName(_vm.value.size.max.unit)},slot:\"append\"},[_c('el-select',{staticClass:\"unit-select\",attrs:{\"disabled\":_vm.disabled,\"size\":_vm.size},model:{value:(_vm.value.size.max.unit),callback:function ($$v) {_vm.$set(_vm.value.size.max, \"unit\", $$v)},expression:\"value.size.max.unit\"}},_vm._l((_vm.allSizeUnits),function(unit){return _c('el-tooltip',{key:unit,attrs:{\"placement\":\"left\",\"open-delay\":250,\"effect\":\"light\",\"content\":_vm.getSizeUnitFullName(unit)}},[_c('el-option',{attrs:{\"label\":unit,\"value\":unit}})],1)}),1)],1)],1)],1)]),_c('core.details',{attrs:{\"label\":\"Levels\"}},[_c('div',{staticClass:\"flex flex-wrap container-x-8 container-y-8\"},[_c('el-select',{staticClass:\"w-full\",attrs:{\"size\":_vm.size,\"placeholder\":\"Select one or more levels\",\"remote\":\"\",\"remote-method\":function (text) { return _vm.levelsSearchText = text || null; },\"loading\":_vm.getBackupLevels.loading,\"disabled\":_vm.disabled || (_vm.backupLevels.length === 0 && _vm.getBackupLevels.loading),\"value-key\":\"id\",\"no-data-text\":\"There are no levels available.\",\"no-match-text\":\"No matching backup level\",\"default-first-option\":\"\",\"reserve-keyword\":\"\",\"clearable\":\"\",\"multiple\":\"\",\"filterable\":\"\"},on:{\"visible-change\":_vm.onLevelsDropdownVisibleChange},model:{value:(_vm.value.levels),callback:function ($$v) {_vm.$set(_vm.value, \"levels\", $$v)},expression:\"value.levels\"}},[(_vm.getBackupLevels.loading)?_c('core.loading',{attrs:{\"slot\":\"empty\",\"label\":\"Loading levels...\",\"compact\":\"\",\"no-icon\":\"\"},slot:\"empty\"}):_vm._e(),(_vm.getBackupLevels.loading)?_c('i',{staticClass:\"el-icon-loading ml-4\",staticStyle:{\"font-size\":\"16px\"},attrs:{\"slot\":\"prefix\"},slot:\"prefix\"}):_vm._e(),_vm._l((_vm.groupedBackupLevels),function(groupLevels,platform){return _c('el-option-group',{key:platform,attrs:{\"label\":_vm._f(\"capitalize\")(platform)}},_vm._l((groupLevels),function(level){return _c('el-option',{key:level.id,attrs:{\"label\":level.label,\"value\":level.id}})}),1)})],2),_c('el-tooltip',{attrs:{\"open-delay\":500,\"effect\":\"light\",\"placement\":\"right\",\"content\":\"Includes all log levels in the results\"}},[_c('el-checkbox',{staticClass:\"w-full\",attrs:{\"disabled\":_vm.disabled,\"size\":_vm.size,\"label\":\"Include log levels\",\"border\":\"\"},model:{value:(_vm.value.showLogLevel),callback:function ($$v) {_vm.$set(_vm.value, \"showLogLevel\", $$v)},expression:\"value.showLogLevel\"}})],1)],1)])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { CloudProviderType } from \"@Service/Emory/Models/Backups/CloudProvider/BackupCloudProvider.model\";\nimport { BackupFilters } from \"@Service/Emory/Models/Backups/BackupFilters.model\";\nimport { UISize } from \"@Service/Settings/Store/AppSettings/AppSettings.state\";\nimport { BackupLevel } from \"@Service/Emory/Models/Backups/BackupLevel.model\";\nimport { BackupStatus } from \"@Service/Emory/Models/Backups/Backup.model\";\nimport EmoryBackupsStore from \"@Service/Emory/Store/EmoryBackups.store\";\nimport { Component, MapAction, MapGetter, Prop } from \"types-vue\";\nimport { DatePickerOptions } from \"element-ui/types/date-picker\";\nimport { FileSizeUnit } from \"@Core/Utils/FileSize\";\nimport { Execution } from \"@Core/Models/Execution\";\nimport { Utils } from \"@Core/Utils/Utils\";\nimport DayJS from \"dayjs\";\nimport Vue from \"vue\";\n\n@Component\nexport default class EmoryBackupFiltersPanel extends Vue {\n\n @Prop({ type: Object, required: true })\n protected value: BackupFilters;\n\n @Prop({ type: String, default: null })\n protected size: UISize;\n\n @Prop({ type: Boolean, default: false })\n protected disabled: boolean;\n\n @MapGetter(EmoryBackupsStore.Mapping)\n protected backupLevels: BackupLevel[];\n\n @MapAction(EmoryBackupsStore.Mapping)\n private fetchBackupLevels: () => Promise;\n\n protected allBackupStatus = BackupStatus.All;\n protected allSizeUnits = FileSizeUnit.All;\n protected allCloudProviders = CloudProviderType.All.map(provider => ({\n label: CloudProviderType.nameOf(provider),\n value: provider\n }));\n protected getSizeUnitFullName = FileSizeUnit.getUnitFullName;\n protected getBackupLevels = Execution.create(() => this.fetchBackupLevels());\n\n protected levelsSearchText: string = null;\n\n protected mounted() {\n this.getBackupLevels.run();\n }\n\n protected get groupedBackupLevels(): Record {\n const filteredLevels = this.backupLevels.filter(level => {\n if (level.isLog) { return false; }\n const text = this.levelsSearchText?.toLowerCase() || \"\";\n return level.name.toLowerCase().includes(text) || level.label.toLowerCase().includes(text);\n });\n return Utils.groupBy(filteredLevels, level => level.platform);\n }\n\n protected async onLevelsDropdownVisibleChange(visible: boolean) {\n if (visible) { return; }\n await Utils.sleep(200);\n this.levelsSearchText = null;\n }\n\n protected get datePickerOptions(): DatePickerOptions {\n return {\n firstDayOfWeek: 1,\n disabledDate: (time) => time.getTime() > Date.now(),\n shortcuts: [{\n text: '30 min. ago',\n onClick: (picker) => picker.$emit(\"pick\", DayJS().subtract(30, \"minutes\").toDate())\n }, {\n text: 'An hour ago',\n onClick: (picker) => picker.$emit(\"pick\", DayJS().subtract(1, \"hour\").toDate())\n }, {\n text: 'A day ago',\n onClick: (picker) => picker.$emit(\"pick\", DayJS().subtract(1, \"day\").toDate())\n }, {\n text: '2 days ago',\n onClick: (picker) => picker.$emit(\"pick\", DayJS().subtract(2, \"days\").toDate())\n }, {\n text: '3 days ago',\n onClick: (picker) => picker.$emit(\"pick\", DayJS().subtract(3, \"days\").toDate())\n }, {\n text: 'A week ago',\n onClick: (picker) => picker.$emit(\"pick\", DayJS().subtract(1, \"week\").toDate())\n }]\n }\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./EmoryBackupFiltersPanel.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./EmoryBackupFiltersPanel.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./EmoryBackupFiltersPanel.vue?vue&type=template&id=0bde025e&scoped=true&\"\nimport script from \"./EmoryBackupFiltersPanel.ts?vue&type=script&lang=ts&\"\nexport * from \"./EmoryBackupFiltersPanel.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./EmoryBackupFiltersPanel.vue?vue&type=style&index=0&id=0bde025e&lang=scss&scoped=true&\"\nimport style1 from \"./EmoryBackupFiltersPanel.vue?vue&type=style&index=1&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0bde025e\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserMenu.vue?vue&type=style&index=0&id=171aafbd&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('core.columns-layout',{staticClass:\"packages-view\",attrs:{\"show-right\":!_vm.$mq.lg}},[_c('div',[_c('core.title',{staticClass:\"flex-0 title-resources\"},[_vm._t(\"title\",[_c('core.label',{attrs:{\"icon-size\":\"18px\",\"icon-spacing\":\".6rem\"}},[_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"archive-outline\"},slot:\"icon\"}),_c('H1',[_vm._v(\"Documentation\")])],1)])],2),_c('div',{staticClass:\"resource-container\"},[_c('div',{key:\"docs\",staticClass:\"cards-resources\",attrs:{\"label\":\"Documentation\",\"name\":\"docs\"}},_vm._l((_vm.docResources),function(docResource){return _c('div',[_c('core.card',{staticClass:\"card-resource\",attrs:{\"title\":docResource.label}},[_c('core.empty',{attrs:{\"slot\":\"empty\",\"description\":\"There are no resources yet.\"},slot:\"empty\"}),(!!docResource.meta && docResource.meta.download)?_c('el-button',{attrs:{\"disabled\":_vm.disabled,\"type\":\"text\",\"size\":\"mini\"},on:{\"click\":function($event){return _vm.customResourceSelected(docResource)}}},[_vm._v(\"Download\")]):_c('el-button',{staticClass:\"resources-button\",attrs:{\"disabled\":_vm.disabled,\"type\":\"text\"},on:{\"click\":function($event){return _vm.customResourceSelected(docResource)}}},[_vm._v(\"View online\")])],1)],1)}),0)])],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport { ResourcePermissions } from '@Module/Resources/Models/ResourcePermissions.model';\nimport { Permission } from '@Module/Auth/Models/Roles/Permissions.model';\nimport { CustomHubResource } from '@Core/Models/CustomHubResource.model';\nimport { AccessRole } from '@Module/Auth/Models/Roles/AccessRole.model';\nimport { SessionToken } from '@Module/Auth/Models/SessionToken.model';\nimport ResourcesStore from '@Module/Resources/Store/Resources.store';\nimport { Component, MapAction, MapGetter, Watch } from 'types-vue';\nimport OrgsStore from '@Module/Orgs/Store/Orgs.store';\nimport AuthStore from '@Module/Auth/Store/Auth.store';\nimport { Execution } from '@Core/Models/Execution';\nimport { ServiceID } from '@Service/ServiceID';\nimport Vue from 'vue';\n\n\nconst enum CustomResourcesType {\n OnlineDocs = \"docs.online\"\n}\n\n@Component\nexport default class PreinstalledDocumentation extends Vue {\n\n @MapGetter(AuthStore.Mapping)\n protected sessionToken: SessionToken;\n\n @MapGetter(AuthStore.Mapping)\n protected accessRole: AccessRole;\n\n @MapGetter(OrgsStore.Mapping)\n protected noOrganization: boolean;\n\n @MapGetter(ResourcesStore.Mapping)\n protected abapSuiteResourcePermissions: ResourcePermissions;\n \n @MapAction(AuthStore.Mapping)\n protected openAuthDialog: (context?: string) => Promise;\n\n @MapAction(ResourcesStore.Mapping)\n protected fetchResourcePermissions: (service: ServiceID) => Promise;\n\n protected serviceId: ServiceID = ServiceID.AbapSuite;\n protected getResPermissions = Execution\n .create(() => this.fetchResourcePermissions(this.serviceId));\n\n @Watch(\"sessionToken\", { immediate: true })\n protected async onSessionChange(token: SessionToken) {\n if (!!token && !token.hasExpired && !this.noOrganization) {\n this.getResPermissions.run();\n } \n }\n\n protected get docResources(): CustomHubResource[] {\n return [{ \n id: CustomResourcesType.OnlineDocs, \n label: \"Service Documentation (Online)\",\n meta: { url: `${process.env.VUE_APP_SERVICE_URL_DOCS}/amis` }\n }]\n }\n\n protected customResourceSelected(item: CustomHubResource) {\n if (!!item.meta.url) {\n window.open(item.meta.url);\n }\n }\n\n protected signInForDownloads() {\n const ctx = \"Sign into your account to download resources from this service.\";\n this.openAuthDialog(ctx);\n }\n\n protected get resourceTabsDisabled(): boolean {\n return this.getResPermissions.loading || this.downloadsNotAllowed;\n }\n\n protected get downloadsNotAllowed(): boolean {\n return !!this.abapSuiteResourcePermissions && !this.abapSuiteResourcePermissions.canDownload;\n }\n\n protected openIssueManager() {\n window.open(process.env.VUE_APP_SERVICE_URL_ISSUES);\n }\n\n protected get permissions() {\n return {\n CanPurchaseContracts: this.accessRole.can(this.serviceId, Permission.PurchaseContract),\n CanManageIssues: this.accessRole.can(this.serviceId, Permission.ManageIssues),\n CanDownloadPackages: this.accessRole.can(this.serviceId, Permission.DownloadPackages),\n CanDownloadOtherPackages: this.accessRole.can(this.serviceId, Permission.DownloadOtherResources)\n }\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./PreinstalledDocumentation.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./PreinstalledDocumentation.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PreinstalledDocumentation.vue?vue&type=template&id=4dde4477&\"\nimport script from \"./PreinstalledDocumentation.ts?vue&type=script&lang=ts&\"\nexport * from \"./PreinstalledDocumentation.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./PreinstalledDocumentation.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',[_vm._t(\"reference\",null,{\"open\":_vm.open,\"close\":_vm.close,\"toggle\":_vm.toggle}),_c('el-drawer',{staticClass:\"drawer\",class:_vm.drawerClass,style:(_vm.drawerStyle),attrs:{\"append-to-body\":_vm.appendToBody,\"before-close\":_vm.beforeClose,\"close-on-press-escape\":_vm.closeOnPressEscape,\"custom-class\":_vm.customClass,\"destroy-on-close\":_vm.destroyOnClose,\"modal\":_vm.modal,\"modal-append-to-body\":_vm.modalAppendToBody,\"direction\":_vm.direction,\"show-close\":_vm.showClose,\"size\":_vm.size,\"title\":_vm.title,\"visible\":_vm.drawerVisible,\"wrapper-closable\":_vm.wrapperClosable,\"with-header\":_vm.withHeader},on:{\"update:visible\":function($event){_vm.drawerVisible=$event},\"open\":function($event){return _vm.$emit('open')},\"opened\":function($event){return _vm.$emit('opened')},\"close\":function($event){return _vm.$emit('close')},\"closed\":function($event){return _vm.$emit('closed')}}},[_vm._t(\"title\",null,{\"slot\":\"title\",\"open\":_vm.open,\"close\":_vm.close,\"toggle\":_vm.toggle}),_vm._t(\"default\",null,{\"open\":_vm.open,\"close\":_vm.close,\"toggle\":_vm.toggle})],2)],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Prop, Watch } from \"types-vue\";\nimport Crypto from \"crypto\";\nimport Vue from \"vue\";\n\n@Component\nexport default class Drawer extends Vue {\n\n @Prop({ type: Boolean, default: false })\n protected appendToBody: boolean;\n\n @Prop({ type: Function, default: (close: VoidFunction) => close() })\n protected beforeClose: (close: VoidFunction) => void;\n\n @Prop({ type: Boolean, default: true })\n protected closeOnPressEscape: boolean;\n\n @Prop({ type: String, default: null })\n protected customClass: string;\n\n @Prop({ type: Boolean, default: false })\n protected destroyOnClose: boolean;\n\n @Prop({ type: Boolean, default: true })\n protected modal: boolean;\n\n @Prop({ type: Boolean, default: true })\n protected modalAppendToBody: boolean;\n\n @Prop({ type: String, default: \"rtl\" })\n protected direction: \"rtl\" | \"ltr\" | \"ttb\" | \"btt\";\n\n @Prop({ type: Boolean, default: true })\n protected showClose: boolean;\n\n @Prop({ default: 320 })\n protected size: number | string;\n\n @Prop({ type: String, default: null })\n protected title: string;\n\n @Prop({ type: Boolean, default: false })\n protected visible: boolean;\n\n @Prop({ type: Boolean, default: true })\n protected wrapperClosable: boolean;\n\n @Prop({ type: Boolean, default: true })\n protected withHeader: boolean;\n\n @Prop({ type: Boolean, default: true })\n protected offset: boolean;\n \n private uid: string = Crypto.randomBytes(16).toString(\"hex\");\n protected static drawers: string[] = [];\n protected drawerVisible: boolean = false;\n protected marginY: string = \"0\";\n\n @Watch(\"visible\", { immediate: true })\n protected onVisibilityChange(visible: boolean) {\n // this.updateDrawersOffset(visible);\n this.drawerVisible = visible;\n }\n\n protected open() {\n this.drawerVisible = true;\n }\n\n protected close() {\n this.drawerVisible = false;\n }\n\n protected toggle() {\n this.drawerVisible = !this.drawerVisible;\n }\n\n private updateDrawersOffset(visible: boolean) {\n if (visible) { \n this.marginY = `-${Drawer.drawers.length * 6}px`;\n Drawer.drawers.push(this.uid); \n } else { \n const index = Drawer.drawers.indexOf(this.uid);\n if (index !== -1) {\n Drawer.drawers.splice(index, 1); \n } \n }\n }\n\n @Watch(\"drawerVisible\")\n protected onInnerVisibilityChange(visible: boolean) {\n this.$emit(\"update:visible\", visible);\n }\n\n protected get drawerClass() {\n return {\n \"is-offseaat\": this.offset\n }\n }\n\n protected get drawerStyle() {\n return {\n \"margin-top\": this.marginY,\n \"margin-bottom\": this.marginY\n }\n }\n\n}","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./Drawer.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./Drawer.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Drawer.vue?vue&type=template&id=b022d06e&\"\nimport script from \"./Drawer.ts?vue&type=script&lang=ts&\"\nexport * from \"./Drawer.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { ConsoleRoute } from \"@Core/Models/ConsoleRoute\";\nimport NavigationStore from \"@Core/Store/Navigation/Navigation.store\";\nimport { Component, MapGetter, Prop, Watch } from \"types-vue\";\nimport Vue from \"vue\";\n\n@Component\nexport default class RedirectCountdownMixin extends Vue {\n\n @Prop({ type: Boolean, default: false })\n protected disabled: boolean;\n \n @Prop({ type: Number, default: 5 })\n protected seconds: number;\n\n @Prop({ type: String, default: \"/\" })\n protected redirectTarget: string;\n\n @Prop({ type: Function, default: null })\n protected redirectMethod: VoidFunction;\n\n @MapGetter(NavigationStore.Mapping)\n protected previousRoute?: ConsoleRoute;\n\n protected remainingSeconds: number = null;\n protected timeout: NodeJS.Timeout;\n\n protected created() {\n this.remainingSeconds = this.seconds;\n }\n\n @Watch(\"disabled\", { immediate: true })\n protected onDisabledStateChange(disabled: boolean) {\n if (!disabled) {\n this.resume();\n } else {\n this.pause();\n }\n }\n\n private async countDown() {\n if (this.disabled) {\n this.pause();\n }\n\n this.remainingSeconds -= 1;\n if (this.remainingSeconds < 1) {\n this.redirect();\n }\n }\n\n public resume() {\n this.pause();\n this.timeout = setInterval(this.countDown, 1000);\n }\n\n public pause() {\n if (!!this.timeout) {\n clearInterval(this.timeout);\n this.timeout = null;\n }\n }\n\n public stop() {\n this.pause();\n this.remainingSeconds = this.seconds;\n }\n\n public redirect() {\n this.stop();\n\n if (this.redirectMethod) {\n this.redirectMethod();\n } else if (this.previousRoute?.path === this.redirectTarget) {\n this.$router.back();\n } else {\n this.$router.replace(this.redirectTarget).catch(e => e);\n }\n }\n\n protected beforeDestroy() {\n this.stop();\n }\n\n}","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmoryBackupHistory.vue?vue&type=style&index=0&id=79f12260&lang=scss&scoped=true&\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NotificationSummaryContainer.vue?vue&type=style&index=0&lang=scss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('core.columns-layout',{staticClass:\"licensing-summary-view\",attrs:{\"embedded\":\"\",\"show-right\":!_vm.$mq.lg}},[_c('core.query-param',{attrs:{\"name\":\"expand\",\"type\":\"number-array\"},model:{value:(_vm.expandedRows),callback:function ($$v) {_vm.expandedRows=$$v},expression:\"expandedRows\"}}),_c('core.query-param',{attrs:{\"name\":\"search\",\"delay\":400},model:{value:(_vm.searchText),callback:function ($$v) {_vm.searchText=$$v},expression:\"searchText\"}}),(!!_vm.getReportContracts.error)?_c('core.alert',{attrs:{\"type\":\"error\",\"title\":\"Summary error\",\"description\":_vm.getReportContracts.error.message,\"closable\":false}},[_c('el-button',{attrs:{\"slot\":\"footer\",\"icon\":\"el-icon-refresh-right\",\"type\":\"default\",\"size\":\"mini\"},on:{\"click\":_vm.fetchReportContracts},slot:\"footer\"},[_c('span',[_vm._v(\"Try again\")])])],1):_c('div',{staticClass:\"space-y-16\"},[(_vm.permissions.CanListFinancialInfo)?_c('core.card',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.hasContracts && _vm.getReportContracts.loading),expression:\"hasContracts && getReportContracts.loading\"}],attrs:{\"element-loading-text\":\"Fetching contracts...\",\"bordered\":_vm.isPlainUi,\"no-padding\":\"\"}},[_c('div',{staticClass:\"flex space-x-8 p-x-16 pt-16\"},[_c('el-input',{staticClass:\"free-text-filter flex-2\",attrs:{\"disabled\":_vm.firstLoad,\"prefix-icon\":\"el-icon-search\",\"placeholder\":\"Filter contracts\",\"clearable\":\"\"},model:{value:(_vm.searchText),callback:function ($$v) {_vm.searchText=$$v},expression:\"searchText\"}}),_c('orgs.org-selector',{staticClass:\"orgs-selector flex-3\",attrs:{\"disabled\":_vm.firstLoad,\"placeholder\":\"Filter by organization\",\"clearable\":\"\",\"multiple\":\"\"},model:{value:(_vm.filters.orgs),callback:function ($$v) {_vm.$set(_vm.filters, \"orgs\", $$v)},expression:\"filters.orgs\"}}),(_vm.$mq.lg)?_c('core.filters-drawer',{attrs:{\"disabled\":_vm.firstLoad,\"clear-disabled\":!_vm.filters.isFiltering},on:{\"clear\":_vm.resetFilters}},[_c('div',{staticClass:\"report-contracts\"},[_c('div',{staticClass:\"contracts-report\",attrs:{\"slot\":\"right\"},slot:\"right\"},[_c('reports.report-contracts-filter-panel',{attrs:{\"disabled\":!_vm.hasContracts},model:{value:(_vm.filters),callback:function ($$v) {_vm.filters=$$v},expression:\"filters\"}})],1),_c('el-divider',[_vm._v(\"Financial Report\")]),_c('licensing.licensing-status-breakdown',{staticClass:\"p-x-8\",attrs:{\"status\":_vm.contractsStatus,\"loading\":_vm.getReportContracts.loading,\"bordered\":\"\"}})],1)]):_vm._e()],1),_c('el-table',{ref:\"table\",attrs:{\"data\":_vm.filteredReportContracts,\"empty-text\":\" \",\"tooltip-effect\":\"light\",\"default-sort\":{ prop: 'expiration', order: 'ascending' },\"row-key\":\"id\",\"expand-row-keys\":_vm.expandedRowIds},on:{\"expand-change\":_vm.toggleExpansion,\"row-click\":_vm.toggleExpansion}},[_c('el-table-column',{attrs:{\"type\":\"expand\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar row = ref.row;\nreturn _c('div',{staticClass:\"space-y-16\"},[_c('H2',[_vm._v(\"Contract #\"+_vm._s(row.id)+\" \"),(row.isPoc === true)?_c('el-tag',{staticClass:\"contract-poc\",attrs:{\"size\":\"small\",\"effect\":\"dark\",\"type\":\"info\",\"disable-transitions\":\"\"}},[_c('span',[_vm._v(\" POC \")])]):_vm._e(),(row.hideMRR === true)?_c('el-tag',{staticClass:\"contract-poc\",attrs:{\"size\":\"small\",\"effect\":\"dark\",\"type\":\"info\",\"disable-transitions\":\"\"}},[_c('span',[_vm._v(\" Hidden MRR \")])]):_vm._e(),(row.autorenewal === true)?_c('el-tag',{staticClass:\"contract-poc\",attrs:{\"size\":\"small\",\"effect\":\"dark\",\"type\":\"info\",\"disable-transitions\":\"\"}},[_c('span',[_vm._v(\" Auto Renewal \")])]):_vm._e()],1),_c('reports.reports-dialog',{ref:\"reportsDialog\",attrs:{\"contract\":row}}),_c('reports.report-contracts-expand',{attrs:{\"reportContract\":row},on:{\"select-contract\":_vm.viewContract}}),_c('core.superadmin-button',{attrs:{\"size\":\"small\"},on:{\"click\":function($event){return _vm.$refs.reportsDialog.open(row)}}},[_c('span',[_vm._v(\"Manage Contract Info\")])])],1)}}],null,false,4034410974)}),(_vm.firstLoad)?_c('core.loading',{attrs:{\"slot\":\"empty\",\"label\":\"Fetching contracts...\",\"height\":\"7.2rem\"},slot:\"empty\"}):(_vm.filteredReportContracts.length === 0 && !_vm.getReportContracts.loading)?_c('core.empty',{attrs:{\"slot\":\"empty\"},slot:\"empty\"},[_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"receipt-outline\"},slot:\"icon\"}),_c('div',{staticClass:\"flex-y space-y-16 items-center\"},[_c('span',[_vm._v(\"No contract meets your filtering criteria.\")]),_c('el-button',{staticClass:\"w-max-content\",attrs:{\"size\":\"small\",\"icon\":\"el-icon-delete\"},on:{\"click\":_vm.resetFilters}},[_c('span',[_vm._v(\"Clear filters\")])])],1)],1):_vm._e(),_c('el-table-column',{attrs:{\"prop\":\"status.phase\",\"label\":\"Status\",\"sortable\":_vm.hasContracts,\"min-width\":\"90\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar row = ref.row;\nreturn _c('licensing.licensing-status-tag',{attrs:{\"status\":row.status}})}}],null,false,4134371429)}),_c('el-table-column',{attrs:{\"prop\":\"origin\",\"label\":\"Origin\",\"sortable\":_vm.hasContracts,\"min-width\":\"150\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar row = ref.row;\nreturn _c('el-tag',{attrs:{\"size\":\"mini\",\"effect\":\"dark\",\"type\":\"info\",\"disable-transitions\":\"\"}},[_c('span',[_vm._v(_vm._s(_vm.originName(row.origin)))])])}}],null,false,1163303073)}),_c('el-table-column',{attrs:{\"prop\":\"service\",\"label\":\"Service\",\"sortable\":_vm.hasContracts,\"sort-method\":function (a, b) { return _vm.serviceName(a.productName).localeCompare(_vm.serviceName(b.productName)); },\"min-width\":\"130\",\"show-overflow-tooltip\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar row = ref.row;\nreturn _c('span',{},[_vm._v(_vm._s(_vm.serviceName(row.productName)))])}}],null,false,1723586015)}),_c('el-table-column',{attrs:{\"prop\":\"orgName\",\"label\":\"Organization\",\"sortable\":_vm.hasContracts,\"min-width\":\"150\",\"show-overflow-tooltip\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar row = ref.row;\nreturn [(!row.orgName)?_c('span',{staticClass:\"text-disabled\"},[_vm._v(\"N/A\")]):_c('span',{staticClass:\"w-full\"},[_vm._v(_vm._s(row.orgName)+\" \")])]}}],null,false,964045588)}),_c('el-table-column',{attrs:{\"prop\":\"creation\",\"label\":\"Creation\",\"sortable\":_vm.hasContracts,\"sort-method\":function (a, b) { return a.creation.diff(b.creation); },\"min-width\":\"135\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar row = ref.row;\nreturn _c('core.date-label',{attrs:{\"format\":\"MM/DD/YY\",\"date\":row.creation}})}}],null,false,1984201359)}),_c('el-table-column',{attrs:{\"prop\":\"expiration\",\"label\":\"Expiration\",\"sortable\":_vm.hasContracts,\"sort-method\":function (a, b) { return a.expiration.diff(b.expiration); },\"min-width\":\"135\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar row = ref.row;\nreturn _c('core.date-label',{attrs:{\"format\":\"MM/DD/YY\",\"date\":row.expiration}})}}],null,false,601374253)}),_c('el-table-column',{attrs:{\"prop\":\"numLicenses\",\"label\":\"Licenses\",\"sortable\":_vm.hasContracts,\"width\":\"120\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar row = ref.row;\nreturn _c('span',{staticClass:\"space-x-4\"},[_c('span',{staticStyle:{\"font-weight\":\"600\",\"font-size\":\"20px\"}},[_vm._v(_vm._s(row.numLicenses))]),_c('small',[_vm._v(_vm._s(_vm._f(\"pluralize\")('license',row.numLicenses)))])])}}],null,false,2947494736)})],1)],1):_vm._e()],1),_c('div',{staticClass:\"contracts-report\",attrs:{\"slot\":\"right\"},slot:\"right\"},[_c('core.collapsable-card',{staticClass:\"mb-16\",attrs:{\"title\":'Export Financial Info'}},[_c('div',{staticClass:\"space-x-8 p-x-16 pt-16\"},[_c('el-checkbox',{staticClass:\"mb-16\",attrs:{\"label\":\"Datasource\"},model:{value:(_vm.datasourceChecked),callback:function ($$v) {_vm.datasourceChecked=$$v},expression:\"datasourceChecked\"}}),_c('el-checkbox',{staticClass:\"mb-16\",attrs:{\"label\":\"MRR\"},model:{value:(_vm.mrrChecked),callback:function ($$v) {_vm.mrrChecked=$$v},expression:\"mrrChecked\"}}),_c('el-checkbox',{staticClass:\"mb-16\",attrs:{\"label\":\"TCV\"},model:{value:(_vm.tcvChecked),callback:function ($$v) {_vm.tcvChecked=$$v},expression:\"tcvChecked\"}}),_c('el-checkbox',{staticClass:\"mb-16\",attrs:{\"label\":\"Lead Generators\"},model:{value:(_vm.leadGenChecked),callback:function ($$v) {_vm.leadGenChecked=$$v},expression:\"leadGenChecked\"}}),_c('div',[_c('core.superadmin-button',{staticClass:\"export-button\",attrs:{\"slot\":\"right\",\"size\":\"small\"},on:{\"click\":_vm.startExport},slot:\"right\"},[_c('span',[_vm._v(\"Export Reports\")])]),_c('core.superadmin-button',{staticClass:\"export-button\",attrs:{\"slot\":\"right\",\"size\":\"small\"},on:{\"click\":_vm.uploadReports},slot:\"right\"},[_c('span',[_vm._v(\"Upload Reports\")])])],1)],1),_c('div')]),_c('core.filters-collapse',{attrs:{\"filtering\":_vm.filters.isFiltering,\"bordered\":_vm.isPlainUi,\"disabled\":_vm.getReportContracts.loading},on:{\"clear\":_vm.resetFilters}},[_c('reports.report-contracts-filter-panel',{model:{value:(_vm.filters),callback:function ($$v) {_vm.filters=$$v},expression:\"filters\"}})],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Execution } from \"@Core/Models/Execution\";\nimport { IReportContractDto, IReportFiltersDto, ReportContract } from \"@Module/Reports/Models/ReportContract.model\";\nimport ReportsStore from \"@Module/Reports/Store/Reports.store\";\nimport ReportsApi from \"@Module/Reports/API/Reports.api\";\nimport { Component, MapAction, MapGetter, Watch, mixins } from \"types-vue\";\nimport { IReportContractFiltersDto, ReportContractsFilters } from \"@Module/Reports/Models/ReportContractFilters\";\nimport { ContractOrigin } from \"@Module/Licensing/Models/ContractOrigin\";\nimport { ServiceID, ServiceMap } from \"@Service/ServiceID\";\nimport { LicensingStatus } from \"@Module/Licensing/Models/LicensingStatus.model\";\nimport Debounce from \"lodash.debounce\";\nimport { Permission } from \"@Module/Auth/Models/Roles/Permissions.model\";\nimport AppSettingsStore from \"@Service/Settings/Store/AppSettings/AppSettings.store\";\nimport AuthStore from \"@Module/Auth/Store/Auth.store\";\nimport { AccessRole } from \"@Module/Auth/Models/Roles/AccessRole.model\";\nimport FileDownloadMixin from \"@Core/Mixins/FileDownload.mixin\";\n\n\ninterface FileRequestResult {\n name: string;\n content: string;\n base64: boolean;\n downloaded: boolean;\n}\n\n@Component\nexport default class ContractsReport extends mixins(FileDownloadMixin) {\n\n @MapGetter(AppSettingsStore.Mapping)\n protected isPlainUi: boolean;\n\n @MapAction(ReportsStore.Mapping)\n protected openReportsDialog: () => Promise;\n\n @MapAction(ReportsStore.Mapping)\n protected closeReportsDialog: () => Promise;\n\n @MapGetter(ReportsStore.Mapping)\n protected reportContracts: ReportContract[];\n\n @MapGetter(AuthStore.Mapping)\n protected accessRole: AccessRole;\n\n @MapAction(ReportsStore.Mapping)\n protected fetchReportContracts: (filters: ReportContractsFilters) => Promise;\n\n protected disableFiltersWatcher: VoidFunction = null;\n protected filters: ReportContractsFilters = ReportContractsFilters.create();\n protected searchText: string = null;\n protected expandedRows: number[] = [];\n protected serviceId: ServiceID = ServiceID.Console;\n protected exportResult: FileRequestResult = null;\n protected contract: ReportContract = null;\n protected mrrChecked: boolean = false;\n protected tcvChecked: boolean = false;\n protected leadGenChecked: boolean = false;\n protected datasourceChecked: boolean = false;\n\n protected filtersBackup = {\n expand: [],\n searchText: null,\n filters: ReportContractsFilters.create()\n }\n\n protected fetchExcel = Execution.create(\n (filters: IReportContractFiltersDto) => ReportsApi.getExcel(filters),\n ReportsApi\n );\n\n protected fetchMRR = Execution.create(\n () => ReportsApi.getMRR(),\n ReportsApi\n );\n\n protected fetchLeadGenReport = Execution.create(\n () => ReportsApi.getLeadGenReport(),\n ReportsApi\n );\n\n protected fetchUploadReports = Execution.create(\n () => ReportsApi.uploadReports(),\n ReportsApi\n );\n\n protected sendCorrectContract(contractID) {\n return this.reportContracts.find(contract => contract.id == contractID)\n }\n\n protected async startExport() {\n if (this.datasourceChecked) {\n const content = await this.fetchExcel.run(this.filters.toDto());\n const name = `Export-${new Date().getTime()}.zip`;\n if (!this.fetchExcel.error) {\n this.exportResult = {\n name,\n content,\n base64: true,\n downloaded: false\n };\n\n const fileName = this.exportResult.name;\n const base64 = this.exportResult.base64;\n this.downloadFile(fileName, content, { base64 });\n this.exportResult.downloaded = true;\n }\n }\n\n if (this.mrrChecked) {\n const content = await this.fetchMRR.run();\n const name = `Export-MRR.zip`;\n if (!this.fetchExcel.error) {\n this.exportResult = {\n name,\n content,\n base64: true,\n downloaded: false\n };\n\n const fileName = this.exportResult.name;\n const base64 = this.exportResult.base64;\n this.downloadFile(fileName, content, { base64 });\n this.exportResult.downloaded = true;\n }\n }\n\n if (this.tcvChecked) {\n const content = await this.fetchTCV.run();\n const name = `Export-TCV.zip`;\n if (!this.fetchExcel.error) {\n this.exportResult = {\n name,\n content,\n base64: true,\n downloaded: false\n };\n\n const fileName = this.exportResult.name;\n const base64 = this.exportResult.base64;\n this.downloadFile(fileName, content, { base64 });\n this.exportResult.downloaded = true;\n }\n }\n\n if (this.leadGenChecked) {\n const content = await this.fetchLeadGenReport.run();\n const name = `Export-LeadGenerator.zip`;\n if (!this.fetchExcel.error) {\n this.exportResult = {\n name,\n content,\n base64: true,\n downloaded: false\n };\n\n const fileName = this.exportResult.name;\n const base64 = this.exportResult.base64;\n this.downloadFile(fileName, content, { base64 });\n this.exportResult.downloaded = true;\n }\n }\n\n }\n\n protected async downloadExcel() {\n await this.fetchExcel.run(this.filters.toDto());\n }\n\n protected mounted() {\n if (this.permissions.CanListFinancialInfo) {\n this.fetchReportContracts(this.filters);\n }\n this.disableFiltersWatcher = this.$watch(\"filters.dto\", this.debouncedFetchReportContracts, { deep: true });\n }\n\n protected debouncedFetchReportContracts = Debounce(this.getReportContracts, 500);\n protected async getReportContracts() {\n const dtos = await this.fetchReportContracts(this.filters);\n }\n\n\n protected get filteredReportContracts(): ReportContract[] {\n return this.reportContracts\n .filter(s => {\n let orgsMatch = true;\n let dimensionMatch = true;\n if (this.filters.orgs.length > 0) {\n orgsMatch = this.filters.orgs.some(org => org.name === s.orgName);\n }\n if (this.filters.dimensions.length > 0) {\n const selectedDims = this.filters.dimensions.map(d => d.name);\n dimensionMatch = s.dimensions.some(ld => selectedDims.includes(ld.dimension));\n }\n const contractMatch = s.meetsFilter(this.searchText, []);\n return contractMatch && orgsMatch && dimensionMatch;\n });\n }\n\n protected async uploadReports() {\n const result = await this.fetchUploadReports.run();\n }\n\n\n protected fetchTCV = Execution.create(\n () => ReportsApi.getTCV(),\n ReportsApi\n );\n\n protected originName(origin: ContractOrigin): string {\n return ContractOrigin.nameOf(origin);\n }\n\n protected serviceName(service: ServiceID): string {\n if (service === ServiceID.Connector) {\n return ServiceID.nameOf(ServiceID.AbapSuite);\n }\n return ServiceID.nameOf(service);\n }\n\n protected toggleExpansion(contract: ReportContract) {\n const index = this.expandedRows.indexOf(contract.id);\n if (index >= 0) {\n this.expandedRows.splice(index, 1);\n } else {\n this.expandedRows = [contract.id];\n }\n }\n\n protected get expandedRowIds(): number[] {\n return this.expandedRows\n .filter(id => this.reportContracts.some(contract => contract.id === id));\n }\n\n protected get hasContracts(): boolean {\n return this.reportContracts.length > 0;\n }\n\n protected get firstLoad(): boolean {\n return !this.hasContracts;\n }\n\n protected async resetFilters() {\n try {\n const msg = `Are you sure you want to clear all current filter criteria? This action cannot be undone.`;\n await this.$confirm(msg, \"Clear confirmation\", {\n type: \"warning\",\n confirmButtonText: \"Clear filters\",\n cancelButtonText: \"Cancel\"\n });\n this.filters = ReportContractsFilters.create();\n } catch { }\n }\n\n protected get contractsStatus(): LicensingStatus[] {\n return this.filteredReportContracts.map(contract => contract.status);\n }\n\n protected viewContract(contractId: number) {\n this.$router.push({\n name: \"report-contract-details\",\n params: { id: contractId.toString() }\n });\n }\n\n public async onNotVisible() {\n this.disableFiltersWatcher();\n this.expandedRows = [];\n this.filters = ReportContractsFilters.create();\n this.filters.status = [];\n }\n\n public async onVisible() {\n this.expandedRows = this.filtersBackup.expand;\n this.filters = this.filtersBackup.filters;\n this.searchText = this.filtersBackup.searchText;\n await this.debouncedFetchReportContracts();\n this.disableFiltersWatcher = this.$watch(\"filters.dto\", this.debouncedFetchReportContracts, { deep: true });\n }\n\n protected get permissions() {\n return {\n CanAddFinancialInfo: this.accessRole.can(this.serviceId, Permission.AddFinancialInfo),\n CanListFinancialInfo: this.accessRole.can(this.serviceId, Permission.ListFinancialInfo),\n }\n }\n\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./ContractsReport.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./ContractsReport.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ContractsReport.vue?vue&type=template&id=4995bf1c&scoped=true&\"\nimport script from \"./ContractsReport.ts?vue&type=script&lang=ts&\"\nexport * from \"./ContractsReport.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./ContractsReport.vue?vue&type=style&index=0&id=4995bf1c&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4995bf1c\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('licensing.contract-details-view',{attrs:{\"filters\":_vm.filters,\"service-id\":_vm.serviceId},on:{\"select\":_vm.viewDetails,\"back\":_vm.onBackClick},scopedSlots:_vm._u([{key:\"host-filters\",fn:function(ref){\nvar data = ref.data;\nvar size = ref.size;\nvar disabled = ref.disabled;\nreturn _c('emory.host-filters-panel-extension',{attrs:{\"filters\":_vm.filters.hosts,\"data\":data,\"size\":size,\"disabled\":disabled}})}},{key:\"expand\",fn:function(ref){\nvar license = ref.license;\nvar exchangeStatus = ref.exchangeStatus;\nreturn _c('licensing.license-summary',{attrs:{\"license\":license,\"expand\":\"\"}},[_c('div',{staticClass:\"flex content-space-between\"},[_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"primary\",\"icon\":\"el-icon-more\"},on:{\"click\":function($event){return _vm.viewDetails(license)}}},[_c('span',[_vm._v(\"View license details\")])]),(_vm.permissions.CanRegisterHosts && (!exchangeStatus.isShared || exchangeStatus.isSharedToCurrentOrg))?_c('el-button',{attrs:{\"size\":\"small\",\"disabled\":!license.hasAvailability,\"type\":\"default\"},on:{\"click\":function($event){return _vm.$refs.hostRegistrationDialog.open(license)}}},[_c('span',{staticClass:\"space-x-6 flex items-center\"},[_c('ion-icon',{attrs:{\"name\":\"link-outline\"}}),_c('span',[_vm._v(\"Register a host\")])],1)]):_vm._e()],1)])}}])},[_c('core.query-param',{attrs:{\"name\":\"ip\",\"type\":\"string-array\"},model:{value:(_vm.filters.hosts.ips),callback:function ($$v) {_vm.$set(_vm.filters.hosts, \"ips\", $$v)},expression:\"filters.hosts.ips\"}}),_c('core.query-param',{attrs:{\"name\":\"version\",\"type\":\"string-array\"},model:{value:(_vm.filters.hosts.versions),callback:function ($$v) {_vm.$set(_vm.filters.hosts, \"versions\", $$v)},expression:\"filters.hosts.versions\"}}),(_vm.permissions.CanRegisterHosts)?_c('licensing.host-registration-dialog',{ref:\"hostRegistrationDialog\",attrs:{\"service-id\":_vm.serviceId,\"encrypted\":\"\"}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import LicensingStore, { FetchLicenseByIdPayload } from \"@Module/Licensing/Store/Licensing.store\";\nimport { EmoryLicenseFilters } from \"@Service/Emory/Models/Filters/EmoryLicenseFilters.model\";\nimport { Permission } from \"@Module/Auth/Models/Roles/Permissions.model\";\nimport { AccessRole } from \"@Module/Auth/Models/Roles/AccessRole.model\";\nimport { EmoryLicense } from \"@Service/Emory/Models/EmoryLicense.model\";\nimport { Organization } from \"@Module/Orgs/Models/Organization.model\";\nimport { Component, MapAction, MapGetter } from \"types-vue\";\nimport { ConsoleRoute } from \"@Core/Models/ConsoleRoute\";\nimport OrgsStore from \"@Module/Orgs/Store/Orgs.store\";\nimport AuthStore from \"@Module/Auth/Store/Auth.store\";\nimport { ServiceID } from \"@Service/ServiceID\";\nimport Vue from \"vue\";\n\n@Component\nexport default class EmoryContractDetails extends Vue {\n protected serviceId: ServiceID = ServiceID.Emory;\n\n @MapGetter(OrgsStore.Mapping)\n protected currentOrg: Organization;\n\n @MapGetter(AuthStore.Mapping)\n protected accessRole: AccessRole;\n\n @MapAction(LicensingStore.Mapping)\n protected fetchLicenseById: (payload: FetchLicenseByIdPayload) => Promise;\n \n protected filters = EmoryLicenseFilters.create();\n\n protected viewDetails(license: EmoryLicense) {\n this.$router.push({ \n name: \"backup-license-details\", \n params: { id: license.id.toString() }\n });\n }\n\n protected onBackClick(prevRoute: ConsoleRoute) {\n if (!!prevRoute) {\n this.$router.back();\n } else {\n this.$router.replace(\"/backup/contracts\");\n }\n }\n\n protected get permissions() {\n return {\n CanRegisterHosts: this.accessRole.can(this.serviceId, Permission.RegisterHost),\n }\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./EmoryContractDetails.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./EmoryContractDetails.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./EmoryContractDetails.vue?vue&type=template&id=655fc341&\"\nimport script from \"./EmoryContractDetails.ts?vue&type=script&lang=ts&\"\nexport * from \"./EmoryContractDetails.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FeatureCard.vue?vue&type=style&index=0&id=5583d2fe&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"flex flex-wrap container-x-24 container-y-16\"},[_c('core.details',{attrs:{\"spacing\":\"6px\"}},[_c('core.label',{attrs:{\"slot\":\"label\",\"icon-position\":\"end\",\"icon-size\":\"14px\",\"icon-spacing\":\"4px\"},slot:\"label\"},[_c('H3',[_vm._v(\"Storage\")]),(!!_vm.azure.buildLocationUrl())?_c('el-link',{attrs:{\"slot\":\"icon\",\"type\":\"primary\",\"underline\":false,\"target\":\"_blank\",\"href\":_vm.azure.buildLocationUrl()},slot:\"icon\"},[_c('ion-icon',{attrs:{\"name\":\"open-outline\"}})],1):_vm._e()],1),_c('div',{staticClass:\"flex flex-wrap container-x-16 container-y-16\"},[_c('core.details',{attrs:{\"label\":\"Container Name\",\"value\":_vm.azure.location}}),_c('core.details',{attrs:{\"label\":\"Container Path\"}},[_c('el-tooltip',{attrs:{\"effect\":\"light\",\"content\":_vm.azure.path,\"placement\":\"top\",\"open-delay\":500,\"disabled\":!_vm.containerPath.includes('...')}},[_c('span',[_vm._v(_vm._s(_vm.containerPath))])])],1)],1)],1),_c('core.details',{attrs:{\"spacing\":\"6px\"}},[_c('core.label',{attrs:{\"slot\":\"label\",\"icon-position\":\"end\",\"icon-size\":\"14px\",\"icon-spacing\":\"4px\"},slot:\"label\"},[_c('H3',[_vm._v(\"Encryption\")])],1),_c('div',{staticClass:\"flex flex-wrap container-x-16 container-y-16\"},[_c('core.details',{attrs:{\"label\":\"Type\"}},[(!!_vm.azure.encryption)?_c('el-tag',{attrs:{\"size\":\"mini\",\"disable-transitions\":\"\",\"type\":\"info\",\"effect\":\"light\"}},[_c('span',[_vm._v(_vm._s(_vm.azure.encryption))])]):_vm._e()],1),_c('core.details',{attrs:{\"label\":\"Key Name\",\"value\":_vm.azure.encryptionKeyName}})],1)],1)],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { BackupAzureCloudProvider } from \"@Service/Emory/Models/Backups/CloudProvider/BackupAzureCloudProvider.model\";\nimport { Component, Prop } from \"types-vue\";\nimport { Utils } from \"@Core/Utils/Utils\";\nimport Vue from \"vue\";\n\n@Component\nexport default class BackupAzureSummary extends Vue {\n\n @Prop({ type: Object, required: true })\n protected azure: BackupAzureCloudProvider;\n\n protected get containerPath(): string {\n if (this.$mq.md) return Utils.smartTrim(this.azure.path, 15);\n else if (this.$mq.lg) return Utils.smartTrim(this.azure.path, 18);\n else return Utils.smartTrim(this.azure.path, 22);\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./BackupAzureSummary.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./BackupAzureSummary.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./BackupAzureSummary.vue?vue&type=template&id=292c6266&\"\nimport script from \"./BackupAzureSummary.ts?vue&type=script&lang=ts&\"\nexport * from \"./BackupAzureSummary.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LicensesView.vue?vue&type=style&index=0&id=fd7b6836&lang=scss&scoped=true&\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OrgRoleSelector.vue?vue&type=style&index=1&id=020f298e&lang=scss&scoped=true&\"","import { ConsoleError } from \"@Core/Errors/ConsoleError\";\nimport { IReportContractFiltersDto} from \"../Models/ReportContractFilters\";\n\n\ninterface GetContractReportApiErrorMeta {\n contractId: number;\n}\n\nexport class GetContractReportApiError extends ConsoleError {}","import { ConsoleError } from \"@Core/Errors/ConsoleError\";\nimport { IReportContractFiltersDto} from \"../Models/ReportContractFilters\";\n\n\ninterface GetContractsReportApiErrorMeta {\n filters: IReportContractFiltersDto;\n}\n\nexport class GetContractsReportApiError extends ConsoleError {}","import { IReportContractDto, ReportContract } from \"../Models/ReportContract.model\";\nimport AxiosAPI from \"@Core/API/AxiosAPI\";\nimport { GetContractReportApiError } from \"../Errors/GetContractReportApiError\";\nimport { IReportContractFiltersDto } from \"../Models/ReportContractFilters\";\nimport { GetContractsReportApiError } from \"../Errors/GetContractsReportApiError\";\nimport { IfInfoDto, fInfoTypes } from \"../Models/FinancialInfo.model\";\nimport { ILeadGeneratorDto, LeadGenerator } from \"../Models/LeadGenerator.model\";\nimport { IBillingPeriodDto } from \"../Models/BillingPeriod.model\";\n\n\n class ReportsApi extends AxiosAPI {\n private static instance: ReportsApi;\n\n public static get Instance(): ReportsApi {\n return this.instance || (this.instance = new this());\n }\n\n protected url(slug?: string): string {\n const baseUrl = `${process.env.VUE_APP_SERVICE_URL_BACKEND}/reports`;\n return !!slug ? `${baseUrl}/${slug}` : baseUrl;\n }\n\n public async getReportContracts(params: IReportContractFiltersDto): Promise {\n try {\n const url = this.url(\"contracts-report\");\n const response = await this.axios.get(url, {\n params: { ...params }\n });\n return response.data;\n } catch (error) {\n const message = `An error occurred while retrieving service relases. Please try again.`;\n throw new GetContractsReportApiError(message, {\n cause: error,\n meta: { filters: params }\n });\n }\n }\n\n\n public async uploadReports(): Promise {\n try {\n const url = this.url(\"financial-upload\");\n const response = await this.axios.put(url);\n return response.data;\n } catch (error) {\n const message = `An error occurred while updating financial data. Please try again.`;\n throw new GetContractsReportApiError(message, {\n cause: error,\n });\n }\n }\n\n//MIRAR\n public async getReportContract(contractId: number): Promise {\n try {\n const url = this.url(\"report\" + \"/\" + contractId.toString());\n const response = await this.axios.get(url);\n return response.data;\n } catch (error) {\n const message = `An error occurred while retrieving service relases. Please try again.`;\n throw new GetContractReportApiError(message, {\n cause: error,\n meta: { contractId: contractId }\n });\n }\n }\n\n public async getLeadGenReport(): Promise {\n try {\n const url = this.url(\"lead-generator-report\");\n const response = await this.axios.get(url);\n return response.data;\n } catch (error) {\n const message = `An error occurred while retrieving service relases. Please try again.`;\n throw new GetContractReportApiError(message, {\n cause: error,\n });\n }\n }\n\n public async getFInfo(year: number): Promise {\n try {\n const url = this.url(\"financial-info\");\n const response = await this.axios.get(url,\n {\n params: { year: year }\n }\n );\n return response.data;\n } catch (error) {\n const message = `An error occurred while retrieving service relases. Please try again.`;\n throw new GetContractReportApiError(message, {\n cause: error,\n });\n }\n }\n\n public async getFinancialTypes(): Promise {\n try {\n const url = this.url(\"financial-types\");\n const response = await this.axios.get(url);\n return response.data;\n } catch (error) {\n const message = `An error occurred while retrieving service relases. Please try again.`;\n throw new GetContractReportApiError(message, {\n cause: error,\n });\n }\n }\n\n\n public async getLeadGenerators(): Promise {\n try {\n const url = this.url(\"lead-generators\");\n const response = await this.axios.get(url);\n return response.data;\n } catch (error) {\n const message = `An error occurred while retrieving lead generators. Please try again.`;\n throw new GetContractReportApiError(message, {\n cause: error,\n });\n }\n }\n \n\n public async getExcel (params: IReportContractFiltersDto): Promise {\n try {\n const url = this.url(\"export\");\n const response = await this.axios.get(url, {\n params: { ...params }\n });\n return response.data;\n } catch (error) {\n const message = `An error occurred while retrieving datasource excel. Please try again.`;\n throw new GetContractReportApiError(message, {\n cause: error,\n });\n }\n }\n\n public async getMRR (): Promise {\n try {\n const url = this.url(\"mrr-report\");\n const response = await this.axios.get(url, {\n });\n return response.data;\n } catch (error) {\n const message = `An error occurred while retrieving MRR info. Please try again.`;\n throw new GetContractReportApiError(message, {\n cause: error,\n });\n }\n }\n\n\n public async getTCV (): Promise {\n try {\n const url = this.url(\"tcv\");\n const response = await this.axios.get(url, {\n });\n return response.data;\n } catch (error) {\n const message = `An error occurred while retrieving TCV info. Please try again.`;\n throw new GetContractReportApiError(message, {\n cause: error,\n });\n }\n }\n\n\n public async updateReportContract(contractInfo: IReportContractDto): Promise {\n try {\n const url = this.url(\"financial-contract\");\n const response = await this.axios.post(url, {...contractInfo});\n return response.data;\n } catch (error) {\n const message = `An error occurred while updating report contract. Please try again.`;\n throw new GetContractReportApiError(message, {\n cause: error,\n \n });\n }\n }\n \n\n public async updateBillingPeriod(billingPeriod: IBillingPeriodDto): Promise {\n try {\n const url = this.url(\"billing-period\");\n const response = await this.axios.put(url, {...billingPeriod});\n return response.data;\n } catch (error) {\n const message = `An error occurred while updating billing period. Please try again.`;\n throw new GetContractReportApiError(message, {\n cause: error,\n });\n }\n }\n\n public async addBillingPeriod(billingPeriod: IBillingPeriodDto): Promise {\n try {\n const url = this.url(\"billing-period\");\n const response = await this.axios.post(url, {...billingPeriod});\n return response.data;\n } catch (error) {\n const message = `An error occurred while adding billing period. Please try again.`;\n throw new GetContractReportApiError(message, {\n cause: error,\n });\n }\n }\n\n\n public async addFInfo(fInfo: IfInfoDto): Promise {\n try {\n const url = this.url(\"financial-info\");\n const response = await this.axios.post(url, {...fInfo});\n return response.data;\n } catch (error) {\n const message = `An error occurred while retrieving financial info. Please try again.`;\n throw new GetContractReportApiError(message, {\n cause: error,\n });\n }\n }\n\n public async updateFInfo(fInfo: IfInfoDto): Promise {\n try {\n const url = this.url(\"financial-info\");\n const response = await this.axios.put(url, {...fInfo});\n return response.data;\n } catch (error) {\n const message = `An error occurred while retrieving service relases. Please try again.`;\n throw new GetContractReportApiError(message, {\n cause: error,\n });\n }\n }\n}\n\n\n\n\n\nexport default ReportsApi.Instance;","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"space-y-16\"},[_c('div',{staticClass:\"space-y-4\"},[_c('core.alert',{attrs:{\"title\":\"Verification process\",\"type\":\"info\",\"closable\":false,\"show-icon\":false,\"plain\":\"\",\"compact\":\"\"}},[_c('span',[_vm._v(\"You will receive a verification code to your email address. With this code you will be able to verify your account\")])]),_c('el-form',[_c('el-form-item',{staticClass:\"space-y-8 form-item\",attrs:{\"label\":\"Verification code\",\"prop\":\"code\"}},[_c('core.label',{attrs:{\"slot\":\"label\",\"icon-position\":\"end\",\"icon-spacing\":\"4px\"},slot:\"label\"},[_c('span',[_vm._v(\"Verification code\")]),_c('el-tooltip',{attrs:{\"slot\":\"icon\",\"content\":\"The verification code sent to your email address.\",\"effect\":\"dark\",\"placement\":\"top\"},slot:\"icon\"},[_c('ion-icon',{attrs:{\"name\":\"help-circle-outline\"}})],1)],1),_c('el-input',{attrs:{\"placeholder\":\"XXXXXX\",\"minlength\":\"6\",\"maxlength\":\"6\",\"prefix-icon\":\"el-icon-lock\",\"clearable\":\"\"},model:{value:(_vm.recoveryModel.verificationcode),callback:function ($$v) {_vm.$set(_vm.recoveryModel, \"verificationcode\", $$v)},expression:\"recoveryModel.verificationcode\"}})],1)],1),_c('transition',{attrs:{\"name\":\"el-zoom-in-top\"}},[(!!_vm.error)?_c('core.alert',{attrs:{\"type\":\"error\",\"title\":\"Verification error\",\"description\":_vm.error.message || 'An unknown error occurred, please try again.',\"plain\":\"\"}}):_vm._e()],1)],1),_c('div',{staticClass:\"flex content-end\"},[_c('el-button',{attrs:{\"loading\":_vm.loading,\"type\":\"primary\"},on:{\"click\":_vm.sendToServer}},[_vm._v(\"Validate Account\")])],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { OrgInvitationNotificationLink } from \"@Module/Notifications/Models/OrgInvitationNotification.model\";\n\nexport interface IRecoveryDto {\n username: string;\n verificationcode: string;\n\n}\n\nexport class Recovery {\n public username: string;\n public verificationcode: string;\n\n private constructor() {\n this.username = null;\n this.verificationcode = null;\n }\n\n\n public static create(): Recovery {\n return new Recovery();\n }\n\n public toDto(): IRecoveryDto {\n return {\n username: this.username,\n verificationcode: this.verificationcode,\n }\n }\n\n} ","import { ForgotPwd } from \"@Module/Auth/Models/ForgotPwd/ForgotPwd.model\";\nimport NewPwdForm from \"../NewPwdForm/NewPwdForm\";\nimport AuthApi from \"@Module/Auth/API/Auth.api\";\nimport { ElForm } from \"element-ui/types/form\";\nimport { Utils } from \"@Core/Utils/Utils\";\nimport { Component, Prop, Watch } from \"types-vue\";\nimport Vue from \"vue\";\nimport { Notify } from \"@Core/Utils/Notify\";\nimport { Recovery } from \"@Module/Auth/Models/Recovery.model\";\n\n@Component\nexport default class RecoveryPanel extends Vue {\n\n @Prop({ type: Boolean, default: false })\n protected disabled: boolean;\n\n @Prop({ type: String, default: false })\n protected email: string;\n\n protected recoveryModel: Recovery = Recovery.create();\n protected loading: boolean = false;\n protected error: Error = null;\n\n protected validationRules = {\n verificationcode: [\n { required: true, message: \"Please enter your verification code.\", trigger: \"change\" },\n { required: true, message: \"Please enter your verification code.\", trigger: \"blur\" },\n { validator: this.onlyDigits, trigger: \"blur\" },\n ]\n }\n\n @Watch(\"email\", { immediate: true })\n protected onBusyChange(busy: boolean) {\n this.recoveryModel.username = this.email;\n }\n\n protected onlyDigits(rule: any, value: string, callback: (error?: Error) => void): void {\n const codePattern = /^[0-9]{6,6}$/;\n return codePattern.test(value) \n ? callback() \n : callback(new Error(\"Invalid verification code.\"));\n }\n\n protected setLoading(loading: boolean) {\n this.loading = loading;\n this.$emit(\"update:disabled\", loading);\n }\n\n protected async sendToServer() {\n try {\n this.error = null;\n this.setLoading(true);\n await AuthApi.verifyCode(this.recoveryModel);;\n Notify.Success({\n title: \"Account verified successfully\", \n message: \"You can login now.\"\n });\n await Utils.sleep(250);\n this.$emit(\"success\");\n } catch (error) {\n this.error = error;\n } finally {\n this.setLoading(false);\n }\n }\n\n public async closeGuard(close: VoidFunction) { \n try {\n const message = \"

Do you really want to finish the current password recovery process?

\"\n + \"

You can start the password recovery process again at any time.

\";\n await this.$confirm(message, \"Finish password recovery\", {\n type: \"warning\",\n cancelButtonText: \"Cancel\",\n confirmButtonText: \"Finish\",\n dangerouslyUseHTMLString: true\n });\n return close();\n } catch {}\n }\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./RecoveryPanel.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./RecoveryPanel.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./RecoveryPanel.vue?vue&type=template&id=673b0f79&scoped=true&\"\nimport script from \"./RecoveryPanel.ts?vue&type=script&lang=ts&\"\nexport * from \"./RecoveryPanel.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./RecoveryPanel.vue?vue&type=style&index=0&id=673b0f79&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"673b0f79\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-popover',{staticClass:\"items-self-center\",attrs:{\"placement\":\"bottom-end\",\"width\":250,\"trigger\":\"click\",\"title\":_vm._f(\"capitalize\")(((_vm.accessRole.name) + \" (\" + (_vm.accessRole.isGuestRole ? 'Guest role' : 'User role') + \")\")),\"transition\":\"el-zoom-in-top\"},on:{\"after-leave\":function($event){_vm.searchText = ''},\"after-enter\":function($event){return _vm.$refs.input.focus()}}},[_c('core.superadmin-button',{attrs:{\"slot\":\"reference\",\"size\":\"small\"},slot:\"reference\"},[_c('span',[_vm._v(\"Role\")])]),_c('div',{staticClass:\"mb-8\"},[_c('strong',[_vm._v(\"Service:\")]),_vm._v(\" \"+_vm._s(_vm.currentRoute.service.meta.menu.label))]),_c('el-input',{ref:\"input\",staticClass:\"mb-8\",attrs:{\"size\":\"small\",\"placeholder\":\"Search permissions\",\"prefix-icon\":\"el-icon-search\",\"clearable\":\"\"},model:{value:(_vm.searchText),callback:function ($$v) {_vm.searchText=$$v},expression:\"searchText\"}}),_c('div',{staticClass:\"flex pt-4\"},[(_vm.currentRoute.service.path === '/cxlink' || _vm.currentRoute.service.path === '/settings')?_c('div',[_c('el-checkbox-group',{staticClass:\"testing-check flex-y space-y-6\",model:{value:(_vm.accessRole.permissions),callback:function ($$v) {_vm.$set(_vm.accessRole, \"permissions\", $$v)},expression:\"accessRole.permissions\"}},_vm._l((_vm.filteredConsolePermissions),function(p){return _c('el-checkbox',{key:p,staticStyle:{\"margin-left\":\"0 !important\"},attrs:{\"label\":p}})}),1)],1):_vm._e(),(_vm.currentRoute.service.path === '/backup')?_c('div',[_c('el-checkbox-group',{staticClass:\"testing-check flex-y space-y-6\",model:{value:(_vm.accessRole.permissions),callback:function ($$v) {_vm.$set(_vm.accessRole, \"permissions\", $$v)},expression:\"accessRole.permissions\"}},_vm._l((_vm.filteredEmoryPermissions),function(p){return _c('el-checkbox',{key:p,staticStyle:{\"margin-left\":\"0 !important\"},attrs:{\"label\":p}})}),1)],1):_vm._e(),(_vm.currentRoute.service.path === '/abap-suite')?_c('div',[_c('el-checkbox-group',{staticClass:\"testing-check flex-y space-y-6\",model:{value:(_vm.accessRole.permissions),callback:function ($$v) {_vm.$set(_vm.accessRole, \"permissions\", $$v)},expression:\"accessRole.permissions\"}},_vm._l((_vm.filteredAbapSuitePermissions),function(p){return _c('el-checkbox',{key:p,staticStyle:{\"margin-left\":\"0 !important\"},attrs:{\"label\":p}})}),1)],1):_vm._e(),(_vm.currentRoute.service.path === '/contact-center')?_c('div',[_c('el-checkbox-group',{staticClass:\"testing-check flex-y space-y-6\",model:{value:(_vm.accessRole.permissions),callback:function ($$v) {_vm.$set(_vm.accessRole, \"permissions\", $$v)},expression:\"accessRole.permissions\"}},_vm._l((_vm.filteredAloPermissions),function(p){return _c('el-checkbox',{key:p,staticStyle:{\"margin-left\":\"0 !important\"},attrs:{\"label\":p}})}),1)],1):_vm._e()])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { ConsoleRoute } from \"@Core/Models/ConsoleRoute\";\nimport NavigationStore from \"@Core/Store/Navigation/Navigation.store\";\nimport { AccessRole } from \"@Module/Auth/Models/Roles/AccessRole.model\";\nimport AuthStore from \"@Module/Auth/Store/Auth.store\";\nimport { Component, MapGetter } from \"types-vue\";\nimport Vue from \"vue\";\n\n@Component\nexport default class RoleTesting extends Vue {\n\n @MapGetter(NavigationStore.Mapping)\n protected currentRoute: ConsoleRoute;\n\n @MapGetter(AuthStore.Mapping)\n protected accessRole: AccessRole;\n \n protected searchText: string = \"\";\n\n protected consolePermissions = [\n \"console:*\",\n \"console:AccessLegacyService\",\n \"console:CreateChildOrg\",\n \"console:MarkOrgAsTest\",\n \"console:ListAppUsers\",\n \"console:CreateAppUsers\",\n \"console:EditAppUsers\",\n \"console:DeleteAppUsers\",\n \"console:ListLicensingSummary\",\n \"console:ListManagedPermissions\",\n \"console:ListOrgInvitations\",\n \"console:CancelOrgInvitation\",\n \"console:InviteOrgMembers\",\n \"console:EditOrg\",\n \"console:ListOrgUsers\",\n \"console:EditOrgUsers\",\n \"console:CreateOrgUsers\",\n \"console:DeleteOrgUsers\",\n \"console:ListFinancialInfo\",\n \"console:AddFinancialInfo\",\n \"console:EditFinancialInfo\",\n ];\n\n protected get filteredConsolePermissions() {\n return this.consolePermissions.filter(p => p.toLowerCase().includes(this.searchText.toLowerCase()));\n }\n\n protected emoryPermissions = [\n \"emory:*\",\n \"emory:ShareLicenses\",\n \"emory:EditContract\",\n \"emory:CreateContract\",\n \"emory:ListContracts\",\n \"emory:EditContractNotifications\",\n \"emory:ListLicenses\",\n \"emory:ListHosts\",\n \"emory:RegisterHost\",\n \"emory:UnregisterHost\",\n \"emory:DownloadOtherResources\",\n \"emory:DownloadPackages\",\n \"emory:RecoverLicenseFile\",\n \"emory:RequestTrial\",\n \"emory:ExportLicensingSummary\",\n \"emory:ListBackups\",\n \"emory:ExportBackups\",\n \"emory:ManageIssues\",\n \"emory:PurchaseContract\"\n ];\n\n protected get filteredEmoryPermissions() {\n return this.emoryPermissions.filter(p => p.toLowerCase().includes(this.searchText.toLowerCase()));\n }\n\n protected nimbusPermissions = [\n \"nimbus:*\",\n \"nimbus:ShareLicenses\",\n \"nimbus:EditContract\",\n \"nimbus:CreateContract\",\n \"nimbus:ListContracts\",\n \"nimbus:EditContractNotifications\",\n \"nimbus:ListLicenses\",\n \"nimbus:ListHosts\",\n \"nimbus:RegisterHost\",\n \"nimbus:UnregisterHost\",\n \"nimbus:DownloadOtherResources\",\n \"nimbus:DownloadPackages\",\n \"nimbus:RecoverLicenseFile\",\n \"nimbus:ExportLicensingSummary\",\n \"nimbus:ManageIssues\",\n \"nimbus:PurchaseContract\"\n ]\n\n protected get filteredNimbusPermissions() {\n return this.nimbusPermissions.filter(p => p.toLowerCase().includes(this.searchText.toLowerCase()));\n }\n\n protected abapSuitePermissions = [\n \"abap-suite:*\",\n \"abap-suite:ShareLicenses\",\n \"abap-suite:EditContract\",\n \"abap-suite:CreateContract\",\n \"abap-suite:ListContracts\",\n \"abap-suite:EditContractNotifications\",\n \"abap-suite:ListLicenses\",\n \"abap-suite:ListHosts\",\n \"abap-suite:RegisterHost\",\n \"abap-suite:UnregisterHost\",\n \"abap-suite:DownloadOtherResources\",\n \"abap-suite:DownloadPackages\",\n \"abap-suite:RecoverLicenseFile\",\n \"abap-suite:ExportLicensingSummary\",\n \"abap-suite:ManageIssues\",\n \"abap-suite:PurchaseContract\"\n ]\n\n protected get filteredAbapSuitePermissions() {\n return this.abapSuitePermissions.filter(p => p.toLowerCase().includes(this.searchText.toLowerCase()));\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./RoleTesting.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./RoleTesting.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./RoleTesting.vue?vue&type=template&id=59841896&\"\nimport script from \"./RoleTesting.ts?vue&type=script&lang=ts&\"\nexport * from \"./RoleTesting.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function (_h,_vm) {var _c=_vm._c;return _c('el-skeleton',{staticClass:\"notification-skeleton\",attrs:{\"loading\":_vm.props.loading,\"throttle\":_vm.props.throttle,\"animated\":\"\"}},[_c('div',{staticClass:\"m-y-4\",attrs:{\"slot\":\"template\"},slot:\"template\"},_vm._l((_vm.props.repeat),function(index){return _c('div',{key:index},[_c('div',{staticClass:\"flex-y space-y-8\"},[(!_vm.props.hideTypeLabel)?_c('el-skeleton-item',{staticStyle:{\"width\":\"15rem\"},attrs:{\"variant\":\"h3\"}}):_vm._e(),_c('el-skeleton-item',{staticStyle:{\"width\":\"80%\"},attrs:{\"variant\":\"p\"}}),_c('el-skeleton-item',{staticClass:\"details\",staticStyle:{\"height\":\"44px\",\"width\":\"100%\"},attrs:{\"variant\":\"button\"}}),_c('div',{staticClass:\"flex content-space-between footer\"},[_c('el-skeleton-item',{staticStyle:{\"width\":\"18rem\"},attrs:{\"variant\":\"caption\"}}),_c('el-skeleton-item',{staticStyle:{\"width\":\"8rem\"},attrs:{\"variant\":\"caption\"}})],1)],1),(index < _vm.props.repeat)?_c('el-divider',{staticClass:\"separator\"}):_vm._e()],1)}),0),_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NotificationSkeleton.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NotificationSkeleton.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./NotificationSkeleton.vue?vue&type=template&id=2ac63be4&scoped=true&functional=true&\"\nimport script from \"./NotificationSkeleton.vue?vue&type=script&lang=js&\"\nexport * from \"./NotificationSkeleton.vue?vue&type=script&lang=js&\"\nimport style0 from \"./NotificationSkeleton.vue?vue&type=style&index=0&id=2ac63be4&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n true,\n null,\n \"2ac63be4\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UsersManager.vue?vue&type=style&index=0&id=e82e33da&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"flex flex-wrap container-x-16 container-y-16\"},[_c('core.details',{attrs:{\"label\":\"Creation\"}},[_c('core.date-label',{attrs:{\"date\":_vm.user.creation,\"format\":_vm.dateFormat}})],1),_c('core.details',{attrs:{\"label\":\"Modification\"}},[_c('core.date-label',{attrs:{\"date\":_vm.user.modification,\"format\":_vm.dateFormat}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { User } from \"@Module/Users/Models/User.model\";\nimport { Component, Prop } from \"types-vue\";\nimport Vue from \"vue\";\n\n@Component\nexport default class UserGeneralSummary extends Vue {\n\n @Prop({ type: Object, required: true })\n protected user: User;\n\n @Prop({ type: String })\n protected dateFormat: string;\n \n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./UserGeneralSummary.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./UserGeneralSummary.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./UserGeneralSummary.vue?vue&type=template&id=7e95f6a1&\"\nimport script from \"./UserGeneralSummary.ts?vue&type=script&lang=ts&\"\nexport * from \"./UserGeneralSummary.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import DayJS, { Dayjs } from \"dayjs\";\nimport { Release } from \"./Release.model\";\nimport { ServiceID } from \"@Service/ServiceID\";\n\nexport interface IPlatformDto {\n id?: number;\n name: string;\n description: string;\n releases: Release[];\n product_version_id?: number\n}\n\nexport interface ICreatePlatformDto {\n product: ServiceID,\n name: string,\n description: string,\n product_version_id?: number,\n}\n\nexport class Platform {\n id: number;\n name: string;\n description: string;\n releases: Release[];\n productVersionId?: number;\n\n\n private constructor(dto: IPlatformDto) { \n this.id = dto.id\n this.name = dto.name\n this.description = dto.description\n this.releases = dto?.releases\n this.productVersionId = dto?.product_version_id;\n }\n\n public static create(dto?: Partial): Platform {\n return new Platform({\n name: dto?.name, \n description: dto?.description,\n releases: dto?.releases,\n product_version_id: dto?.product_version_id\n });\n }\n\n public static fromDto(dto: IPlatformDto): Platform {\n return new Platform(dto);\n }\n\n public toDto(): IPlatformDto {\n return {\n id: this.id,\n name: this.name,\n description: this.description,\n releases: this.releases\n \n }\n }\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('trial.trial-dialog',{ref:\"dialog\",attrs:{\"service-id\":_vm.serviceId,\"slots\":_vm.slots,\"duration\":_vm.duration}},[_c('core.label',{attrs:{\"slot\":\"title\",\"icon-size\":\"16px\"},slot:\"title\"},[_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"flask\"},slot:\"icon\"}),_c('H1',[_vm._v(\"Backup Trial Period\")])],1),_c('div',{staticClass:\"emory-next-steps\"},[_c('H2',{staticClass:\"mb-8\"},[_vm._v(\"Next Steps\")]),_c('div',{staticClass:\"space-y-16\"},[_c('div',[_vm._v(\"Your trial has been activated, you can now install CxLink Backup on your machines. You will find all the necessary documentation in the \"),_c('strong',[_vm._v(\"Resources\")]),_vm._v(\" section located at the \"),_c('strong',[_vm._v(\"Service\")]),_vm._v(\" page.\")]),_c('div',{staticClass:\"flex flex-wrap container-x-16 container-y-16 content-center\"},[_c('core.card',{staticClass:\"step-card flex-1\",attrs:{\"bordered\":\"\"}},[_c('div',{staticClass:\"space-y-4\"},[_c('core.label',{attrs:{\"icon-size\":\"18px\"}},[_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"code-download\"},slot:\"icon\"}),_c('H3',[_vm._v(\"Step 1\")])],1),_c('div',[_vm._v(\"Download the installation packages from the Resources section located at the Service page.\")])],1)]),_c('core.card',{staticClass:\"step-card flex-1\",attrs:{\"bordered\":\"\"}},[_c('div',{staticClass:\"space-y-4\"},[_c('core.label',{attrs:{\"icon-size\":\"16px\"}},[_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"cog\"},slot:\"icon\"}),_c('H3',[_vm._v(\"Step 2\")])],1),_c('div',[_vm._v(\"Install CxLink Backup on your servers and configure it with your CxLink account credentials.\")])],1)])],1)])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import TrialDialog from \"@Module/Trial/Components/TrialDialog/TrialDialog\";\nimport { Duration as DayJsDuration } from \"dayjs/plugin/duration\";\nimport { ServiceID } from \"@Service/ServiceID\";\nimport { Component } from \"types-vue\";\nimport DayJS from \"dayjs\";\nimport Vue from \"vue\";\n\n@Component\nexport default class EmoryTrialDialog extends Vue {\n\n protected serviceId: ServiceID = ServiceID.Emory;\n protected duration: DayJsDuration = DayJS.duration(15, \"days\");\n protected slots: number = 3;\n \n public open(): Promise {\n return (this.$refs.dialog as TrialDialog).open();\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./EmoryTrialDialog.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./EmoryTrialDialog.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./EmoryTrialDialog.vue?vue&type=template&id=b29571d4&scoped=true&\"\nimport script from \"./EmoryTrialDialog.ts?vue&type=script&lang=ts&\"\nexport * from \"./EmoryTrialDialog.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./EmoryTrialDialog.vue?vue&type=style&index=0&id=b29571d4&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"b29571d4\",\n null\n \n)\n\nexport default component.exports","export enum FileSizeUnit {\n B = \"B\",\n KB = \"KB\",\n MB = \"MB\",\n GB = \"GB\",\n TB = \"TB\"\n}\n\nexport namespace FileSizeUnit {\n\n export const All: FileSizeUnit[] = [\n FileSizeUnit.B, FileSizeUnit.KB, FileSizeUnit.MB, FileSizeUnit.GB, FileSizeUnit.TB\n ];\n\n export function getUnitFullName(unit: FileSizeUnit): string {\n switch (unit) {\n case FileSizeUnit.B: return \"Bytes\";\n case FileSizeUnit.KB: return \"Kilobytes\";\n case FileSizeUnit.MB: return \"Megabytes\";\n case FileSizeUnit.GB: return \"Gigabytes\";\n case FileSizeUnit.TB: return \"Terabytes\";\n default: throw new Error(`[describre] Unknown size unit '${unit}'`);\n }\n }\n\n export function toBytes(unit: FileSizeUnit): number {\n switch (unit) {\n case FileSizeUnit.B: return 1;\n case FileSizeUnit.KB: return 1024;\n case FileSizeUnit.MB: return 1048576;\n case FileSizeUnit.GB: return 1073741824;\n case FileSizeUnit.TB: return 1099511627776;\n default: throw new Error(`[toBytes] Unknown size unit '${unit}'`);\n }\n }\n\n}\n\nexport class FileSize {\n public readonly value: number; \n public readonly unit: FileSizeUnit;\n\n private constructor(bytes: number, decimals: number = 2) {\n const kiloBytes = FileSizeUnit.toBytes(FileSizeUnit.KB);\n const megaBytes = FileSizeUnit.toBytes(FileSizeUnit.MB);\n const gigaBytes = FileSizeUnit.toBytes(FileSizeUnit.GB);\n const teraBytes = FileSizeUnit.toBytes(FileSizeUnit.TB);\n\n if (bytes < kiloBytes) { \n // return bytes if less than a KB\n this.value = bytes;\n this.unit = FileSizeUnit.B;\n } else if (bytes < megaBytes) {\n // return KB if less than a MB\n this.value = parseFloat((bytes / kiloBytes).toFixed(decimals));\n this.unit = FileSizeUnit.KB;\n } else if (bytes < gigaBytes) {\n // return MB if less than a GB\n this.value = parseFloat((bytes / megaBytes).toFixed(decimals));\n this.unit = FileSizeUnit.MB;\n } else if (bytes < teraBytes) {\n // return GB if less than a TB\n this.value = parseFloat((bytes / gigaBytes).toFixed(decimals));\n this.unit = FileSizeUnit.GB;\n } else {\n // return TB for higher sizes\n this.value = parseFloat((bytes / teraBytes).toFixed(decimals));\n this.unit = FileSizeUnit.TB;\n }\n }\n\n public static fromBytes(bytes: number, decimals = 2): FileSize {\n return new FileSize(bytes, decimals);\n }\n\n public get unitFullName(): string {\n return FileSizeUnit.getUnitFullName(this.unit);\n }\n\n public toString(): string {\n return `${this.value} ${this.unit}`;\n }\n\n public get bytes(): number {\n return this.value * FileSizeUnit.toBytes(this.unit);\n }\n\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-select',{staticClass:\"dimension-selector\",attrs:{\"size\":_vm.size,\"disabled\":_vm.dimensions.length === 0 || (!_vm.hasAvailableDimensions && !_vm.filterable) || _vm.getDimensions.loading || _vm.disabled || _vm.disabledInput,\"placeholder\":_vm.placeholder,\"value\":_vm.value,\"value-key\":\"name\",\"multiple\":_vm.multiple,\"clearable\":_vm.clearable,\"filterable\":_vm.filterable,\"autocomplete\":\"none\",\"auto-complete\":\"none\",\"default-first-option\":\"\",\"popper-class\":_vm.popperClass,\"no-data-text\":\"No matching product\",\"no-match-text\":\"No matching product\",\"filter-method\":_vm.onSelectFilterChange},on:{\"visible-change\":_vm.onVisibleChange,\"change\":_vm.onDimensionSelected,\"blur\":function (e) { return _vm.$emit('blur', e); }}},[(_vm.getDimensions.loading)?_c('i',{staticClass:\"el-icon-loading\",attrs:{\"slot\":\"prefix\"},slot:\"prefix\"}):(!_vm.noIcon && (!_vm.multiple || (!_vm.visibleDropdown && _vm.hasNoValue)))?_c('ion-icon',{staticClass:\"ml-6\",attrs:{\"slot\":\"prefix\",\"name\":\"reader-outline\"},slot:\"prefix\"}):_vm._e(),_vm._l((_vm.availableDimensionsMap),function(dimensions,serviceId){return _c('el-option-group',{key:serviceId,attrs:{\"label\":_vm.serviceIdCount > 1 ? _vm.getServiceIdName(serviceId) : null}},_vm._l((dimensions),function(dimension){return _c('el-option',{key:dimension.name,attrs:{\"label\":dimension.name,\"value\":dimension}},[(!_vm.compact)?_c('licensing.dimension-selector-option',{attrs:{\"dimension\":dimension}}):_vm._e()],1)}),1)}),_vm._t(\"empty\",null,{\"slot\":\"empty\"})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { UISize } from \"@Service/Settings/Store/AppSettings/AppSettings.state\";\nimport { Dimension } from \"@Module/Licensing/Models/Dimension.model\";\nimport LicensingStore from \"@Module/Licensing/Store/Licensing.store\";\nimport { ServiceID, ServiceMap } from \"@Service/ServiceID\";\nimport { Component, MapAction, MapGetter, Prop, Watch } from \"types-vue\";\nimport { Utils } from \"@Core/Utils/Utils\";\nimport Vue from \"vue\";\nimport { Execution } from \"@Core/Models/Execution\";\nimport NavigationStore from \"@Core/Store/Navigation/Navigation.store\";\nimport IsEqual from \"lodash.isequal\";\n\n@Component\nexport default class DimensionSelector extends Vue {\n\n @Prop({ type: [String, Array], default: null })\n protected serviceId: ServiceID | ServiceID[];\n\n @Prop({ type: [Object, Array], default: null })\n protected value: Dimension | Dimension[];\n\n @Prop({ type: Boolean, default: false })\n protected disabled: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected noIcon: boolean;\n\n @Prop({ type: String, default: null })\n protected size: UISize;\n \n @Prop({ type: String, default: \"No matching dimension\" })\n protected noMatchText: string;\n\n @Prop({ type: Boolean, default: false })\n protected multiple: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected filterable: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected clearable: boolean;\n\n @Prop({ type: String, default: \"Select a dimension\" })\n protected placeholder: string;\n\n @Prop({ type: Boolean, default: false })\n protected refetch: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected compact: boolean;\n\n @Prop({ type: Object, default: null })\n protected filteredDimensions: ServiceMap;\n\n @Prop({ type: Function, default: () => () => true })\n protected filter: (dimension: Dimension) => boolean;\n\n @MapGetter(NavigationStore.Mapping)\n protected currentServiceId: ServiceID;\n\n @MapGetter(LicensingStore.Mapping)\n protected dimensions: ServiceMap;\n\n @MapAction(LicensingStore.Mapping)\n protected fetchAllDimensions: (serviceId: ServiceID) => Promise;\n\n protected searchText: string = null;\n protected visibleDropdown: boolean = false;\n protected shownDimensions: ServiceMap\n protected disabledInput: boolean = false;\n\n protected getDimensions = Execution.create(\n (serviceIds: ServiceID[]) => {\n const fetchs = serviceIds\n .filter(this.shouldRefetch)\n .map(serviceId => this.fetchAllDimensions(serviceId));\n return Promise.all(fetchs);\n });\n\n protected shouldRefetch(serviceId: ServiceID): boolean {\n if (this.refetch) { return true; }\n const serviceDims = this.dimensions[serviceId];\n return !serviceDims || (Array.isArray(serviceDims) && serviceDims.length === 0);\n }\n\n protected get selectedServiceIds(): ServiceID[] {\n let services: ServiceID[] = [this.currentServiceId];\n if (!!this.serviceId || (Array.isArray(this.serviceId) && this.serviceId.length > 0)) {\n services = Array.isArray(this.serviceId) ? this.serviceId : [this.serviceId];\n }\n return services.filter(id => !!id);\n } \n\n @Watch(\"selectedServiceIds\", { immediate: true })\n protected onServiceIdChange(newServiceIds: ServiceID[], oldServiceIds: ServiceID[]) {\n if (!IsEqual(newServiceIds, oldServiceIds)) {\n this.getDimensions.run(this.selectedServiceIds);\n this.shownDimensions = this.dimensions\n }\n }\n\n protected get availableDimensionsMap(): ServiceMap {\n if (this.filteredDimensions !== null) {\n const keys = Object.keys(this.filteredDimensions)\n if (keys.length == 1 && this.filteredDimensions[keys[0]] && this.filteredDimensions[keys[0]].length == 1){\n this.onDimensionSelected(this.filteredDimensions[keys[0]][0])\n this.disabledInput = true\n } \n return this.filteredDimensions\n } else{\n return Object.keys(this.dimensions)\n .sort((a: ServiceID, b: ServiceID) => this.getServiceIdName(a).localeCompare(this.getServiceIdName(b)))\n .filter((id: ServiceID) => this.selectedServiceIds.includes(id))\n .reduce((map, id) => {\n const dimensions: Dimension[] = this.dimensions[id]\n .filter((dim: Dimension) => {\n return this.filter(dim) && dim.meetsFilter(this.searchText)});\n if (dimensions.length > 0) {\n map[id] = dimensions;\n }\n return map;\n }, {} as ServiceMap);\n }\n \n }\n\n protected get hasAvailableDimensions(): boolean {\n const dimMap = this.availableDimensionsMap;\n const dimArr = Object.keys(dimMap).reduce((arr, serviceId) => {\n arr.push(dimMap[serviceId]);\n return arr;\n }, [] as Dimension[]);\n return dimArr.length > 0;\n }\n\n protected get serviceIdCount(): number {\n return Array.isArray(this.serviceId) \n ? this.serviceId.length \n : !!this.serviceId ? 1 : 0;\n }\n\n protected getServiceIdName(serviceId: ServiceID): string {\n return ServiceID.nameOf(serviceId);\n }\n \n protected onSelectFilterChange(text: string): void {\n this.searchText = text || null;\n }\n\n protected get hasNoValue(): boolean {\n if (!this.value) { \n return true; \n } else if (Array.isArray(this.value)) { \n return this.value.length === 0;\n } else {\n return false;\n }\n }\n\n protected async onVisibleChange(visible: boolean) {\n this.visibleDropdown = visible;\n if (visible) { return; }\n await Utils.sleep(200);\n this.searchText = null;\n }\n\n protected onDimensionSelected(dimension: Dimension | Dimension[]): void {\n const selectedDimension = dimension || null;\n this.$emit(\"input\", selectedDimension);\n this.$emit(\"update:value\", selectedDimension);\n this.$emit(\"select\", selectedDimension);\n this.$emit(\"change\", selectedDimension);\n this.searchText = null;\n }\n \n protected get popperClass() {\n const classes: string[] = [\"dimension-selector-dropdown\"]; \n if (!this.compact && this.multiple) {\n classes.push(\"is-no-checkmark\");\n }\n if (this.serviceIdCount <= 1) {\n classes.push(\"is-no-group\");\n }\n return classes.join(\" \");\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./DimensionSelector.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./DimensionSelector.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DimensionSelector.vue?vue&type=template&id=96b55284&\"\nimport script from \"./DimensionSelector.ts?vue&type=script&lang=ts&\"\nexport * from \"./DimensionSelector.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./DimensionSelector.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ErrorAlert.vue?vue&type=style&index=0&lang=scss&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Header.vue?vue&type=style&index=0&lang=scss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('core.label',{staticClass:\"copy-label\",attrs:{\"icon-position\":\"end\",\"value\":_vm.value,\"icon-size\":_vm.iconSize,\"icon-spacing\":_vm.iconSpacing}},[_c('span',{attrs:{\"slot\":\"icon\"},slot:\"icon\"},[(_vm.showSuccess)?_c('i',{staticClass:\"el-icon-success success-icon\"}):_c('el-tooltip',{attrs:{\"effect\":\"dark\",\"content\":\"Copy\",\"placement\":\"top\",\"enterable\":false,\"transition\":\"el-zoom-in-bottom\"}},[_c('i',{staticClass:\"action-icon\",class:_vm.copying ? 'el-icon-loading' : 'el-icon-copy-document',staticStyle:{\"cursor\":\"pointer\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.copy($event)}}})])],1),_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Prop } from \"types-vue\";\nimport { Utils } from \"@Core/Utils/Utils\";\nimport Vue from \"vue\";\n\n@Component\nexport default class CopyLabel extends Vue {\n\n @Prop({ type: String, required: true })\n protected value: string;\n\n @Prop({ type: String, default: \"end\" })\n protected iconPosition: \"start\" | \"end\";\n\n @Prop({ type: String, default: \"inherit\" })\n protected iconSize: string;\n\n @Prop({ type: String, default: \"4px\" })\n protected iconSpacing: string;\n\n protected copying: boolean = false;\n protected showSuccess: boolean = false;\n\n public async copy() {\n try {\n this.copying = true;\n this.copyToClipboard(this.value);\n await Utils.sleep(250);\n // this.$message({ \n // message: \"Copied to clipboard.\",\n // offset: 60,\n // type: \"success\",\n // showClose: true,\n // duration: 1000,\n // center: true\n // });\n this.showSuccess = true;\n await Utils.sleep(2000);\n this.showSuccess = false;\n } catch (error) { \n console.error(\"Error copying content.\") \n } finally {\n this.copying = false;\n }\n }\n\n private copyToClipboard(text: string) {\n const input = document.createElement(\"input\");\n input.value = text;\n document.body.appendChild(input);\n input.select();\n input.setSelectionRange(0, 99999);\n document.execCommand(\"Copy\");\n input.remove();\n }\n\n}","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./CopyLabel.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./CopyLabel.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CopyLabel.vue?vue&type=template&id=26bea02e&scoped=true&\"\nimport script from \"./CopyLabel.ts?vue&type=script&lang=ts&\"\nexport * from \"./CopyLabel.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./CopyLabel.vue?vue&type=style&index=0&id=26bea02e&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"26bea02e\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RespondInvitationPanel.vue?vue&type=style&index=0&id=0b6c21fa&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('core.dialog',{ref:\"dialog\",attrs:{\"width\":\"48rem\"},on:{\"closed\":_vm.onDialogClosed},scopedSlots:_vm._u([{key:\"footer\",fn:function(ref){\nvar cancel = ref.cancel;\nreturn _c('div',{staticClass:\"space-x-8\"},[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":cancel}},[_vm._v(\"Close\")])],1)}}])},[_c('core.label',{attrs:{\"slot\":\"title\",\"icon-spacing\":\"8px\",\"icon-size\":\"22px\"},slot:\"title\"},[_c('H1',[_vm._v(\"Pending invitations\")]),_c('i',{class:_vm.getOrgInvitationsOutbox.loading && !_vm.firstLoad ? 'el-icon-loading' : 'el-icon-postcard',attrs:{\"slot\":\"icon\"},slot:\"icon\"})],1),_c('div',{staticClass:\"space-y-16\"},[_c('div',{staticClass:\"flex container-x-8 container-y-8 flex-wrap\"},[_c('el-input',{staticClass:\"flex-3\",staticStyle:{\"min-width\":\"15rem\"},attrs:{\"disabled\":!_vm.hasNotifications,\"size\":\"small\",\"placeholder\":\"Search invitations\",\"prefix-icon\":\"el-icon-search\",\"clearable\":\"\"},model:{value:(_vm.filters.search),callback:function ($$v) {_vm.$set(_vm.filters, \"search\", $$v)},expression:\"filters.search\"}}),_c('orgs.role-selector',{staticClass:\"flex-2\",staticStyle:{\"min-width\":\"15rem\"},attrs:{\"disabled\":!_vm.hasNotifications,\"size\":\"small\",\"placeholder\":\"Filter invitations by role\",\"multiple\":\"\",\"clearable\":\"\"},model:{value:(_vm.filters.roles),callback:function ($$v) {_vm.$set(_vm.filters, \"roles\", $$v)},expression:\"filters.roles\"}},[_c('core.empty',{attrs:{\"slot\":\"empty\",\"description\":\"No matching role\",\"no-icon\":\"\",\"compact\":\"\"},slot:\"empty\"})],1)],1),(!!_vm.getOrgInvitationsOutbox.error)?_c('core.alert',{attrs:{\"type\":\"error\",\"title\":\"Invitations Error\",\"description\":_vm.getOrgInvitationsOutbox.error.message,\"closable\":false,\"plain\":\"\"}},[_c('el-button',{attrs:{\"slot\":\"footer\",\"size\":\"mini\",\"icon\":\"el-icon-refresh-right\"},on:{\"click\":_vm.getOrgInvitationsOutbox.run},slot:\"footer\"},[_c('span',[_vm._v(\"Try again\")])])],1):_c('notifications.notifications-list',{staticClass:\"m-x-4\",attrs:{\"loading\":_vm.firstLoad,\"loading-throttle\":500,\"notifications\":_vm.filteredOrgInvitationsOutbox,\"is-inbox\":false,\"hide-type-label\":\"\"}},[(_vm.isFiltering)?_c('core.empty',{staticClass:\"pb-0\",attrs:{\"slot\":\"empty\",\"compact\":\"\"},slot:\"empty\"},[_c('i',{staticClass:\"el-icon-postcard\",attrs:{\"slot\":\"icon\"},slot:\"icon\"}),_c('div',{staticClass:\"flex-y space-y-16 items-center\"},[_c('span',[_vm._v(\"No invitation meets your filtering criteria.\")]),_c('el-button',{staticClass:\"w-max-content\",attrs:{\"size\":\"small\",\"icon\":\"el-icon-delete\"},on:{\"click\":_vm.clearFilters}},[_c('span',[_vm._v(\"Clear filters\")])])],1)]):_c('core.empty',{staticClass:\"pb-0\",attrs:{\"slot\":\"empty\",\"description\":\"There are no pending invitations.\"},slot:\"empty\"},[_c('i',{staticClass:\"el-icon-postcard\",attrs:{\"slot\":\"icon\"},slot:\"icon\"})])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { OrgInvitationNotification } from \"@Module/Notifications/Models/OrgInvitationNotification.model\";\nimport { Notification, NotificationType } from \"@Module/Notifications/Models/Notification.model\";\nimport { NotificationFactory } from \"@Module/Notifications/Models/Notification.factory\";\nimport NotificationsOutboxStore from \"@Module/Notifications/Store/NotificationsOutbox.store\";\nimport { Organization } from \"@Module/Orgs/Models/Organization.model\";\nimport { Role } from \"@Module/Auth/Models/Roles/AccessRole.model\";\nimport { Component, MapAction, MapGetter } from \"types-vue\";\nimport OrgsStore from \"@Module/Orgs/Store/Orgs.store\";\nimport AuthStore from \"@Module/Auth/Store/Auth.store\";\nimport Dialog from \"@Core/Components/Dialog/Dialog\";\nimport { Execution } from \"@Core/Models/Execution\";\nimport Vue from \"vue\";\n\ninterface DialogFilters {\n search: string;\n roles: Role[];\n}\n\n@Component\nexport default class OrgInvitationsOutboxDialog extends Vue {\n\n @MapGetter(OrgsStore.Mapping)\n protected currentOrg: Organization;\n\n @MapGetter(AuthStore.Mapping)\n protected roles: Role[];\n\n @MapGetter(NotificationsOutboxStore.Mapping)\n protected orgInvitationsOutbox: OrgInvitationNotification[];\n\n @MapAction(NotificationsOutboxStore.Mapping)\n protected fetchOrgOutbox: (type: NotificationType) => Promise;\n\n protected getOrgInvitationsOutbox = Execution.create(\n () => this.fetchOrgOutbox(NotificationType.OrgInvitation)\n );\n\n protected filters: DialogFilters = {\n search: null,\n roles: []\n }\n\n protected get firstLoad(): boolean {\n return this.orgInvitationsOutbox.length === 0 \n && this.getOrgInvitationsOutbox.loading;\n }\n\n protected get isFiltering(): boolean {\n return !!this.filters.search \n || (!!this.filters.roles && this.filters.roles.length > 0);\n }\n\n protected get hasNotifications(): boolean {\n return this.orgInvitationsOutbox.length > 0;\n }\n\n protected async open(): Promise {\n this.clearFilters();\n this.getOrgInvitationsOutbox.run();\n return (this.$refs.dialog as Dialog).open();\n }\n\n protected clearFilters() {\n this.filters = { search: null, roles: [] }\n }\n\n protected get filteredOrgInvitationsOutbox(): OrgInvitationNotification[] {\n return this.orgInvitationsOutbox\n .filter(notification => notification.meetFilters(this.filters.search, this.filters.roles));\n }\n\n protected onDialogClosed() {\n this.orgInvitationsOutbox.forEach(notification => {\n if (!notification.hasUncommittedChanges) return;\n else this.discardNotificationChanges(notification);\n })\n }\n\n protected discardNotificationChanges(notification: Notification) {\n Object.assign(notification, NotificationFactory.fromDto(notification.remote));\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./OrgInvitationsOutboxDialog.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./OrgInvitationsOutboxDialog.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OrgInvitationsOutboxDialog.vue?vue&type=template&id=07cd6668&\"\nimport script from \"./OrgInvitationsOutboxDialog.ts?vue&type=script&lang=ts&\"\nexport * from \"./OrgInvitationsOutboxDialog.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('core.columns-layout',{staticClass:\"orgs-licensing-summary\",attrs:{\"show-right\":!_vm.$mq.lg,\"embedded\":\"\"}},[_c('core.query-param',{attrs:{\"name\":\"hide\",\"type\":\"boolean\"},model:{value:(_vm.filters.hideWithoutContracts),callback:function ($$v) {_vm.$set(_vm.filters, \"hideWithoutContracts\", $$v)},expression:\"filters.hideWithoutContracts\"}}),_c('core.query-param',{attrs:{\"name\":\"orgs\",\"serializer\":_vm.orgArrayParamSerializer},model:{value:(_vm.filters.orgs),callback:function ($$v) {_vm.$set(_vm.filters, \"orgs\", $$v)},expression:\"filters.orgs\"}}),_c('div',{staticClass:\"space-y-16\"},[(!!_vm.getSummary.error)?_c('core.alert',{attrs:{\"type\":\"error\",\"title\":\"Summary error\",\"description\":_vm.getSummary.error.message,\"closable\":false}},[_c('el-button',{attrs:{\"slot\":\"footer\",\"icon\":\"el-icon-refresh-right\",\"type\":\"default\",\"size\":\"mini\"},on:{\"click\":_vm.fetchSummary},slot:\"footer\"},[_c('span',[_vm._v(\"Try again\")])])],1):_c('div',{staticClass:\"space-y-16\"},[_c('core.card',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.getSummary.loading && !_vm.firstLoad),expression:\"getSummary.loading && !firstLoad\"}],attrs:{\"element-loading-text\":\"Fetching summary...\",\"bordered\":_vm.isPlainUi,\"no-padding\":\"\"}},[_c('div',{staticClass:\"flex space-x-8 p-x-16 pt-16\"},[_c('orgs.org-selector',{staticClass:\"flex-1\",attrs:{\"placeholder\":\"Filter by organization\",\"clearable\":\"\",\"multiple\":\"\"},model:{value:(_vm.filters.orgs),callback:function ($$v) {_vm.$set(_vm.filters, \"orgs\", $$v)},expression:\"filters.orgs\"}}),_c('el-checkbox',{staticClass:\"flex-none\",attrs:{\"label\":\"Hide if no contracts\",\"border\":\"\"},model:{value:(_vm.filters.hideWithoutContracts),callback:function ($$v) {_vm.$set(_vm.filters, \"hideWithoutContracts\", $$v)},expression:\"filters.hideWithoutContracts\"}}),(_vm.$mq.lg)?_c('core.filters-drawer',{attrs:{\"disabled\":_vm.firstLoad,\"clear-disabled\":!_vm.filters.isFiltering},on:{\"clear\":_vm.resetFilters}},[_c('div',{staticClass:\"orgs-summary\"},[_c('orgs.orgs-licensing-summary-filters-panel',{model:{value:(_vm.filters),callback:function ($$v) {_vm.filters=$$v},expression:\"filters\"}}),_c('el-divider',[_vm._v(\"Summary\")]),_c('div',{staticClass:\"space-y-24 p-x-8\"},[_c('core.stat-card',{attrs:{\"title\":\"Organizations Count\",\"value\":_vm.summaries.length,\"loading\":_vm.firstLoad,\"bordered\":\"\"}}),_c('licensing.licensing-status-breakdown',{attrs:{\"status\":_vm.contractsStatus(),\"loading\":_vm.getSummary.loading,\"bordered\":\"\"}}),_c('core.card',{attrs:{\"bordered\":\"\"}},[_c('H2',{staticStyle:{\"text-align\":\"center\"},attrs:{\"slot\":\"header\"},slot:\"header\"},[_vm._v(\"Service Summary\")]),_c('core.collapse',{attrs:{\"accordion\":\"\"}},_vm._l((_vm.allServices),function(service){return _c('el-collapse-item',{key:service,attrs:{\"name\":service,\"title\":_vm.serviceLabel(service)}},[_c('licensing.licensing-status-breakdown',{attrs:{\"status\":_vm.contractsStatus(service),\"loading\":_vm.getSummary.loading,\"bordered\":\"\"}})],1)}),1)],1)],1)],1)]):_vm._e()],1),_c('el-table',{ref:\"table\",staticClass:\"summary-table\",attrs:{\"data\":_vm.summaries,\"tooltip-effect\":\"light\",\"indent\":0,\"cell-class-name\":_vm.getClassForCell,\"row-key\":\"treeData.id\",\"default-sort\":{ prop: 'treeData.orgName', order: 'ascending' },\"expand-row-keys\":_vm.expandedIds},on:{\"expand-change\":_vm.onExpandChange,\"row-click\":function (row) { return _vm.$refs.table.toggleRowExpansion(row); }}},[(_vm.firstLoad)?_c('core.loading',{attrs:{\"slot\":\"empty\",\"label\":\"Fetching summaries...\",\"height\":\"7.2rem\"},slot:\"empty\"}):(_vm.summaries.length === 0 && !_vm.getSummary.loading)?_c('core.empty',{attrs:{\"slot\":\"empty\"},slot:\"empty\"},[_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"receipt-outline\"},slot:\"icon\"}),_c('div',{staticClass:\"flex-y space-y-16 items-center\"},[_c('span',[_vm._v(\"No organization meets your filtering criteria.\")]),_c('el-button',{staticClass:\"w-max-content\",attrs:{\"size\":\"small\",\"icon\":\"el-icon-delete\"},on:{\"click\":_vm.resetFilters}},[_c('span',[_vm._v(\"Clear filters\")])])],1)],1):_vm._e(),_c('el-table-column',{attrs:{\"prop\":\"treeData.orgName\",\"label\":\"Organization\",\"min-width\":\"200\",\"sortable\":_vm.hasSummaries,\"show-overflow-tooltip\":\"\"}}),_c('el-table-column',{attrs:{\"prop\":\"treeData.service\",\"min-width\":\"125\",\"label\":\"Service\",\"show-overflow-tooltip\":\"\"}}),_c('el-table-column',{attrs:{\"prop\":\"treeData.contract\",\"label\":\"Contract\",\"min-width\":\"180\",\"show-overflow-tooltip\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar row = ref.row;\nreturn [(row.treeData.contract === 'All')?_c('span',[_vm._v(\"All\")]):(!row.status)?_c('span',[_vm._v(_vm._s(row.treeData.contract))]):_c('core.label',{staticClass:\"w-full\",attrs:{\"value\":row.treeData.contract,\"icon-spacing\":\"4px\"}},[_c('el-tooltip',{attrs:{\"slot\":\"icon\",\"transition\":\"el-zoom-in-bottom\",\"enterable\":false,\"effect\":\"light\",\"placement\":\"top\",\"content\":row.status.label},slot:\"icon\"},[_c('i',{staticClass:\"contract-status-icon\",class:row.status.isActive ? 'el-icon-success' : row.status.isInGrace ? 'el-icon-warning' : 'el-icon-error'})])],1)]}}])}),_c('el-table-column',{attrs:{\"prop\":\"treeData.licenseDimension\",\"min-width\":\"120\",\"label\":\"License\",\"show-overflow-tooltip\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar row = ref.row;\nreturn [(row.treeData.licenseDimension === 'All')?_c('span',[_vm._v(\"All\")]):_c('el-tag',{attrs:{\"size\":\"mini\",\"effect\":\"dark\",\"type\":\"info\"}},[_c('span',[_vm._v(_vm._s(row.treeData.licenseDimension))])])]}}])}),_c('el-table-column',{attrs:{\"prop\":\"treeData.licenseUnits\",\"min-width\":\"100\",\"sort-method\":function (a, b) { return a.licenseUnits - b.licenseUnits; },\"sortable\":_vm.hasSummaries,\"label\":\"Units\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar row = ref.row;\nreturn _c('span',{staticClass:\"license-units\"},[_vm._v(_vm._s(row.treeData.licenseUnits))])}}])},[_c('el-tooltip',{attrs:{\"slot\":\"header\",\"effect\":\"light\",\"content\":\"Number of licenses\",\"enterable\":false,\"placement\":\"top\"},slot:\"header\"},[_c('span',[_vm._v(\"Units\")])])],1)],1)],1)],1)],1),_c('div',{staticClass:\"orgs-summary space-y-16\",attrs:{\"slot\":\"right\"},slot:\"right\"},[_c('core.filters-collapse',{attrs:{\"filtering\":_vm.filters.isFiltering,\"bordered\":_vm.isPlainUi,\"disabled\":_vm.getSummary.loading},on:{\"clear\":_vm.resetFilters}},[_c('orgs.orgs-licensing-summary-filters-panel',{model:{value:(_vm.filters),callback:function ($$v) {_vm.filters=$$v},expression:\"filters\"}})],1),_c('core.stat-card',{attrs:{\"title\":\"Organizations Count\",\"value\":_vm.summaries.length,\"loading\":_vm.firstLoad,\"bordered\":_vm.isPlainUi}}),_c('licensing.licensing-status-breakdown',{attrs:{\"status\":_vm.contractsStatus(),\"loading\":_vm.getSummary.loading,\"bordered\":_vm.isPlainUi}}),_c('core.card',{attrs:{\"bordered\":_vm.isPlainUi}},[_c('H2',{staticStyle:{\"text-align\":\"center\"},attrs:{\"slot\":\"header\"},slot:\"header\"},[_vm._v(\"Service Summary\")]),_c('core.collapse',{attrs:{\"accordion\":\"\"}},_vm._l((_vm.allServices),function(service){return _c('el-collapse-item',{key:service,attrs:{\"name\":service,\"title\":_vm.serviceLabel(service)}},[_c('licensing.licensing-status-breakdown',{attrs:{\"status\":_vm.contractsStatus(service),\"loading\":_vm.getSummary.loading,\"bordered\":\"\"}})],1)}),1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { LicensingStatus } from \"@Module/Licensing/Models/LicensingStatus.model\";\nimport { Organization } from \"./Organization.model\";\nimport { ServiceID } from \"@Service/ServiceID\";\nimport DayJS, { Dayjs } from \"dayjs\";\n\ninterface TreeData {\n id: string;\n orgName: string;\n service: string;\n contract: string;\n licenseDimension: string;\n licenseUnits: string;\n}\n\nexport interface IOrgContractLicenseSummary {\n DimensionName: string;\n NumberLicenses: number;\n}\n\nexport interface IOrgContractSummaryDto {\n ID: number;\n ExternalID: string;\n CreationDate: string;\n ExpirationDate: string;\n Status: string;\n LicensesList: IOrgContractLicenseSummary[];\n}\n\nexport interface IOrgServiceSummaryDto {\n ProductName: string;\n Contracts: IOrgContractSummaryDto[];\n}\n\nexport interface IOrgLicensingSummaryDto {\n OrgName: string;\n OrgUUID: string;\n Products: IOrgServiceSummaryDto[];\n}\n\nexport class OrgContractLicenseSummary {\n service: ServiceID;\n org: Organization;\n contractId: number;\n contractExternalId: string;\n dimension: string;\n units: number;\n\n private constructor(\n org: Organization,\n service: ServiceID,\n contractId: number,\n contractExternalId: string,\n dto: IOrgContractLicenseSummary\n ) {\n this.org = org;\n this.contractId = contractId;\n this.contractExternalId = contractExternalId;\n this.service = service;\n this.dimension = dto.DimensionName;\n this.units = dto.NumberLicenses;\n }\n\n public static fromDto(\n org: Organization,\n service: ServiceID,\n contractId: number,\n contractExternalId: string,\n dto: IOrgContractLicenseSummary\n ): OrgContractLicenseSummary {\n return new OrgContractLicenseSummary(org, service, contractId, contractExternalId, dto);\n }\n \n public get children(): any[] {\n return [];\n }\n\n public get treeData(): TreeData {\n return {\n id: `${this.org.uuid}-${this.contractId}-${this.dimension}`,\n orgName: this.org.name,\n service: ServiceID.nameOf(this.service),\n contract: this.contractExternalId,\n licenseDimension: this.dimension,\n licenseUnits: this.units.toString()\n }\n }\n}\n\nexport class OrgContractSummary {\n id: number;\n externalId: string;\n service: ServiceID;\n org: Organization;\n creation: Dayjs;\n expiration: Dayjs;\n status: LicensingStatus;\n licensesSummary: OrgContractLicenseSummary[];\n\n private constructor(\n service: ServiceID, \n org: Organization,\n dto: IOrgContractSummaryDto\n ) {\n this.id = dto.ID;\n this.externalId = dto.ExternalID;\n this.service = service\n this.org = org;\n this.creation = DayJS(dto.CreationDate);\n this.expiration = DayJS(dto.ExpirationDate);\n this.status = LicensingStatus.create(dto.Status);\n this.licensesSummary = dto.LicensesList\n .map(o => OrgContractLicenseSummary.fromDto(this.org, this.service, this.id, this.externalId, o));\n }\n\n public static fromDto(\n service: ServiceID, \n org: Organization,\n dto: IOrgContractSummaryDto): OrgContractSummary {\n return new OrgContractSummary(service, org, dto);\n }\n\n public get licenseUnits(): number {\n return this.licensesSummary.reduce((acc, curr) => {\n acc += curr.units;\n return acc++;\n }, 0);\n }\n\n public get children(): OrgContractLicenseSummary[] {\n return this.licensesSummary;\n }\n\n public get treeData(): TreeData {\n return {\n id: this.id.toString(),\n service: ServiceID.nameOf(this.service),\n orgName: this.org.name,\n contract: this.externalId,\n licenseDimension: \"All\",\n licenseUnits: this.licenseUnits.toString()\n }\n }\n}\n\nexport class OrgServiceSummary {\n org: Organization;\n service: ServiceID;\n contracts: OrgContractSummary[];\n\n private constructor(org: Organization, dto: IOrgServiceSummaryDto) {\n this.org = org;\n this.service = dto.ProductName as ServiceID;\n this.contracts = dto.Contracts\n .map(dto => OrgContractSummary.fromDto(this.service, this.org, dto));\n this.contracts.sort((a, b) => a.expiration.diff(b.expiration)).reverse();\n }\n\n public static fromDto(org: Organization, dto: IOrgServiceSummaryDto): OrgServiceSummary {\n return new OrgServiceSummary(org, dto);\n }\n\n public get licenseUnits(): number {\n return this.contracts.reduce((acc, curr) => {\n acc += curr.licenseUnits;\n return acc;\n }, 0);\n } \n\n public get children(): OrgContractSummary[] {\n return this.contracts;\n }\n\n public get treeData(): TreeData {\n return {\n id: `${this.org.uuid}-${this.service}`,\n service: ServiceID.nameOf(this.service),\n orgName: this.org.name,\n contract: \"All\",\n licenseDimension: \"All\",\n licenseUnits: this.licenseUnits.toString()\n }\n }\n}\n\nexport class OrgLicensingSummary {\n org: Organization;\n serviceSummaries: OrgServiceSummary[];\n\n private constructor(dto: IOrgLicensingSummaryDto) {\n this.org = Organization.create({ uuid: dto.OrgUUID, name: dto.OrgName });\n this.serviceSummaries = dto.Products\n .map(dto => OrgServiceSummary.fromDto(this.org, dto));\n this.serviceSummaries\n .sort((a, b) => a.treeData.service.localeCompare(b.treeData.service));\n }\n\n public static fromDto(dto: IOrgLicensingSummaryDto): OrgLicensingSummary {\n return new OrgLicensingSummary(dto);\n }\n\n public get licenseUnits(): number {\n return this.serviceSummaries.reduce((acc, curr) => {\n acc += curr.licenseUnits;\n return acc;\n }, 0);\n }\n \n public get children(): OrgServiceSummary[] {\n return this.serviceSummaries;\n }\n\n public get contracts(): OrgContractSummary[] {\n return this.serviceSummaries.map(s => s.contracts).flat();\n }\n\n public get treeData(): TreeData {\n return {\n id: this.org.uuid,\n orgName: this.org.name,\n service: \"All\",\n contract: \"All\",\n licenseDimension: \"All\",\n licenseUnits: this.licenseUnits.toString()\n }\n }\n}","import { Organization } from \"./Organization.model\";\n\nexport interface IOrgsLicensingSummaryFiltersDto {\n withTests: boolean;\n onlyActive: boolean;\n}\n\nexport class OrgsLicensingSummaryFilters {\n withTests: boolean;\n onlyActive: boolean;\n hideWithoutContracts: boolean;\n orgs: Organization[];\n\n public static create(): OrgsLicensingSummaryFilters {\n return new OrgsLicensingSummaryFilters();\n }\n private constructor() {\n this.withTests = false;\n this.onlyActive = false;\n this.hideWithoutContracts = false;\n this.orgs = [];\n }\n\n protected get dto(): IOrgsLicensingSummaryFiltersDto {\n return this.toDto();\n }\n\n public get isFiltering(): boolean {\n return this.withTests\n || this.onlyActive;\n }\n\n public toDto(): IOrgsLicensingSummaryFiltersDto {\n return {\n withTests: this.withTests,\n onlyActive: this.onlyActive\n }\n }\n\n}","import { OrgContractSummary, OrgLicensingSummary, OrgServiceSummary } from \"../../Models/OrgLicensingSummary.model\";\nimport { OrgsLicensingSummaryFilters } from \"@Module/Orgs/Models/OrgsLicensingSummaryFilters.model\";\nimport AppSettingsStore from \"@Service/Settings/Store/AppSettings/AppSettings.store\";\nimport { LicensingStatus } from \"@Module/Licensing/Models/LicensingStatus.model\";\nimport { cellCallbackParams as TreeEvent } from \"element-ui/types/table\";\nimport { Organization } from \"@Module/Orgs/Models/Organization.model\";\nimport { Serializer } from \"@Core/Components/QueryParam/QueryParam\";\nimport OrgsStore from \"@Module/Orgs/Store/Orgs.store\";\nimport { Execution } from \"@Core/Models/Execution\";\nimport { Component, MapGetter } from \"types-vue\";\nimport { ServiceID } from \"@Service/ServiceID\";\nimport Debounce from \"lodash.debounce\";\nimport OrgsApi from \"../../API/Orgs.api\";\nimport Vue from \"vue\";\n\n@Component\nexport default class OrgsLicensingSummaryView extends Vue {\n\n @MapGetter(AppSettingsStore.Mapping)\n protected isPlainUi: boolean;\n \n @MapGetter(OrgsStore.Mapping)\n protected orgArrayParamSerializer: Serializer;\n\n protected orgsSummaries: OrgLicensingSummary[] = [];\n protected getSummary = Execution.create(\n (filters: OrgsLicensingSummaryFilters) => OrgsApi.getOrgLicensingSummary(filters.toDto()), OrgsApi);\n\n protected filtersDrawerVisible: boolean = false;\n\n protected expandedIds: string[] = [];\n protected expandedOrgMaxLevel: Record = {};\n protected allServices: ServiceID[] = ServiceID.WithLicensing;\n\n protected filters: OrgsLicensingSummaryFilters = OrgsLicensingSummaryFilters.create();\n protected disableFiltersWatcher: VoidFunction = null;\n\n protected filtersBackup = {\n filters: OrgsLicensingSummaryFilters.create()\n }\n\n protected mounted() {\n this.fetchSummary();\n this.disableFiltersWatcher = this.$watch(\"filters.dto\", this.debouncedFetchSummary, { deep: true });\n }\n\n protected async resetFilters() {\n try {\n const msg = `Are you sure you want to clear all current filter criteria? This action cannot be undone.`;\n await this.$confirm(msg, \"Clear confirmation\", {\n type: \"warning\",\n confirmButtonText: \"Clear filters\",\n cancelButtonText: \"Cancel\" \n });\n this.filters = OrgsLicensingSummaryFilters.create();\n } catch {}\n }\n\n protected get firstLoad(): boolean {\n return this.orgsSummaries.length === 0 && this.getSummary.loading;\n }\n\n protected debouncedFetchSummary = Debounce(this.fetchSummary, 500);\n protected async fetchSummary() {\n const dtos = await this.getSummary.run(this.filters);\n if (!this.getSummary.error) {\n this.orgsSummaries = dtos.map(OrgLicensingSummary.fromDto);\n this.orgsSummaries.sort((a, b) => a.org.name.localeCompare(b.org.name));\n }\n }\n\n protected get hasSummaries(): boolean {\n return this.orgsSummaries.length > 0;\n }\n \n protected get summaries(): OrgLicensingSummary[] {\n return this.orgsSummaries\n .filter(s => {\n if (this.filters.hideWithoutContracts && s.children.length === 0) { return false; }\n else if (this.filters.orgs.length === 0) { return true; }\n return this.filters.orgs.some(org => org.uuid === s.org.uuid);\n });\n }\n\n protected onExpandChange(row: any, expanded: boolean) {\n const item = row as OrgLicensingSummary | OrgServiceSummary | OrgContractSummary;\n const level = this.getLevel(item);\n const orgUUID = item.org.uuid;\n\n if (expanded) {\n this.expandedIds.push(item.treeData.id);\n this.expandedOrgMaxLevel[orgUUID] = Math.max(level + 1, this.expandedOrgMaxLevel[orgUUID] ?? 0);\n } else {\n const index = this.expandedIds.indexOf(item.treeData.id);\n if (index !== -1) {\n this.expandedIds.splice(index, 1);\n }\n this.expandedOrgMaxLevel[orgUUID] = Math.min(level, this.expandedOrgMaxLevel[orgUUID] ?? 0);\n }\n }\n\n protected getClassForCell(event: TreeEvent): string {\n const item = event.row as OrgLicensingSummary | OrgServiceSummary | OrgContractSummary;\n const level = this.getLevel(item);\n const orgUUID = item.org.uuid;\n\n let cls: string[] = [];\n\n const orgExpandedMaxLevel = this.expandedOrgMaxLevel[orgUUID] || 0;\n if (orgExpandedMaxLevel > 0 && level === 0) {\n cls.push(\"expanded-org-cell\");\n }\n\n if (event.columnIndex === 0 && level === 0 && item.children.length === 0) {\n cls.push(\"no-expand-cell\");\n }\n if (level > 0) {\n cls.push(\"inner-cell\");\n }\n if (event.columnIndex <= level) {\n cls.push(\"path-cell\");\n }\n if (event.columnIndex < level) {\n cls.push(\"idem-cell\");\n }\n return cls.join(\" \");\n }\n \n protected getLevel(item: OrgLicensingSummary | OrgServiceSummary | OrgContractSummary): number {\n if (item instanceof OrgLicensingSummary) {\n return 0;\n } else if (item instanceof OrgServiceSummary) {\n return 1;\n } else if (item instanceof OrgContractSummary) {\n return 2;\n } else {\n return 3;\n }\n }\n\n protected serviceLabel(service: ServiceID): string {\n return ServiceID.nameOf(service);\n }\n\n protected contractsStatus(service?: ServiceID): LicensingStatus[] {\n const contracts = this.summaries.map(summary => summary.contracts).flat();\n return contracts.filter(c => !service || c.service === service).map(c => c.status);\n }\n\n public async onNotVisible() {\n this.disableFiltersWatcher();\n this.filtersBackup = {\n filters: this.filters\n };\n this.filters = OrgsLicensingSummaryFilters.create();\n }\n\n public async onVisible() {\n this.filters = this.filtersBackup.filters;\n await this.debouncedFetchSummary();\n this.disableFiltersWatcher = this.$watch(\"filters.dto\", this.debouncedFetchSummary, { deep: true });\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./OrgsLicensingSummaryView.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./OrgsLicensingSummaryView.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OrgsLicensingSummaryView.vue?vue&type=template&id=639b6b2a&\"\nimport script from \"./OrgsLicensingSummaryView.ts?vue&type=script&lang=ts&\"\nexport * from \"./OrgsLicensingSummaryView.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./OrgsLicensingSummaryView.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-select',{ref:\"select\",staticClass:\"role-selector\",attrs:{\"size\":_vm.size,\"disabled\":_vm.disabled || _vm.loading || _vm.roles.length === 0,\"value-key\":\"id\",\"placeholder\":_vm.loading ? 'Loading...' : _vm.placeholder,\"no-data-text\":\"No roles available\",\"no-match-text\":\"No matching role\",\"default-first-option\":\"\",\"filterable\":\"\",\"multiple\":_vm.multiple,\"clearable\":_vm.clearable,\"filter-method\":_vm.onSelectFilterChange},on:{\"visible-change\":_vm.onVisibleChange,\"change\":_vm.onRoleSelected,\"blur\":function (e) { return _vm.$emit('blur', e); }},model:{value:(_vm.internalValue),callback:function ($$v) {_vm.internalValue=$$v},expression:\"internalValue\"}},[(!_vm.multiple || (!_vm.visibleDropdown && _vm.hasNoValue))?_c('span',{staticClass:\"ml-4\",attrs:{\"slot\":\"prefix\"},slot:\"prefix\"},[_vm._t(\"prefix\",[_c('i',{class:_vm.loading ? 'el-icon-loading' : 'el-icon-setting'})])],2):_vm._e(),_vm._t(\"empty\",null,{\"slot\":\"empty\"}),_vm._l((_vm.filteredRoles),function(role){return _c('el-option',{key:role.id,attrs:{\"label\":_vm._f(\"capitalize\")(role.name),\"value\":role}})})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { UISize } from \"@Service/Settings/Store/AppSettings/AppSettings.state\";\nimport { AccessRole, Role } from \"@Module/Auth/Models/Roles/AccessRole.model\";\nimport { Component, MapGetter, Prop, Watch } from \"types-vue\";\nimport OrgsStore from \"@Module/Orgs/Store/Orgs.store\";\nimport AuthStore from \"@Module/Auth/Store/Auth.store\";\nimport { ElSelect } from \"element-ui/types/select\";\nimport { Utils } from \"@Core/Utils/Utils\";\nimport Vue from \"vue\";\n\n@Component\nexport default class RoleSelector extends Vue {\n\n @Prop({ type: [Object, Array], default: null })\n protected value: Role | Role[];\n\n @Prop({ type: String, default: null })\n protected size: UISize;\n\n @Prop({ type: Boolean, default: false })\n protected loading: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected disabled: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected defaultFirstOption: boolean;\n\n @Prop({ type: String, default: \"Access role\" })\n protected placeholder: string;\n\n @Prop({ type: Boolean, default: false })\n protected multiple: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected clearable: boolean;\n\n @MapGetter(AuthStore.Mapping)\n protected accessRole: AccessRole;\n\n @MapGetter(AuthStore.Mapping)\n protected roles: Role[];\n\n protected searchText: string = null;\n protected visibleDropdown: boolean = false;\n protected internalValue: Role | Role[] = null;\n\n protected mounted() {\n if (!this.value && this.defaultFirstOption && this.roles.length > 0) {\n this.internalValue ??= this.roles[0];\n }\n }\n\n @Watch(\"value\", { immediate: true, deep: true })\n protected onValueChange(newValue: Role | Role[]) {\n this.internalValue = newValue;\n if (!newValue && this.defaultFirstOption && !this.clearable && this.roles.length > 0) {\n this.internalValue ??= this.roles[0];\n }\n }\n\n @Watch(\"internalValue\", { immediate: true })\n protected onRoleSelected(newValue: Role | Role[]) {\n if (!newValue) {\n newValue = this.multiple ? [] : null;\n }\n this.$emit(\"input\", newValue);\n this.$emit(\"update:value\", newValue);\n this.$emit(\"select\", newValue);\n this.$emit(\"change\", newValue);\n this.searchText = null;\n }\n\n protected get filteredRoles(): Role[] {\n const filteredRoles = this.accessRole.isManaged\n ? this.roles\n : this.roles.filter(role => !role.isManaged);\n return filteredRoles.filter(role => role.meetsFilter(this.searchText))\n }\n\n protected onSelectFilterChange(text: string): void {\n this.searchText = text || null;\n }\n\n protected async onVisibleChange(visible: boolean) {\n this.visibleDropdown = visible;\n if (visible) { return; }\n await Utils.sleep(200);\n this.searchText = null;\n }\n\n public focus() {\n (this.$refs.select as ElSelect)?.focus();\n }\n\n public blur() {\n (this.$refs.select as ElSelect).blur();\n }\n\n protected get hasNoValue(): boolean {\n if (!this.value) { \n return true; \n } else if (Array.isArray(this.value)) { \n return this.value.length === 0;\n } else {\n return false;\n }\n }\n \n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./RoleSelector.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./RoleSelector.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./RoleSelector.vue?vue&type=template&id=41cde1c5&\"\nimport script from \"./RoleSelector.ts?vue&type=script&lang=ts&\"\nexport * from \"./RoleSelector.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TrialDimensionsSelector.vue?vue&type=style&index=0&id=8e503bf0&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"flex flex-wrap container-x-16 container-y-16\"},[_c('core.details',{attrs:{\"label\":\"Creation\"}},[_c('core.date-label',{attrs:{\"format\":\"MM/DD/YY HH:mm\",\"date\":_vm.contract.creation}})],1),_c('core.details',{attrs:{\"label\":\"Expiration\"}},[_c('core.date-label',{attrs:{\"format\":\"MM/DD/YY HH:mm\",\"date\":_vm.contract.expiration}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Contract } from \"@Module/Licensing/Models/Contract.model\";\nimport { Component, Prop } from \"types-vue\";\nimport Vue from \"vue\";\n\n@Component\nexport default class ContractValiditySummary extends Vue {\n\n @Prop({ type: Object, required: true })\n protected contract: Contract;\n\n @Prop({ type: Boolean, default: false })\n protected expand: boolean;\n \n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./ContractValiditySummary.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./ContractValiditySummary.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ContractValiditySummary.vue?vue&type=template&id=19b7e362&\"\nimport script from \"./ContractValiditySummary.ts?vue&type=script&lang=ts&\"\nexport * from \"./ContractValiditySummary.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MenuItem.vue?vue&type=style&index=0&id=a9c49942&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"space-y-16\"},[_c('div',{staticClass:\"flex flex-wrap container-x-24 container-y-24 extended-container\"},[_c('div',{staticClass:\"extended-section section-details flex flex-wrap\"},[_c('core.details',{staticClass:\"detail\",attrs:{\"spacing\":\"6px\"}},[_c('core.label',{attrs:{\"slot\":\"label\"},slot:\"label\"},[_c('H2',[_vm._v(\"General\")]),_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"information-circle\"},slot:\"icon\"})],1),_c('core.details',{attrs:{\"label\":\"Contract Code\"}},[_c('core.copy-label',{attrs:{\"value\":_vm.reportContract.externalId}},[_c('el-tooltip',{attrs:{\"effect\":\"light\",\"placement\":\"top\",\"content\":_vm.reportContract.externalId,\"disabled\":!_vm.contractCode.includes('...'),\"open-delay\":500}},[_c('span',[_vm._v(_vm._s(_vm.contractCode))])])],1)],1)],1),(!!_vm.reportContract.dimensions && _vm.reportContract.dimensions.length > 0)?_c('core.details',{staticClass:\"detail\",staticStyle:{\"min-width\":\"10rem\"},attrs:{\"spacing\":\"6px\"}},[_c('core.label',{attrs:{\"slot\":\"label\",\"icon-size\":\"14px\"},slot:\"label\"},[_c('H2',[_vm._v(\"Licenses\")]),_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"reader-outline\"},slot:\"icon\"})],1),_c('div',{staticClass:\"flex flex-wrap\"},_vm._l((_vm.reportContract.dimensions),function(license){return _c('core.details',{key:license.dimension,attrs:{\"label\":license.dimension}},[_c('span',[_vm._v(_vm._s(_vm._f(\"pluralize\")(((license.units) + \" license\"),license.units)))])])}),1)],1):_vm._e(),(_vm.reportContract.extendedContractId)?_c('div',{staticClass:\"flex flex-wrap\"},[_c('core.details',{staticClass:\"detail\",staticStyle:{\"min-width\":\"10rem\"},attrs:{\"spacing\":\"6px\"}},[_c('core.label',{attrs:{\"slot\":\"label\",\"icon-size\":\"14px\"},slot:\"label\"},[_c('H2',[_vm._v(\"Extended Contract\")]),_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"reader-outline\"},slot:\"icon\"})],1),_c('div',{staticClass:\"flex items-start content-space-between\"},[(!_vm.reportContract.extendedContractId)?_c('span',{staticClass:\"text-disabled\"},[_vm._v(\"N/A\")]):_c('el-button',{attrs:{\"size\":\"mini\",\"type\":\"primary\",\"icon\":\"el-icon-more\"},on:{\"click\":function($event){return _vm.onViewContract(_vm.reportContract.extendedContractId)}}},[_c('span',[_vm._v(\"View contract details\")])])],1)],1)],1):_vm._e(),(_vm.reportContract.leadGenerator)?_c('core.details',{staticClass:\"detail\",staticStyle:{\"min-width\":\"10rem\"},attrs:{\"spacing\":\"6px\"}},[_c('core.label',{attrs:{\"slot\":\"label\",\"icon-size\":\"14px\"},slot:\"label\"},[_c('H2',[_vm._v(\"Lead Generator\")]),_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"reader-outline\"},slot:\"icon\"})],1),_c('div',{staticClass:\"flex flex-wrap\"},[_c('span',[_vm._v(_vm._s(_vm.reportContract.leadGenerator.leadGenerator.name))])])],1):_vm._e()],1),_c('div',{staticClass:\"extended-section billing-periods\"},[_c('reports.billing-period',{attrs:{\"contractId\":_vm.reportContract.id,\"reportContract\":_vm.reportContract}})],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Utils } from \"@Core/Utils/Utils\";\nimport { ReportContract } from \"@Module/Reports/Models/ReportContract.model\";\nimport { watch } from \"fs\";\nimport { Component, Prop, Watch } from \"types-vue\";\nimport Vue from \"vue\";\n\n@Component\nexport default class ReportContractsExpand extends Vue {\n\n @Prop({ type: Object, required: true })\n protected reportContract: ReportContract;\n\n protected contractExtendedLink: string = \"\";\n\n protected get contractCode(): string {\n if (this.$mq.md) return Utils.smartTrim(this.reportContract.externalId, 14);\n else return Utils.smartTrim(this.reportContract.externalId, 16);\n }\n\n protected onViewContract(contractId: number) {\n this.$emit(\"select-contract\", contractId);\n }\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./ReportContractsExpand.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./ReportContractsExpand.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ReportContractsExpand.vue?vue&type=template&id=1b15e3b4&\"\nimport script from \"./ReportContractsExpand.ts?vue&type=script&lang=ts&\"\nexport * from \"./ReportContractsExpand.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./ReportContractsExpand.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-select',{staticClass:\"aws-region-selector\",attrs:{\"value\":_vm.value,\"placeholder\":_vm.placeholder,\"disabled\":_vm.disabled,\"popper-class\":\"aws-region-selector-dropdown\",\"remote\":\"\",\"remote-method\":function (text) { return _vm.searchText = text || null; },\"value-key\":\"code\",\"clearable\":\"\",\"filterable\":\"\",\"autocomplete\":\"none\",\"auto-complete\":\"none\",\"default-first-option\":\"\"},on:{\"visible-change\":_vm.onVisibleChange,\"change\":_vm.onRegionSelected}},[_c('i',{staticClass:\"el-icon-location-information ml-6\",attrs:{\"slot\":\"prefix\"},slot:\"prefix\"}),(!!_vm.searchText)?_c('core.empty',{attrs:{\"slot\":\"empty\",\"description\":\"No region meets your filtering criteria.\"},slot:\"empty\"},[_c('i',{staticClass:\"el-icon-location-information\",attrs:{\"slot\":\"icon\"},slot:\"icon\"})]):_c('core.empty',{attrs:{\"slot\":\"empty\",\"description\":\"There are no available regions.\"},slot:\"empty\"},[_c('i',{staticClass:\"el-icon-location-information\",attrs:{\"slot\":\"icon\"},slot:\"icon\"})]),_vm._l((_vm.filteredRegions),function(regions,regionGroup){return _c('el-option-group',{key:regionGroup,attrs:{\"label\":regionGroup}},_vm._l((regions),function(region){return _c('el-option',{key:region.code,attrs:{\"label\":((region.name) + \" (\" + (region.code) + \")\"),\"value\":region}},[_c('div',{staticClass:\"aws-region-option flex content-space-between items-center space-x-8\"},[_c('span',[_vm._v(_vm._s(region.name))]),_c('small',[_vm._v(_vm._s(region.code))])])])}),1)})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export interface AwsRegion {\n name: string;\n code: string;\n}\n\nexport namespace AwsRegion {\n export const AllByRegion = {\n \"United States\": [\n { name: 'N. Virginia', code: 'us-east-1' },\n { name: 'Ohio', code: 'us-east-2' },\n { name: 'N. California', code: 'us-west-1' },\n { name: 'Oregon', code: 'us-west-2' }\n ],\n \"Africa\": [\n { name: 'Cape Town', code: 'af-south-1' }\n ],\n \"Asia Pacific\": [\n { name: 'Hong Kong', code: 'ap-east-1' },\n { name: 'Mumbai', code: 'ap-south-1' },\n { name: 'Seoul', code: 'ap-northeast-2' },\n { name: 'Singapore', code: 'ap-southeast-1' },\n { name: 'Sydney', code: 'ap-southeast-2' },\n { name: 'Tokyo', code: 'ap-northeast-1' }\n ],\n \"Canada\": [\n { name: 'Central', code: 'ca-central-1' }\n ],\n \"Europe\": [\n { name: 'Frankfurt', code: 'eu-central-1' },\n { name: 'Ireland', code: 'eu-west-1' },\n { name: 'London', code: 'eu-west-2' },\n { name: 'Milan', code: 'eu-south-1' },\n { name: 'Paris', code: 'eu-west-3' },\n { name: 'Stockholm', code: 'eu-north-1' }\n ],\n \"Middle East\": [\n { name: 'Bahrain', code: 'me-south-1' }\n ],\n \"South America\": [\n { name: 'São Paulo', code: 'sa-east-1' }\n ]\n };\n \n export const All: AwsRegion[] = [\n { name: 'N. Virginia', code: 'us-east-1' },\n { name: 'Ohio', code: 'us-east-2' },\n { name: 'N. California', code: 'us-west-1' },\n { name: 'Oregon', code: 'us-west-2' },\n { name: 'Cape Town', code: 'af-south-1' },\n { name: 'Hong Kong', code: 'ap-east-1' },\n { name: 'Mumbai', code: 'ap-south-1' },\n { name: 'Seoul', code: 'ap-northeast-2' },\n { name: 'Singapore', code: 'ap-southeast-1' },\n { name: 'Sydney', code: 'ap-southeast-2' },\n { name: 'Tokyo', code: 'ap-northeast-1' },\n { name: 'Central', code: 'ca-central-1' },\n { name: 'Frankfurt', code: 'eu-central-1' },\n { name: 'Ireland', code: 'eu-west-1' },\n { name: 'London', code: 'eu-west-2' },\n { name: 'Milan', code: 'eu-south-1' },\n { name: 'Paris', code: 'eu-west-3' },\n { name: 'Stockholm', code: 'eu-north-1' },\n { name: 'Bahrain', code: 'me-south-1' },\n { name: 'São Paulo', code: 'sa-east-1' }\n ].sort((a, b) => a.name.localeCompare(b.name));\n\n export function findByCode(code: string): AwsRegion {\n return AwsRegion.All.find(region => code === region.code);\n }\n}","import { AwsRegion } from \"@Core/Models/AwsRegion.model\";\nimport { Utils } from \"@Core/Utils/Utils\";\nimport { Component, Prop } from \"types-vue\";\nimport Vue from \"vue\";\n\n@Component\nexport default class AwsRegionSelector extends Vue {\n\n @Prop({ type: Object, default: null })\n protected value: AwsRegion;\n\n @Prop({ type: String, default: \"Select an AWS region\" })\n protected placeholder: string;\n\n @Prop({ type: Boolean, default: false })\n protected disabled: boolean;\n\n @Prop({ type: Function, default: () => () => true })\n protected filter: (region: AwsRegion) => boolean;\n\n protected searchText: string = null;\n\n protected onRegionSelected(region: AwsRegion) {\n const selectedRegion = region || null;\n this.$emit(\"input\", selectedRegion);\n this.$emit(\"update:value\", selectedRegion);\n this.$emit(\"select\", selectedRegion);\n this.searchText = null;\n }\n\n protected get filteredRegions(): Record {\n return Object.keys(AwsRegion.AllByRegion)\n .reduce((regionsMap, regionGroup) => {\n const regions = AwsRegion.AllByRegion[regionGroup] as AwsRegion[];\n const filteredRegions = regions.filter(region => {\n const meetsFilter = this.filter(region);\n if (!meetsFilter) { return false; }\n const text = this.searchText?.toLowerCase() || \"\";\n return region.name.toLowerCase().includes(text) || region.code.toLowerCase().includes(text);\n });\n if (filteredRegions.length > 0) {\n regionsMap[regionGroup] = filteredRegions;\n }\n return regionsMap;\n }, {} as Record);\n }\n\n protected async onVisibleChange(visible: boolean) {\n if (visible) { return; }\n await Utils.sleep(200);\n this.searchText = null;\n }\n\n}","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./AwsRegionSelector.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./AwsRegionSelector.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AwsRegionSelector.vue?vue&type=template&id=622bd9e4&\"\nimport script from \"./AwsRegionSelector.ts?vue&type=script&lang=ts&\"\nexport * from \"./AwsRegionSelector.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { ConsoleError } from \"@Core/Errors/ConsoleError\";\nimport { IOrgsLicensingSummaryFiltersDto } from \"../Models/OrgsLicensingSummaryFilters.model\";\n\ninterface GetOrgLicensingSummaryApiErrorMeta {\n filters: IOrgsLicensingSummaryFiltersDto;\n}\n\nexport class GetOrgLicensingSummaryApiError extends ConsoleError {}","import { IUpdateOrganizationDto } from \"../Models/Organization.model\";\nimport { ConsoleError } from \"@Core/Errors/ConsoleError\";\n\ninterface UpdateOrgApiErrorMeta {\n uuid: string;\n dto: IUpdateOrganizationDto;\n}\n\nexport class UpdateOrgApiError extends ConsoleError {}","import { ConsoleError } from \"@Core/Errors/ConsoleError\";\n\ninterface GetOrgRolesApiErrorMeta {\n filter?: string;\n}\n\nexport class GetOrgRolesApiError extends ConsoleError {}","import { ConsoleError } from \"@Core/Errors/ConsoleError\";\n\ninterface GetOrgSuggestionsApiErrorMeta {}\n\nexport class GetOrgSuggestionsApiError extends ConsoleError {}","import { Organization } from \"../Models/Organization.model\";\nimport { ConsoleError } from \"@Core/Errors/ConsoleError\";\n\ninterface CreateOrgApiErrorMeta {\n organization: Organization;\n}\n\nexport class CreateOrgApiError extends ConsoleError {}","import { ConsoleError } from \"@Core/Errors/ConsoleError\";\nimport { Organization } from \"../Models/Organization.model\";\n\ninterface SetDefaultOrganizationApiErrorMeta {\n organization: Organization;\n}\n\nexport class SetDefaultOrganizationApiError extends ConsoleError {}","import { Organization } from \"../Models/Organization.model\";\nimport { ConsoleError } from \"@Core/Errors/ConsoleError\";\n\ninterface GetOrgChildrenApiErrorMeta {\n organization: Organization;\n}\n\nexport class GetOrgChildrenApiError extends ConsoleError {}","import { GetOrgLicensingSummaryApiError } from \"../Errors/GetOrgLicensingSummaryApiError\";\nimport { IOrgLicensingSummaryDto } from \"../Models/OrgLicensingSummary.model\";\nimport { IOrganizationDto, Organization } from \"../Models/Organization.model\";\nimport { AxiosRequestConfig } from \"axios\";\nimport AxiosAPI from \"@Core/API/AxiosAPI\";\nimport { UpdateOrgApiError } from \"../Errors/UpdateOrgApiError\";\nimport { IOrgsLicensingSummaryFiltersDto } from \"../Models/OrgsLicensingSummaryFilters.model\";\nimport { IOrganizationRoleDto } from \"../Models/Roles/OrganizationRole.model\";\nimport { GetOrgRolesApiError } from \"../Errors/GetOrgRolesApiError\";\nimport { GetOrgSuggestionsApiError } from \"../Errors/GetOrgSuggestionsApiError\";\nimport { CreateOrgApiError } from \"../Errors/CreateOrgApiError\";\nimport { SetDefaultOrganizationApiError } from \"../Errors/SetDefaultOrganizationApiError\";\nimport { GetOrgChildrenApiError } from \"../Errors/GetOrgChildrenApiError\";\nimport { Utils } from \"@Core/Utils/Utils\";\n\nclass OrgsAPI extends AxiosAPI {\n private static instance: OrgsAPI;\n\n public static get Instance(): OrgsAPI {\n return this.instance || (this.instance = new this());\n }\n\n protected url(slug?: string): string {\n const baseUrl = `${process.env.VUE_APP_SERVICE_URL_BACKEND}/organizations`;\n return !!slug ? `${baseUrl}/${slug}` : baseUrl;\n }\n\n public async fetchOrgAPIKey(organization: Organization): Promise {\n try {\n const url = this.url(`apikey`)+`?orgUUID=${organization.uuid}`;\n const response = await this.axios.get(url);\n\n return response.data;\n } catch (error) {\n const message = `An error occurred while retrieving organization API key.`;\n throw new Error(message);\n }\n }\n\n\n public async getOrgRoles(filter?: string): Promise {\n try {\n const url = this.url(\"roles\");\n const config: AxiosRequestConfig = { params: { filter } }; \n const response = await this.axios.get(url, config);\n return response.data;\n } catch (error) {\n const message = `An error occurred while retrieving user organizations role.`;\n throw new GetOrgRolesApiError(message, { \n cause: error, \n meta: { filter }\n });\n }\n }\n\n public async getOrgSuggestions(): Promise {\n try {\n const url = this.url(\"suggestions\");\n const response = await this.axios.get(url);\n return response.data;\n } catch (error) {\n const message = `An error occurred retrieving organization suggestions. Please try again.`;\n throw new GetOrgSuggestionsApiError(message, {\n cause: error\n });\n }\n }\n\n public async createOrganization(organization: Organization): Promise {\n try {\n const url = this.url(\"new\");\n const response = await this.axios.post(url, organization.toDto());\n return response.data;\n } catch (error) {\n const message = `An error occurred creating organization. Please try again.`;\n throw new CreateOrgApiError(message, {\n cause: error,\n meta: { organization }\n })\n }\n }\n\n public async setDefaultOrganization(organization: Organization): Promise {\n try {\n const url = this.url(`${organization.id.toString()}/default`);\n await this.axios.put(url, {});\n } catch (error) {\n const message = `An error occurred configuring your default organization. Please try again.`;\n throw new SetDefaultOrganizationApiError(message, {\n cause: error,\n meta: { organization }\n });\n }\n }\n\n public async getOrgLicensingSummary(filters: IOrgsLicensingSummaryFiltersDto): Promise {\n try {\n const url = this.url(\"all\");\n const response = await this.axios.get(url, { params: filters });\n return response.data;\n } catch (error) {\n const message = \"An error occurred while retrieving organization licensing summary. Please try again later.\";\n throw new GetOrgLicensingSummaryApiError(message, {\n cause: error,\n meta: { filters }\n });\n }\n }\n\n public async getOrgChildren(organization: Organization): Promise {\n try {\n const url = this.url(`${organization.id.toString()}/children`);\n const response = await this.axios.get(url);\n return response.data;\n } catch (error) {\n const message = \"An error occurred while retrieving organization children. Please try again later.\";\n throw new GetOrgChildrenApiError(message, {\n cause: error,\n meta: { organization }\n })\n }\n }\n\n public async updateOrg(org: Organization): Promise {\n try {\n const updateDto = org.toUpdateDto();\n const url = this.url(org.id.toString());\n const response = await this.axios.put(url, updateDto);\n return response.data;\n } catch (error) {\n const message = \"An error occurred while updating organization. Please try again later.\";\n throw new UpdateOrgApiError(message, {\n cause: error,\n meta: { uuid: org.uuid, dto: org.toUpdateDto() }\n });\n }\n }\n \n}\n\nexport default OrgsAPI.Instance;","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ServiceSelector.vue?vue&type=style&index=0&lang=scss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('core.alert',{staticClass:\"error-alert\",attrs:{\"type\":\"error\",\"title\":_vm.title,\"description\":_vm.error.message,\"closable\":_vm.closable,\"show-icon\":_vm.showIcon}},[_vm._t(\"title\",null,{\"slot\":\"title\",\"error\":_vm.error}),(!_vm.disableExpanse)?_c('core.collapse',{model:{value:(_vm.expandedSections),callback:function ($$v) {_vm.expandedSections=$$v},expression:\"expandedSections\"}},[_c('el-collapse-item',{attrs:{\"name\":\"details\"}},[_vm._t(\"default\",[_c('div',{staticClass:\"flex space-x-8 w-full pr-6\"},[_c('div',{staticClass:\"flex-1\"},[_vm._v(_vm._s(_vm.error.message))]),_c('span',{staticClass:\"details-label flex-0 items-self-center text-semibold\"},[_vm._v(\"Details\")])])],{\"slot\":\"title\",\"error\":_vm.error}),_c('div',{staticClass:\"error-details p-y-8 p-x-16\"},[_c('div',{staticClass:\"flex flex-wrap container-x-16 container-y-8\"},[_c('core.details',{attrs:{\"spacing\":\"0px\",\"label\":\"Cause\",\"value\":_vm.error.cause.message}})],1)])],2)],1):_vm._e(),_vm._t(\"footer\",null,{\"slot\":\"footer\",\"error\":_vm.error})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { ConsoleError } from \"@Core/Errors/ConsoleError\";\nimport { Component, Prop } from \"types-vue\";\nimport Vue from \"vue\";\n\nconst enum ExpandableSection {\n Details = \"details\"\n}\n\n@Component\nexport default class ErrorAlert extends Vue {\n\n @Prop({ type: Error, required: true })\n protected error: ConsoleError;\n \n @Prop({ type: String })\n protected title: string;\n\n @Prop({ type: Boolean })\n protected closable: boolean;\n\n @Prop({ type: Boolean })\n protected showIcon: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected disableExpanse: boolean;\n\n protected expandedSections: ExpandableSection[] = [];\n\n}","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./ErrorAlert.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./ErrorAlert.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ErrorAlert.vue?vue&type=template&id=f45c9166&scoped=true&\"\nimport script from \"./ErrorAlert.ts?vue&type=script&lang=ts&\"\nexport * from \"./ErrorAlert.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./ErrorAlert.vue?vue&type=style&index=0&lang=scss&\"\nimport style1 from \"./ErrorAlert.vue?vue&type=style&index=1&id=f45c9166&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"f45c9166\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('core.dialog',{ref:\"dialog\",attrs:{\"width\":\"28.8rem\",\"top\":\"13vh\",\"before-close\":_vm.dialogCloseGuard},on:{\"closed\":_vm.onClosed},scopedSlots:_vm._u([{key:\"footer\",fn:function(ref){\nvar cancel = ref.cancel;\nvar success = ref.success;\nreturn _c('div',{staticClass:\"space-x-8\"},[(_vm.exportComplete)?_c('el-button',{attrs:{\"type\":\"text\"},on:{\"click\":success}},[_c('span',[_vm._v(\"Close\")])]):_vm._e(),(!_vm.exportComplete)?_c('el-button',{attrs:{\"type\":\"text\",\"disabled\":_vm.exportBackups.loading},on:{\"click\":cancel}},[_c('span',[_vm._v(\"Cancel\")])]):_vm._e(),(!_vm.exportComplete)?_c('el-button',{attrs:{\"type\":\"primary\",\"loading\":_vm.exportBackups.loading,\"disabled\":!_vm.hasRecords},on:{\"click\":_vm.startExport}},[(_vm.exportBackups.loading)?_c('span',[_vm._v(\"Exporting\")]):_c('span',[_vm._v(\"Start Export\")])]):_vm._e()],1)}}])},[_c('core.label',{attrs:{\"slot\":\"title\",\"icon-size\":\"16px\"},slot:\"title\"},[_c('H1',[_vm._v(\"Backups Export\")]),_c('i',{staticClass:\"el-icon-download\",attrs:{\"slot\":\"icon\"},slot:\"icon\"})],1),_c('el-steps',{staticClass:\"mb-16\",attrs:{\"active\":_vm.currentExportStep,\"finish-status\":\"success\",\"process-status\":!!_vm.exportBackups.error ? 'error' : 'process',\"simple\":\"\"}},[_c('el-step',{attrs:{\"title\":\"Configure export\",\"icon\":_vm.exportBackups.loading ? 'el-icon-loading' : 'el-icon-document'}}),_c('el-step',{attrs:{\"title\":\"Download file\",\"icon\":\"el-icon-download\"}})],1),(_vm.exportComplete)?_c('div',{staticClass:\"space-y-16 flex-y items-center\"},[_c('core.alert',{attrs:{\"type\":\"success\",\"title\":\"Export complete\",\"closable\":false,\"description\":\"Backup history export successfully completed.\",\"plain\":\"\"}}),_c('div',{staticClass:\"flex flex-wrap container-x-16 container-y-16\"},[_c('core.details',{staticClass:\"flex-none\",attrs:{\"label\":\"Record Count\"}},[_c('span',[_vm._v(_vm._s(_vm._f(\"pluralize\")((_vm.recordCount + \" record\"),_vm.recordCount)))])]),_c('core.details',{staticClass:\"flex-none\",attrs:{\"label\":\"File Name\"}},[_c('span',[_vm._v(_vm._s(this.exportResult.name))])])],1),_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"primary\",\"icon\":\"el-icon-document\"},on:{\"click\":_vm.downloadBackupsHistoryFile}},[_c('span',[_vm._v(\"Download file\")])])],1):_c('div',{staticClass:\"space-y-16\"},[_c('div',[_vm._v(\"All the backup records that meet the specified filters will be included. The resulting file will contain all the records, ignoring pagination.\")]),_c('core.details',{attrs:{\"label\":\"Record Count\"}},[_c('span',[_vm._v(_vm._s(_vm._f(\"pluralize\")((_vm.recordCount + \" record\"),_vm.recordCount)))])]),_c('core.details',{attrs:{\"label\":\"Export File Format\"}},[_c('el-select',{staticClass:\"w-full\",attrs:{\"disabled\":_vm.exportBackups.loading || !_vm.hasRecords},model:{value:(_vm.exportFormat),callback:function ($$v) {_vm.exportFormat=$$v},expression:\"exportFormat\"}},[_c('i',{staticClass:\"el-icon-document ml-6\",attrs:{\"slot\":\"prefix\"},slot:\"prefix\"}),_c('el-option',{attrs:{\"label\":\"Comma Separated Values (.csv)\",\"value\":\"csv\"}}),_c('el-option',{attrs:{\"label\":\"Excel Binary File Format (.xls)\",\"value\":\"xls\"}})],1)],1),_c('transition',{attrs:{\"name\":\"el-zoom-in-top\"}},[(!!_vm.exportBackups.error)?_c('core.alert',{attrs:{\"type\":\"error\",\"title\":\"Export error\",\"closable\":false,\"description\":_vm.exportBackups.error.message,\"plain\":\"\"}}):_vm._e()],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { BackupFilters } from \"@Service/Emory/Models/Backups/BackupFilters.model\";\nimport EmoryBackupsApi from \"@Service/Emory/API/EmoryBackups.api\";\nimport FileDownloadMixin from \"@Core/Mixins/FileDownload.mixin\";\nimport { ExportFormat } from \"@Core/Models/ExportFormat.model\";\nimport Dialog from \"@Core/Components/Dialog/Dialog\";\nimport { Execution } from \"@Core/Models/Execution\";\nimport { Prop } from \"vue-property-decorator\";\nimport { Component, mixins } from \"types-vue\";\n\ninterface FileRequestResult {\n name: string;\n content: string;\n base64: boolean;\n downloaded: boolean;\n}\n\nconst enum ExportStep { \n Configuration, \n Download \n}\n\n@Component\nexport default class EmoryBackupExportDialog extends mixins(FileDownloadMixin) {\n\n @Prop({ type: Object, required: true })\n protected filters: BackupFilters;\n\n @Prop({ type: Number, required: true })\n protected recordCount: number;\n\n protected exportResult: FileRequestResult = null;\n protected exportFormat = ExportFormat.CSV;\n protected exportBackups = Execution.create(EmoryBackupsApi.getBackupsExport, EmoryBackupsApi);\n\n public open() {\n return (this.$refs.dialog as Dialog).open();\n }\n\n protected onClosed() {\n this.exportResult = null;\n this.exportBackups.reset();\n this.exportFormat = ExportFormat.CSV\n }\n\n protected get currentExportStep(): ExportStep {\n return !this.exportResult ? ExportStep.Configuration : ExportStep.Download;\n }\n\n protected async startExport() {\n this.exportBackups.reset();\n const content = await this.exportBackups.run(this.filters.toDto(), this.exportFormat);\n const name = `Export-${new Date().getTime()}.zip`;\n if (!this.exportBackups.error) {\n this.exportResult = { \n name, content, \n base64: true, \n downloaded: false \n };\n }\n }\n\n protected async downloadBackupsHistoryFile(): Promise {\n const content = this.exportResult.content;\n const fileName = this.exportResult.name;\n const base64 = this.exportResult.base64;\n this.downloadFile(fileName, content, { base64 });\n this.exportResult.downloaded = true;\n }\n\n protected get exportComplete(): boolean {\n return this.currentExportStep === ExportStep.Download;\n }\n\n protected get forgotDownload(): boolean {\n return !!this.exportResult && !this.exportResult.downloaded;\n }\n\n protected get hasRecords(): boolean {\n return this.recordCount > 0;\n }\n\n protected async dialogCloseGuard(close: VoidFunction) {\n if (this.exportBackups.loading) {\n try {\n await this.$confirm(\n \"Your backups are still being exported, if you close the dialog you will not be able to download the resulting file.\",\n \"Export warning\",\n { confirmButtonText: \"Close and skip download\", cancelButtonText: \"Cancel\", type: \"warning\" });\n } catch { return; }\n }\n if (this.forgotDownload) {\n try {\n await this.$confirm(\n \"The export process is complete, however you have not downloaded the resulting file.\",\n \"Export download warning\",\n { confirmButtonText: \"Close and skip download\", cancelButtonText: \"Cancel\", type: \"warning\" });\n } catch { return; }\n }\n close()\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./EmoryBackupExportDialog.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./EmoryBackupExportDialog.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./EmoryBackupExportDialog.vue?vue&type=template&id=7fca445e&\"\nimport script from \"./EmoryBackupExportDialog.ts?vue&type=script&lang=ts&\"\nexport * from \"./EmoryBackupExportDialog.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var map = {\n\t\"./AbapSuite/router.ts\": \"85cf\",\n\t\"./Console/router.ts\": \"52be\",\n\t\"./Emory/router.ts\": \"b5e6\",\n\t\"./Preinstalled/router.ts\": \"d734\",\n\t\"./Settings/router.ts\": \"c7e5\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\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 map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"824c\";","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UsersRoleManager.vue?vue&type=style&index=0&id=9a4f9e10&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"space-y-16\"},[_c('el-form',{attrs:{\"label-width\":\"110px\",\"label-position\":\"right\"}},[_c('el-select',{staticClass:\"w-full\",attrs:{\"disabled\":_vm.leadGenerators.length === 0,\"value\":_vm.value,\"value-key\":\"id\",\"placeholder\":_vm.placeholder,\"placeholder\":\"Select a lead generator\",\"filterable\":\"\"},on:{\"change\":_vm.onLeadGeneratorSelected}},[_vm._l((_vm.leadGenerators),function(item){return _c('el-option',{key:item.id,attrs:{\"label\":item.name,\"value\":item.id}})}),_c('core.empty',{attrs:{\"slot\":\"empty\",\"description\":\"No lead generator meets your filtering criteria.\"},slot:\"empty\"},[_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"cube-outline\"},slot:\"icon\"})],1)],2)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Prop, Watch } from \"types-vue\";\nimport Vue from \"vue\";\nimport { LeadGenerator } from \"@Module/Reports/Models/LeadGenerator.model\";\n\n\n@Component\nexport default class LeadGeneratorSelector extends Vue {\n\n @Prop({ type: String, default: \"Pick a lead generator\" })\n protected placeholder: string;\n\n @Prop({ type: [Object, Array], default: null })\n protected leadGenerators: LeadGenerator[];\n\n @Prop({ type: Number, default: null })\n protected value: Number;\n\n @Prop({ type: Boolean, default: false })\n protected disabled: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected allowBrowsing: boolean;\n\n protected searchText: string = null;\n\n\n protected onLeadGeneratorSelected(leadGenerator: Number ): void {\n const selectedLeadGenerator = leadGenerator || null;\n this.$emit(\"input\", selectedLeadGenerator);\n this.$emit(\"update:value\", selectedLeadGenerator);\n this.$emit(\"select\", selectedLeadGenerator);\n this.$emit(\"change\", selectedLeadGenerator);\n this.searchText = null;\n } \n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./LeadGeneratorSelector.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./LeadGeneratorSelector.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LeadGeneratorSelector.vue?vue&type=template&id=9eb821a4&\"\nimport script from \"./LeadGeneratorSelector.ts?vue&type=script&lang=ts&\"\nexport * from \"./LeadGeneratorSelector.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LicenseExchangeStatusCell.vue?vue&type=style&index=0&lang=scss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('core.layout',[_c('div',{staticClass:\"backup-home\"},[(_vm.permissions.CanRequestTrial)?_c('emory.emory-trial-dialog',{ref:\"trialDialog\"}):_vm._e(),_c('div',{staticClass:\"space-y-16\"},[_c('div',{staticClass:\"flex container-y-8 flex-wrap items-center w-full space-x-8 content-space-between\"},[_c('core.title',[_c('core.label',{attrs:{\"icon-size\":\"20px\",\"icon-spacing\":\".5rem\"}},[_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"bookmark\"},slot:\"icon\"}),_c('H1',[_vm._v(\"CxLink Backup\")])],1)],1),_c('div',{staticClass:\"flex space-x-8 content-end\"},[(_vm.permissions.CanManageIssues)?_c('el-button',{attrs:{\"size\":\"small\",\"icon\":\"el-icon-chat-line-square\"},on:{\"click\":_vm.openIssueManager}},[_c('span',[_vm._v(\"Manage issues\")])]):_vm._e()],1)],1),_c('div',{staticClass:\"columns-wrap flex flex-wrap container-x-24 container-y-24\"},[_c('div',{staticClass:\"service-info space-y-24\"},[_c('div',[_c('H2',{staticClass:\"mb-8\"},[_vm._v(\"About CxLink Backup\")]),_c('p',[_vm._v(\"CxLink Backup is a state-of-the-art, SAP certified software solution designed to seamlessly back up and manage SAP and non-SAP database systems in the cloud. Compatible with all hyperscaler cloud platforms like AWS, Microsoft Azure or Google Cloud, CxLink Backup ensures the security of encrypted data and supports all SAP-supported databases including Oracle, SAP 4/HANA and Microsoft SQL Server. This cost-effective and resource-efficient solution stores data directly in the cloud, eliminating the need for local disk storage. \")]),_c('p',[_vm._v(\"Highly configurable to optimize performance during backup processes, CxLink Backup provides an interface with advanced functionality for streamlined license management and backup monitoring. Allows different teams to manage databases effortlessly. Constantly evolving, CxLink Backup offers real-time backup status updates and expanded functionality, ensuring a versatile and reliable data protection solution for your organization.\")]),(!_vm.sessionToken)?_c('core.alert',{staticClass:\"mt-16\",attrs:{\"type\":\"info\",\"closable\":false,\"title\":\"Service trial available\",\"description\":\"Sign up or sign into your account to request your trial period.\",\"compact\":\"\"}}):(_vm.permissions.CanPurchaseContracts || (_vm.permissions.CanRequestTrial && !!_vm.emoryTrialInfo && _vm.emoryTrialInfo.canApply))?_c('div',{staticClass:\"flex space-x-16 content-space-between pt-4\"},[(_vm.permissions.CanPurchaseContracts)?_c('core.purchase-popover',{attrs:{\"placement\":\"top\"}}):_vm._e(),(_vm.permissions.CanRequestTrial && !!_vm.emoryTrialInfo && _vm.emoryTrialInfo.canApply)?_c('el-button',{attrs:{\"type\":\"text\",\"loading\":!_vm.emoryTrialInfo},on:{\"click\":_vm.startTrial}},[_c('ion-icon',{staticClass:\"mr-6\",attrs:{\"name\":\"flask\"}}),_c('span',[_vm._v(\"Start your trial\")])],1):_vm._e()],1):_vm._e()],1),_c('div',{staticClass:\"space-y-8\"},[_c('H2',[_vm._v(\"Features Overview\")]),_c('div',{staticClass:\"flex flex-wrap w-full container-x-16 container-y-16\"},[_c('core.feature-card',{attrs:{\"title\":\"Cost efficient\",\"description\":\"Efficient and cost optimized by leveraging appropriate Amazon S3 storage classes.\"}},[_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"wallet\"},slot:\"icon\"})],1),_c('core.feature-card',{attrs:{\"title\":\"Lightning fast\",\"description\":\"Fast backups and recoveries up to 12TB per hour. Designed to achieve your recovery time objectives (RTO).\"}},[_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"flash\"},slot:\"icon\"})],1),_c('core.feature-card',{attrs:{\"title\":\"Multi-node support\",\"description\":\"Single node and scale-out deployments are supported.\"}},[_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"layers\"},slot:\"icon\"})],1),_c('core.feature-card',{attrs:{\"title\":\"Easy installation\",\"description\":\"Installed as a native RPM package in the SAP database server.\"}},[_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"cube\"},slot:\"icon\"})],1),_c('core.feature-card',{attrs:{\"title\":\"Cloud native\",\"description\":\"Designed and implemented as a cloud native solution.\"}},[_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"cloud\"},slot:\"icon\"})],1),_c('core.feature-card',{attrs:{\"title\":\"Guaranteed security\",\"description\":\"Guaranteed security management for data.\"}},[_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"shield-checkmark\"},slot:\"icon\"})],1),_c('core.feature-card',{attrs:{\"title\":\"Certified by SAP\",\"description\":\"Backint agent certified by SAP.\"}},[_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"ribbon\"},slot:\"icon\"})],1)],1)],1)])])])],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport { ResourcePermissions } from '@Module/Resources/Models/ResourcePermissions.model';\nimport EmoryTrialDialog from '@Service/Emory/Components/TrialDialog/EmoryTrialDialog';\nimport { Permission } from '@Module/Auth/Models/Roles/Permissions.model';\nimport { CustomHubResource } from '@Core/Models/CustomHubResource.model';\nimport { AccessRole } from '@Module/Auth/Models/Roles/AccessRole.model';\nimport { SessionToken } from '@Module/Auth/Models/SessionToken.model';\nimport ResourcesStore from '@Module/Resources/Store/Resources.store';\nimport { Component, MapAction, MapGetter, Watch } from 'types-vue';\nimport { TrialInfo } from '@Module/Trial/Models/TrialInfo.model';\nimport TrialStore from '@Module/Trial/Store/Trial.store';\nimport OrgsStore from '@Module/Orgs/Store/Orgs.store';\nimport AuthStore from '@Module/Auth/Store/Auth.store';\nimport { Execution } from '@Core/Models/Execution';\nimport { ServiceID } from '@Service/ServiceID';\nimport { Notify } from '@Core/Utils/Notify';\nimport Vue from 'vue';\n\nconst enum ResourceTypeTab {\n Packages = \"packages\",\n Documentation = \"docs\",\n Other = \"other\"\n}\n\nconst enum CustomResourcesType {\n OnlineDocs = \"docs.online\"\n}\n\n@Component\nexport default class EmoryHub extends Vue {\n\n @MapGetter(AuthStore.Mapping)\n protected sessionToken: SessionToken;\n\n @MapGetter(AuthStore.Mapping)\n protected accessRole: AccessRole;\n\n @MapGetter(OrgsStore.Mapping)\n protected noOrganization: boolean;\n\n @MapGetter(TrialStore.Mapping)\n protected emoryTrialInfo: TrialInfo;\n\n @MapGetter(ResourcesStore.Mapping)\n protected emoryResourcePermissions: ResourcePermissions;\n \n @MapAction(AuthStore.Mapping)\n protected openAuthDialog: (context?: string) => Promise;\n\n @MapAction(TrialStore.Mapping)\n protected fetchTrialInfo: (service: ServiceID) => Promise;\n\n @MapAction(ResourcesStore.Mapping)\n protected fetchResourcePermissions: (service: ServiceID) => Promise;\n\n protected serviceId: ServiceID = ServiceID.Emory;\n\n protected getResPermissions = Execution\n .create(() => this.fetchResourcePermissions(this.serviceId));\n protected getTrialStatus = Execution\n .create(() => this.fetchTrialInfo(this.serviceId));\n\n @Watch(\"sessionToken\", { immediate: true })\n protected async onSessionChange(token: SessionToken) {\n if (!!token && !token.hasExpired && !this.noOrganization) {\n this.getResPermissions.run();\n } else {\n this.getResPermissions.reset();\n }\n } \n\n protected async startTrial() {\n const ctx = \"Sign into your account to start your trial period.\";\n if ((!!this.sessionToken && !this.sessionToken.hasExpired) || (await this.openAuthDialog(ctx))) {\n let trialInfo = this.emoryTrialInfo;\n if (!trialInfo) {\n trialInfo = await this.getTrialStatus.run();\n }\n if (trialInfo.canApply) {\n (this.$refs.trialDialog as EmoryTrialDialog).open();\n } else {\n Notify.Error({\n title: \"Trial period\",\n message: trialInfo.statusMessage,\n duration: 6000\n });\n }\n }\n }\n\n protected signInForDownloads() {\n const ctx = \"Sign into your account to download resources from this service.\";\n this.openAuthDialog(ctx);\n }\n\n protected openIssueManager() {\n window.open(process.env.VUE_APP_SERVICE_URL_ISSUES);\n }\n\n protected get permissions() {\n return {\n CanPurchaseContracts: this.accessRole.can(this.serviceId, Permission.PurchaseContract),\n CanRequestTrial: this.accessRole.can(this.serviceId, Permission.RequestTrial),\n CanManageIssues: this.accessRole.can(this.serviceId, Permission.ManageIssues),\n CanDownloadPackages: this.accessRole.can(this.serviceId, Permission.DownloadPackages),\n CanDownloadOtherPackages: this.accessRole.can(this.serviceId, Permission.DownloadOtherResources)\n }\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./EmoryHub.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./EmoryHub.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./EmoryHub.vue?vue&type=template&id=3bc13fe3&scoped=true&\"\nimport script from \"./EmoryHub.ts?vue&type=script&lang=ts&\"\nexport * from \"./EmoryHub.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./EmoryHub.vue?vue&type=style&index=0&id=3bc13fe3&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3bc13fe3\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewPwdForm.vue?vue&type=style&index=0&id=b6ccb51a&lang=scss&scoped=true&\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OrgRoleTreeItem.vue?vue&type=style&index=0&id=2a216dcf&lang=scss&scoped=true&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DateLabel.vue?vue&type=style&index=0&id=511f4090&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"org-suggestion-list-item\"},[_c('div',{staticClass:\"flex items-center flex-wrap space-x-16\"},[_c('core.details',{staticClass:\"labels flex-1 text-ellipsis transition-all\",style:({ 'opacity': _vm.loading ? '.4' : '1' }),attrs:{\"label\":_vm.organization.name,\"spacing\":\"0px\"}},[_c('div',{staticClass:\"text-ellipsis text-uppercase\"},[_c('small',[_vm._v(_vm._s(_vm.organization.uuid))])])]),_c('div',{staticClass:\"flex-none space-x-6\"},[(!!_vm.invitationNotif)?_c('el-dropdown',{attrs:{\"placement\":\"bottom-end\"},on:{\"command\":function (execution) { return execution.run(); }}},[_c('el-tag',{staticClass:\"tag\",attrs:{\"size\":\"small\",\"effect\":_vm.loading ? 'dark' : 'light',\"type\":\"info\",\"disable-transitions\":\"\"}},[_c('core.label',{attrs:{\"type\":\"inherit\",\"icon-spacing\":\"4px\",\"icon-position\":\"end\"}},[_c('i',{staticClass:\"text-semibold\",class:_vm.loading ? 'el-icon-loading' : 'el-icon-arrow-down',attrs:{\"slot\":\"icon\"},slot:\"icon\"}),(_vm.declineInvitation.loading)?_c('span',[_vm._v(\"Declining\")]):(_vm.acceptInvitation.loading)?_c('span',[_vm._v(\"Accepting\")]):_c('span',[_vm._v(\"Invited as \"+_vm._s(_vm.invitationNotif.role.name))])])],1),_c('el-dropdown-menu',{attrs:{\"slot\":\"dropdown\"},slot:\"dropdown\"},[_c('div',{staticClass:\"m-x-16 mb-6 text-disabled\"},[_c('small',[_c('core.date-label',{attrs:{\"date\":_vm.invitationNotif.creation,\"label-type\":\"inherit\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar date = ref.date;\nreturn _c('span',{},[_vm._v(_vm._s(_vm._f(\"capitalize\")(date.subtract(1, \"second\").fromNow())))])}},{key:\"tooltip\",fn:function(ref){\nvar formattedDate = ref.formattedDate;\nreturn _c('span',{},[_vm._v(_vm._s(formattedDate))])}}],null,false,10337603)})],1)]),_c('el-dropdown-item',{attrs:{\"icon\":\"el-icon-check\",\"command\":_vm.acceptInvitation}},[_vm._v(\"Accept\")]),_c('el-dropdown-item',{attrs:{\"icon\":\"el-icon-close\",\"command\":_vm.declineInvitation}},[_vm._v(\"Decline\")])],1)],1):(!!_vm.accessRequestNotif)?_c('el-dropdown',{attrs:{\"placement\":\"bottom-end\"},on:{\"command\":function (execution) { return execution.run(); }}},[_c('el-tag',{staticClass:\"tag\",attrs:{\"size\":\"small\",\"effect\":_vm.loading ? 'dark' : 'light',\"type\":_vm.loading ? 'info' : 'success',\"disable-transitions\":\"\"}},[_c('core.label',{attrs:{\"type\":\"inherit\",\"icon-spacing\":\"4px\",\"icon-position\":\"end\"}},[_c('i',{staticClass:\"text-semibold\",class:_vm.loading ? 'el-icon-loading' : 'el-icon-arrow-down',attrs:{\"slot\":\"icon\"},slot:\"icon\"}),(_vm.cancelRequestAccess.loading)?_c('span',[_vm._v(\"Canceling\")]):(_vm.requestAccess.loading)?_c('span',[_vm._v(\"Requesting\")]):_c('span',[_vm._v(_vm._s(_vm.$mq.sm ? 'Requested' : 'Access requested'))])])],1),_c('el-dropdown-menu',{attrs:{\"slot\":\"dropdown\"},slot:\"dropdown\"},[_c('div',{staticClass:\"m-x-16 mb-6 text-disabled\"},[_c('small',[_c('core.date-label',{attrs:{\"date\":_vm.accessRequestNotif.creation,\"label-type\":\"inherit\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar date = ref.date;\nreturn _c('span',{},[_vm._v(_vm._s(_vm._f(\"capitalize\")(date.subtract(1, \"second\").fromNow())))])}},{key:\"tooltip\",fn:function(ref){\nvar formattedDate = ref.formattedDate;\nreturn _c('span',{},[_vm._v(_vm._s(formattedDate))])}}])})],1)]),_c('el-dropdown-item',{attrs:{\"icon\":\"el-icon-close\",\"command\":_vm.cancelRequestAccess}},[_vm._v(\"Cancel\")]),_c('el-dropdown-item',{attrs:{\"icon\":\"el-icon-top-right\",\"command\":_vm.requestAccess}},[_vm._v(\"Resend\")])],1)],1):_c('el-button',{attrs:{\"size\":\"mini\",\"loading\":_vm.requestAccess.loading},on:{\"click\":function($event){return _vm.requestAccess.run()}}},[(_vm.requestAccess.loading)?_c('span',[_vm._v(\"Requesting\")]):_c('span',[_vm._v(\"Request access\")])])],1)],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { OrgAccessRequestNotification } from \"@Module/Notifications/Models/OrgAccessRequestNotification.model\";\nimport { OrgInvitationNotification } from \"@Module/Notifications/Models/OrgInvitationNotification.model\";\nimport NotificationsOutboxStore from \"@Module/Notifications/Store/NotificationsOutbox.store\";\nimport NotificationsInboxStore from \"@Module/Notifications/Store/NotificationsInbox.store\";\nimport { Notification } from \"@Module/Notifications/Models/Notification.model\";\nimport { Organization } from \"@Module/Orgs/Models/Organization.model\";\nimport NavigationStore from \"@Core/Store/Navigation/Navigation.store\";\nimport { Component, MapAction, MapGetter, mixins, Prop } from \"types-vue\";\nimport AppRestartMixin from \"@Core/Mixins/AppRestart.mixin\";\nimport { ConsoleRoute } from \"@Core/Models/ConsoleRoute\";\nimport OrgsStore from \"@Module/Orgs/Store/Orgs.store\";\nimport { Execution } from \"@Core/Models/Execution\";\nimport { Notify } from \"@Core/Utils/Notify\";\nimport { Utils } from \"@Core/Utils/Utils\";\n\n@Component\nexport default class OrgSuggestionListItem extends mixins(AppRestartMixin) {\n\n @Prop({ type: Object, required: true })\n protected organization: Organization;\n\n @Prop({ type: Object, default: null })\n protected accessRequestNotif: OrgAccessRequestNotification;\n\n @Prop({ type: Object, default: null })\n protected invitationNotif: OrgInvitationNotification;\n\n @MapGetter(NavigationStore.Mapping)\n protected currentRoute: ConsoleRoute;\n \n @MapGetter(OrgsStore.Mapping)\n protected noOrganization: boolean;\n\n @MapAction(OrgsStore.Mapping)\n protected fetchOrgRoles: () => Promise;\n\n @MapAction(NotificationsOutboxStore.Mapping)\n protected sendOrgAccessRequest: (organization: Organization) => Promise;\n\n @MapAction(NotificationsOutboxStore.Mapping)\n protected cancelNotification: (notification: Notification) => Promise;\n\n @MapAction(NotificationsInboxStore.Mapping)\n protected acceptNotification: (notification: Notification) => Promise;\n\n @MapAction(NotificationsInboxStore.Mapping)\n protected declineNotification: (notification: Notification) => Promise;\n\n protected requestAccess = Execution.create(async () => {\n try {\n await this.sendOrgAccessRequest(this.organization);\n Notify.Success({\n title: \"Organization access requested\",\n message: `Access to ${this.organization.name} organization successfully requested.`\n });\n } catch (error) {\n Notify.Error({\n title: \"Organization access error\",\n message: error.message\n });\n }\n });\n\n protected cancelRequestAccess = Execution.create(async () => {\n try {\n await this.cancelNotification(this.accessRequestNotif);\n Notify.Success({\n title: \"Access request canceled\",\n message: `Access request to ${this.organization.name} organization successfully canceled.`\n });\n } catch (error) {\n Notify.Error({\n title: \"Access request cancel error\",\n message: error.message\n });\n }\n });\n\n protected acceptInvitation = Execution.create(async () => {\n try {\n const message = `Your invitation to access ${this.invitationNotif.organization.name} organization as ${this.invitationNotif.role.name} has been successfully accepted.`;\n await this.acceptNotification(this.invitationNotif);\n this.onInvitationAccepted();\n await Utils.sleep(100);\n Notify.Success({\n title: \"Invitation accepted\", \n message,\n duration: 6000\n });\n } catch (error) {\n Notify.Error({\n title: \"Invitation response error\", \n message: error.message\n });\n }\n });\n\n protected declineInvitation = Execution.create(async () => {\n try {\n const message = `Your invitation to access ${this.invitationNotif.organization.name} organization as ${this.invitationNotif.role.name} has been successfully declined.`;\n await this.declineNotification(this.invitationNotif);\n Notify.Success({\n title: \"Invitation declined\", \n message,\n duration: 6000\n });\n } catch (error) {\n Notify.Error({\n title: \"Invitation response error\", \n message: error.message\n });\n }\n });\n\n protected get loading(): boolean {\n return this.requestAccess.loading \n || this.cancelRequestAccess.loading\n || this.acceptInvitation.loading\n || this.declineInvitation.loading;\n }\n\n protected onInvitationAccepted() {\n if (this.noOrganization) {\n this.promptAppRestart();\n } else {\n this.fetchOrgRoles();\n }\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./OrgSuggestionListItem.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./OrgSuggestionListItem.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OrgSuggestionListItem.vue?vue&type=template&id=fd91e750&scoped=true&\"\nimport script from \"./OrgSuggestionListItem.ts?vue&type=script&lang=ts&\"\nexport * from \"./OrgSuggestionListItem.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./OrgSuggestionListItem.vue?vue&type=style&index=0&id=fd91e750&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"fd91e750\",\n null\n \n)\n\nexport default component.exports","import { ServiceID } from \"@Service/ServiceID\";\nimport { Console } from \"vue-router\";\nimport ServiceViewport from \"@Core/Components/ServiceViewport/ServiceViewport.vue\";\nimport Viewport from \"@Core/Components/Viewport/Viewport.vue\";\nimport AbapSuiteContracts from \"./Views/Contracts/AbapSuiteContracts.vue\";\nimport AbapSuiteLicenses from \"./Views/Licenses/AbapSuiteLicenses.vue\";\nimport AbapSuiteContractDetails from './Views/ContractDetails/AbapSuiteContractDetails.vue';\nimport AbapSuiteLicenseDetails from './Views/LicenseDetails/AbapSuiteLicenseDetails.vue';\nimport AbapSuiteDownloads from \"./Views/Packages/AbapSuiteDownloads.vue\";\nimport AbapSuiteHub from \"./Views/Hub/AbapSuiteHub.vue\";\n\n\nconst routes: Console.RouteConfig[] = [\n {\n path: \"/abap-suite\",\n name: \"abap-suite\",\n component: ServiceViewport,\n redirect: { name: \"abap-suite-home\" },\n meta: {\n authRequired: true,\n appInfo: {\n version: \"2.0.0\",\n serviceId: ServiceID.AbapSuite,\n summary: \"An SAP-Certified product that enhances SAP functionalities to leverage cloud platforms services, delivering an embedded cloud native experience for your SAP applications in Document & Archiving Management by ArchiveLink protocol, SAP Information Llifecycle, and SAP data ingestion into cloud Data Lakes. \", purchaseMethods: [\n { label: \"AWS Marketplace\", url: process.env.VUE_APP_MARKETPLACE_URL_ABAP_SUITE },\n { label: \"Contact us by email\", url: `mailto:${process.env.VUE_APP_CONTACT_EMAIL}` }\n ]\n },\n menu: {\n label: ServiceID.nameOf(ServiceID.AbapSuite),\n groupId: \"service\",\n icon: {\n type: \"custom\",\n name: \"icons/abap-suite.svg\"\n }\n }\n },\n children: [\n {\n path: \"home\",\n name: \"abap-suite-home\",\n component: AbapSuiteHub,\n meta: {\n authRequired: true,\n menu: {\n label: \"Home\",\n icon: {\n type: \"ion-icon\",\n name: \"bookmark\"\n }\n }\n }\n },\n {\n path: \"licensing\",\n name: \"abap-suite-licensing\",\n component: Viewport,\n redirect: { name: \"abap-suite-contracts\", append: false},\n meta: {\n authRequired: true,\n breadcrumb: {\n hidden: true\n },\n menu: {\n label: \"Licensing\",\n icon: {\n type: \"ion-icon\",\n name: \"id-card\"\n }\n }\n },\n children: [\n {\n path: \"/abap-suite/contracts\",\n name: \"abap-suite-contracts\",\n component: AbapSuiteContracts,\n meta: {\n authRequired: true,\n permissions: \"abap-suite:ListContracts\",\n menu: {\n label: \"Contracts\",\n icon: {\n type: \"ion-icon\",\n name: \"receipt-outline\"\n }\n }\n }\n },\n {\n path: \"/abap-suite/contracts/:id\",\n name: \"abap-suite-contract-details\",\n component: AbapSuiteContractDetails,\n meta: {\n authRequired: true,\n permissions: \"abap-suite:ListContracts\",\n breadcrumb: {\n prependPaths: [\"/abap-suite/contracts\"]\n },\n menu: {\n hidden: true,\n selectionPath: \"/abap-suite/contracts\",\n label: \"Contract Details\",\n icon: {\n type: \"ion-icon\",\n name: \"receipt-outline\"\n }\n }\n }\n },\n {\n path: \"/abap-suite/licenses\",\n name: \"abap-suite-licenses\",\n component: AbapSuiteLicenses,\n meta: {\n authRequired: true,\n permissions: \"abap-suite:ListLicenses\",\n menu: {\n label: \"Licenses\",\n icon: {\n type: \"ion-icon\",\n name: \"reader-outline\"\n }\n }\n }\n },\n {\n path: \"/abap-suite/licenses/:id\",\n name: \"abap-suite-license-details\",\n component: AbapSuiteLicenseDetails,\n meta: {\n authRequired: true,\n permissions: \"abap-suite:ListLicenses\",\n breadcrumb: {\n prependPaths: [\"/abap-suite/licenses\"]\n },\n menu: {\n hidden: true,\n selectionPath: \"/abap-suite/licenses\",\n label: \"License Details\",\n icon: {\n type: \"ion-icon\",\n name: \"reader-outline\"\n }\n }\n }\n }\n ]\n },\n {\n path: \"/abap-suite/resources\",\n name: \"abap-suite-resources\",\n component: Viewport,\n redirect: { name: \"abap-suite-downloads\", append: false},\n meta: {\n authRequired: true,\n breadcrumb: {\n hidden: true\n },\n menu: {\n label: \"Resources\",\n icon: {\n type: \"ion-icon\",\n name: \"library-outline\"\n }\n }\n },\n children: [\n {\n path: \"/abap-suite/donwloads\",\n name: \"abap-suite-downloads\",\n component: AbapSuiteDownloads,\n meta: {\n authRequired: true,\n permissions: \"abap-suite:DownloadPackages\",\n menu: {\n label: \"Downloads\",\n icon: {\n type: \"ion-icon\",\n name: \"archive-outline\"\n }\n }\n }\n }, \n ]\n },\n ]\n }\n];\n\nexport default routes\n","import { UIContentSizeMode } from \"@Service/Settings/Store/AppSettings/AppSettings.state\";\nimport AppSettingsStore from \"@Service/Settings/Store/AppSettings/AppSettings.store\";\nimport NavigationStore from \"@Core/Store/Navigation/Navigation.store\";\nimport { TrialInfo } from \"@Module/Trial/Models/TrialInfo.model\";\nimport { ConsoleRoute } from \"@Core/Models/ConsoleRoute\";\nimport TrialStore from \"@Module/Trial/Store/Trial.store\";\nimport { Component, MapGetter } from \"types-vue\";\nimport { ServiceMap } from \"@Service/ServiceID\";\nimport Vue from \"vue\";\n\n@Component\nexport default class LayoutMixin extends Vue {\n\n @MapGetter(NavigationStore.Mapping)\n protected currentRoute: ConsoleRoute;\n\n @MapGetter(AppSettingsStore.Mapping)\n protected isPlainUi: boolean;\n\n @MapGetter(AppSettingsStore.Mapping)\n protected hiddenBreadcrumb: boolean;\n\n @MapGetter(AppSettingsStore.Mapping)\n protected uiContentSizeMode: UIContentSizeMode;\n\n @MapGetter(TrialStore.Mapping)\n protected trialInfo: ServiceMap;\n\n @MapGetter(NavigationStore.Mapping)\n protected docsPanelVisible: boolean;\n\n protected get currentServiceTrialInfo(): TrialInfo {\n return this.trialInfo[this.currentRoute.serviceId || \"\"] || null;\n }\n\n protected get hasActiveTrial(): boolean {\n return this.currentServiceTrialInfo?.isActive ?? false;\n }\n\n protected redirectToNonLegacyService() {\n const redirect = (this.currentRoute.service.meta.appInfo?.legacy as any)?.redirect;\n if (!!redirect) {\n this.$router.push(redirect);\n }\n }\n\n protected get pageLayoutClass() {\n return { \n \"is-airy\": this.uiContentSizeMode === \"airy\",\n \"is-compact\": this.uiContentSizeMode === \"compact\",\n \"is-docs-embedded\": this.docsPanelVisible\n };\n }\n\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"contract-filters-panel space-y-8\"},[_c('core.details',{attrs:{\"label\":\"Origin\"}},[_c('licensing.origin-selector',{attrs:{\"size\":_vm.size,\"disabled\":_vm.disabled,\"multiple\":\"\",\"filterable\":\"\",\"clearable\":\"\"},model:{value:(_vm.value.origins),callback:function ($$v) {_vm.$set(_vm.value, \"origins\", $$v)},expression:\"value.origins\"}})],1),_c('core.details',{attrs:{\"label\":\"Status\"}},[_c('licensing.status-selector',{attrs:{\"type\":\"select\",\"size\":_vm.size,\"disabled\":_vm.disabled,\"filterable\":\"\",\"clearable\":\"\",\"multiple\":\"\"},model:{value:(_vm.value.status),callback:function ($$v) {_vm.$set(_vm.value, \"status\", $$v)},expression:\"value.status\"}})],1),_c('core.details',{attrs:{\"label\":\"Expire Notification\"}},[_c('el-checkbox-group',{staticClass:\"flex\",attrs:{\"size\":_vm.size,\"disabled\":_vm.disabled},model:{value:(_vm.value.expNotif),callback:function ($$v) {_vm.$set(_vm.value, \"expNotif\", $$v)},expression:\"value.expNotif\"}},[_c('el-checkbox',{staticClass:\"flex-1\",attrs:{\"label\":\"Enabled\",\"border\":\"\"}}),_c('el-checkbox',{staticClass:\"flex-1\",attrs:{\"label\":\"Disabled\",\"border\":\"\"}})],1)],1),_c('div',{staticClass:\"pt-4 space-y-8\"},[_c('el-checkbox',{attrs:{\"size\":_vm.size,\"disabled\":_vm.disabled,\"label\":\"Only with hosts\",\"border\":\"\"},model:{value:(_vm.value.onlyWithHosts),callback:function ($$v) {_vm.$set(_vm.value, \"onlyWithHosts\", $$v)},expression:\"value.onlyWithHosts\"}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { ContractFilters } from \"@Module/Licensing/Models/ContractFilters.model\";\nimport { UISize } from \"@Service/Settings/Store/AppSettings/AppSettings.state\";\nimport { ServiceID } from \"@Service/ServiceID\";\nimport { Component, Prop } from \"types-vue\";\nimport Vue from \"vue\";\n\n@Component\nexport default class ContractFiltersPanel extends Vue {\n\n @Prop({ type: String, required: true })\n protected serviceId: ServiceID;\n\n @Prop({ type: Object, required: true })\n protected value: ContractFilters;\n\n @Prop({ type: String, default: null })\n protected size: UISize;\n\n @Prop({ type: Boolean, default: false })\n protected disabled: boolean;\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./ContractFiltersPanel.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./ContractFiltersPanel.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ContractFiltersPanel.vue?vue&type=template&id=79098b9c&\"\nimport script from \"./ContractFiltersPanel.ts?vue&type=script&lang=ts&\"\nexport * from \"./ContractFiltersPanel.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmoryBackupFiltersPanel.vue?vue&type=style&index=0&id=0bde025e&lang=scss&scoped=true&\"","import { OrgInvitationNotificationLink, OrgInvitationNotification } from \"../Models/OrgInvitationNotification.model\";\nimport LicensingStore, { FetchByIdPayload, LicensingStoreAction } from \"@Module/Licensing/Store/Licensing.store\";\nimport { OrgAccessRequestNotification } from \"../Models/OrgAccessRequestNotification.model\";\nimport { ContractPurchaseNotification } from \"../Models/ContractPurchaseNotification.model\";\nimport { LicenseSharingNotification } from \"../Models/LicenseSharingNotification.model\";\nimport { LicenseReturnNotification } from \"../Models/LicenseReturnNotification.model\";\nimport UsersStore, { UsersStoreAction } from \"@Module/Users/Store/Users.store\";\nimport { FetchLicensesPayload } from \"@Module/Licensing/Store/Licensing.store\";\nimport { Notification, NotificationType } from \"../Models/Notification.model\";\nimport OrgsStore, { OrgsStoreGetter } from \"@Module/Orgs/Store/Orgs.store\";\nimport { NotificationsInboxStoreState } from \"./NotificationsInbox.state\";\nimport { Action, Getter, Module, Mutation, VuexModule } from \"types-vue\";\nimport { Organization } from \"@Module/Orgs/Models/Organization.model\";\nimport { NotificationFactory } from \"../Models/Notification.factory\";\nimport { Role } from \"@Module/Auth/Models/Roles/AccessRole.model\";\nimport { OrgsStoreAction } from \"@Module/Orgs/Store/Orgs.store\";\nimport NotificationsApi from \"../API/Notifications.api\";\nimport { Utils } from \"@Core/Utils/Utils\";\nimport { ActionContext } from \"vuex\";\n\ndeclare type NotificationsInboxStoreContext = ActionContext;\n\nconst enum NotificationsInboxStoreCommit {\n SetInboxNotifications = \"_setInboxNotifications\",\n PutInboxNotifications = \"_putInboxNotifications\",\n DeleteInboxNotification = \"_deleteInboxNotification\",\n SetOrgInvitationLink = \"_setOrgInvitationLink\"\n}\n\nexport const enum NotificationsInboxStoreAction {\n FetchInbox = \"fetchInbox\",\n AddNotification = \"addNotification\"\n}\n\nexport type AcceptOrgAccessRequestPayload = {\n notification: OrgAccessRequestNotification;\n role: Role;\n}\n\nexport type AcceptContractPurchasePayload = {\n notification: ContractPurchaseNotification;\n organization: Organization;\n}\n\n@Module({ namespaced: true })\nexport default class NotificationsInboxStore extends VuexModule implements NotificationsInboxStoreState {\n public static readonly Mapping = Utils.createVuexMappingOptions(\"NotificationsInbox\");\n\n public _inbox: Notification[] = [];\n public _orgInvitationLink: OrgInvitationNotificationLink = null;\n\n @Getter()\n public orgInvitationLink(): OrgInvitationNotificationLink {\n return this._orgInvitationLink;\n }\n\n @Getter()\n public hasInboxNotifications(): boolean {\n return this._inbox.length > 0;\n }\n\n @Getter()\n public inbox(): Notification[] {\n return this._inbox;\n }\n\n @Getter()\n public licenseSharingInbox(): LicenseSharingNotification[] {\n return this._inbox.filter(n => n.type === NotificationType.LicenseSharing) as LicenseSharingNotification[];\n }\n\n @Getter()\n public licenseReturnInbox(): LicenseReturnNotification[] {\n return this._inbox.filter(n => n.type === NotificationType.LicenseReturn) as LicenseReturnNotification[];\n }\n\n @Getter()\n public orgInvitationsInbox(): OrgInvitationNotification[] {\n return this._inbox.filter(n => n.type === NotificationType.OrgInvitation) as OrgInvitationNotification[];\n }\n\n @Getter()\n public orgAccessRequestInbox(): OrgAccessRequestNotification[] {\n return this._inbox.filter(n => n.type === NotificationType.OrgAccessRequest) as OrgAccessRequestNotification[];\n }\n\n @Mutation()\n public _setOrgInvitationLink(link: OrgInvitationNotificationLink) {\n this._orgInvitationLink = link;\n }\n\n @Mutation()\n protected _setInboxNotifications(notifications: Notification[]) {\n this._inbox = notifications.sort((a, b) => a.expiration.diff(b.expiration));\n }\n\n @Mutation()\n protected _putInboxNotifications(notifications: Notification[]) {\n for (const newNotif of notifications) {\n const existingNotif = this._inbox.find(notif => notif.id === newNotif.id);\n if (!!existingNotif) {\n Object.assign(existingNotif, newNotif);\n } else {\n this._inbox.push(newNotif);\n }\n }\n this._inbox.sort((a, b) => a.expiration.diff(b.expiration));\n }\n\n @Mutation()\n protected async _deleteInboxNotification(notification: Notification): Promise {\n const notifIndex = this._inbox.findIndex(n => n.id === notification.id);\n if (notifIndex !== -1) {\n this._inbox.splice(notifIndex, 1);\n }\n }\n\n @Action({ commit: NotificationsInboxStoreCommit.SetOrgInvitationLink })\n public async setOrgInvitationLink(link: OrgInvitationNotificationLink | null): Promise {\n return link;\n }\n\n @Action({ commit: NotificationsInboxStoreCommit.SetInboxNotifications })\n public async fetchInbox(): Promise {\n const dtos = await NotificationsApi.getNotificationsInbox();\n return dtos.map(NotificationFactory.fromDto);\n }\n\n @Action({ commit: NotificationsInboxStoreCommit.DeleteInboxNotification })\n public async acceptNotification(notification: Notification): Promise {\n const dto = await NotificationsApi.acceptNotification(notification);\n return NotificationFactory.fromDto(dto);\n }\n\n @Action({ useContext: true, commit: NotificationsInboxStoreCommit.DeleteInboxNotification })\n public async acceptExchangeNotification(\n ctx: NotificationsInboxStoreContext,\n notification: LicenseSharingNotification | LicenseReturnNotification\n ): Promise {\n const dto = await NotificationsApi.acceptNotification(notification);\n \n const fetchLicenses = LicensingStore.Mapping.rootAction(LicensingStoreAction.FetchAllLicenses);\n const fetchLicensesPayload: FetchLicensesPayload = { service: notification.service };\n await fetchLicenses(ctx, fetchLicensesPayload);\n \n return NotificationFactory.fromDto(dto);\n }\n\n @Action({ commit: NotificationsInboxStoreCommit.DeleteInboxNotification })\n public async acceptOrgInvitationLink(link: OrgInvitationNotificationLink): Promise {\n const dto = await NotificationsApi.acceptOrgInvitationLink(link);\n return NotificationFactory.fromDto(dto);\n }\n\n @Action({ useContext: true, commit: NotificationsInboxStoreCommit.DeleteInboxNotification })\n public async acceptOrgInvitationNotification(\n ctx: NotificationsInboxStoreContext, \n notification: OrgInvitationNotification\n ): Promise {\n const dto = await NotificationsApi.acceptNotification(notification);\n \n const hasNoOrgs: boolean = OrgsStore.Mapping.rootGetter(OrgsStoreGetter.NoOrganization)(ctx);\n if (!hasNoOrgs) {\n const fetchOrgRoles = OrgsStore.Mapping.rootAction(OrgsStoreAction.FetchOrgRoles);\n await fetchOrgRoles(ctx);\n }\n \n return NotificationFactory.fromDto(dto);\n }\n\n @Action({ useContext: true, commit: NotificationsInboxStoreCommit.DeleteInboxNotification })\n public async acceptOrgAccessRequestNotification(ctx: NotificationsInboxStoreContext, payload: AcceptOrgAccessRequestPayload): Promise {\n const dto = await NotificationsApi.acceptOrgRequestNotification(payload.notification, payload.role);\n\n const fetchOrgUsers = UsersStore.Mapping.rootAction(UsersStoreAction.FetchOrgUsers);\n fetchOrgUsers(ctx);\n\n return NotificationFactory.fromDto(dto);\n }\n\n @Action({ useContext: true, commit: NotificationsInboxStoreCommit.DeleteInboxNotification })\n public async acceptContractPurchaseNotification(\n ctx: NotificationsInboxStoreContext, \n payload: AcceptContractPurchasePayload\n ): Promise {\n const dto = await NotificationsApi.acceptContractPurchaseNotification(payload.notification, payload.organization);\n \n const currentOrg: Organization = OrgsStore.Mapping.rootGetter(OrgsStoreGetter.CurrentOrg)(ctx);\n if (currentOrg.id === payload.organization.id) {\n const fetchByIdPayload: FetchByIdPayload = { service: payload.notification.service, data: payload.notification.contractId };\n const fetchContractById = LicensingStore.Mapping.rootAction(LicensingStoreAction.FetchContractById)(ctx, fetchByIdPayload);\n const fetchLicensesByContractId = LicensingStore.Mapping.rootAction(LicensingStoreAction.FetchLicensesByContractId)(ctx, fetchByIdPayload);\n await Promise.all([ fetchContractById, fetchLicensesByContractId ]);\n }\n\n return NotificationFactory.fromDto(dto);\n }\n\n @Action({ commit: NotificationsInboxStoreCommit.DeleteInboxNotification })\n public async declineNotification(notification: Notification): Promise {\n const dto = await NotificationsApi.declineNotification(notification);\n return NotificationFactory.fromDto(dto);\n }\n\n @Action({ commit: NotificationsInboxStoreCommit.DeleteInboxNotification })\n public async declineOrgInvitationLink(link: OrgInvitationNotificationLink): Promise {\n const dto = await NotificationsApi.declineOrgInvitationLink(link);\n return NotificationFactory.fromDto(dto);\n }\n\n @Action({ useContext: true })\n public async clearNotificationInboxStore(ctx: NotificationsInboxStoreContext): Promise {\n ctx.commit(NotificationsInboxStoreCommit.SetInboxNotifications, []);\n ctx.commit(NotificationsInboxStoreCommit.SetOrgInvitationLink, null);\n }\n\n @Action({ commit: NotificationsInboxStoreCommit.PutInboxNotifications })\n public async addNotification(notifications: Notification): Promise {\n return [notifications];\n }\n\n}","import { LicensingStatus, LicensingStatusPhase } from \"./LicensingStatus.model\";\nimport { LicensingNotificationType } from \"./LicensingNotification.model\";\nimport DayJS, { Dayjs } from \"dayjs\";\nimport { ContractOrigin } from \"./ContractOrigin\";\nimport { ServiceID } from \"@Service/ServiceID\";\nimport { ExpirationFilterable } from \"./ExpirationFilterable.model\";\nimport { ContractFilters, NotificationStatus } from \"./ContractFilters.model\";\n\nexport interface IUpdateContractDto {\n expirationDate?: string;\n expirationNotifications?: boolean;\n is_poc?: boolean;\n extended_contract_id?: number;\n origin?: string;\n product?: ServiceID;\n}\n\nexport interface IContractDto {\n id: number;\n externalId: string;\n status: string;\n origin: string;\n creation: string;\n expiration: string;\n numHosts: number;\n numLicenses: number;\n expirationNotifications: boolean;\n extendedContractId: number;\n notifyExpirationAt: string;\n isPoc: boolean;\n}\n\nexport type ContractNotificationsMap = Record;\n\nexport class Contract implements ExpirationFilterable {\n public readonly id: number;\n public readonly externalId: string;\n public readonly origin: ContractOrigin;\n public readonly status: LicensingStatus;\n public readonly licensesCount: number;\n public readonly hostCount: number;\n public readonly creation: Dayjs;\n public readonly is_poc: boolean;\n public readonly extendedContractId: number;\n public readonly notifications: Record;\n public expiration: Dayjs;\n\n public readonly serviceId: ServiceID;\n\n private constructor(dto: IContractDto, serviceId: ServiceID) {\n this.id = dto.id;\n this.externalId = dto.externalId;\n this.status = LicensingStatus.create(dto.status);\n this.origin = dto.origin as ContractOrigin;\n this.creation = DayJS(dto.creation);\n this.expiration = DayJS(dto.expiration);\n this.extendedContractId = dto.extendedContractId;\n this.licensesCount = dto.numLicenses;\n this.hostCount = dto.numHosts;\n this.is_poc = dto.isPoc;\n this.notifications = { expiration: dto.expirationNotifications }\n this.serviceId = serviceId;\n }\n\n public static fromDto(dto: IContractDto, serviceId: ServiceID): Contract {\n return new Contract(dto, serviceId);\n }\n\n public meetFilters(filters: ContractFilters): boolean {\n const text = filters.search?.toLowerCase() || \"\";\n\n if (filters.onlyWithHosts && this.hostCount === 0) {\n return false;\n }\n\n const meetsStatusFilter = filters.status.length > 0 ? filters.status.includes(this.status.phase) : true;\n if (!meetsStatusFilter) { return false; }\n\n const meetsOriginsFilter = filters.origins.length > 0 ? filters.origins.includes(this.origin) : true;\n if (!meetsOriginsFilter) { return false; }\n\n const meetsExpNotif = filters.expNotif.length > 0 \n ? filters.expNotif.some(notifStatus => {\n return this.hasExpirationNotifEnabled && notifStatus === NotificationStatus.Enabled\n || !this.hasExpirationNotifEnabled && notifStatus === NotificationStatus.Disabled\n }) : true;\n if (!meetsExpNotif) { return false; }\n \n if (!text) { return true; }\n const searchStatusLabel = this.status.label.toLowerCase().includes(text);\n const searchCode = this.externalId.toLowerCase().includes(text);\n const searchOrigin = this.origin.toLowerCase().includes(text);\n return searchStatusLabel || searchCode || searchOrigin;\n }\n\n public meetsFilter(search: string, status: LicensingStatusPhase[]): boolean {\n const text = search?.toLowerCase() || \"\";\n\n const meetsStatusFilter = status.length > 0 ? status.includes(this.status.phase) : true;\n if (!meetsStatusFilter) { return false; }\n \n if (!text) { return true; }\n const searchStatusLabel = this.status.label.toLowerCase().includes(text);\n const searchCode = this.externalId.toLowerCase().includes(text);\n const searchOrigin = this.origin.toLowerCase().includes(text);\n return searchStatusLabel || searchCode || searchOrigin;\n }\n\n public meetsExpirationThreshold(threshold: Dayjs): boolean {\n return !this.status.isExpired && this.expiration.isBefore(threshold);\n }\n\n protected get hasExpirationNotifEnabled() {\n return this.notifications.expiration && !this.status.isFinished;\n }\n\n protected get isAWS(): boolean {\n return this.origin === ContractOrigin.AWS;\n }\n\n}","import { ContractOrigin } from \"./ContractOrigin\";\nimport { LicensingStatusPhase } from \"./LicensingStatus.model\";\n\nexport const enum NotificationStatus {\n Enabled = \"Enabled\",\n Disabled = \"Disabled\"\n}\n\nexport class ContractFilters {\n public search: string;\n public onlyWithHosts: boolean;\n public status: LicensingStatusPhase[];\n public origins: ContractOrigin[];\n public expNotif: NotificationStatus[];\n\n private constructor() {\n this.search = null;\n this.status = [LicensingStatusPhase.Active];\n this.origins = [];\n this.expNotif = [];\n this.onlyWithHosts = false;\n }\n\n public static create(): ContractFilters {\n return new ContractFilters();\n }\n\n public get isFiltering(): boolean {\n return this.search !== null \n || this.onlyWithHosts\n || this.status.length > 0 \n || this.origins.length > 0\n || this.expNotif.length > 0;\n }\n\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('notifications.notification-skeleton',{attrs:{\"loading\":_vm.loading,\"repeat\":2,\"throttle\":_vm.loadingThrottle,\"hide-type-label\":_vm.hideTypeLabel}},[_c('core.list',{staticClass:\"notifications-list\",attrs:{\"data\":_vm.notifications,\"selectable\":false,\"separated\":true},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar item = ref.item;\nreturn _c('notifications.notification-list-item',{attrs:{\"notification\":item,\"is-inbox\":_vm.isInbox,\"hide-type-label\":_vm.hideTypeLabel},on:{\"loading\":function (event) { return _vm.$emit('loading', event); },\"configuring\":function (event) { return _vm.$emit('configuring', event); }}})}}])},[_vm._t(\"empty\",[_c('core.empty',{attrs:{\"slot\":\"empty\",\"description\":\"There are no notifications.\",\"compact\":\"\"},slot:\"empty\"},[_c('i',{staticClass:\"el-icon-postcard\",attrs:{\"slot\":\"icon\"},slot:\"icon\"})])],{\"slot\":\"empty\"})],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Notification } from \"@Module/Notifications/Models/Notification.model\";\nimport { Component, Prop } from \"types-vue\";\nimport Vue from \"vue\";\n\n@Component\nexport default class NotificationsList extends Vue {\n\n @Prop({ type: Array, required: true })\n protected notifications: Notification[];\n\n @Prop({ type: Boolean, default: true })\n protected isInbox: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected hideTypeLabel: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected loading: boolean;\n\n @Prop({ type: Number })\n protected loadingThrottle: number;\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./NotificationsList.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./NotificationsList.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./NotificationsList.vue?vue&type=template&id=48d6febd&\"\nimport script from \"./NotificationsList.ts?vue&type=script&lang=ts&\"\nexport * from \"./NotificationsList.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"notification-summary-container p-y-4\"},[_c('div',{staticClass:\"flex flex-wrap container-x-16 container-y-6\"},[_vm._t(\"default\")],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Vue, Component } from \"types-vue\";\n\n@Component\nexport default class NotificationSummaryContainer extends Vue {\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./NotificationSummaryContainer.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./NotificationSummaryContainer.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./NotificationSummaryContainer.vue?vue&type=template&id=24e4e22c&\"\nimport script from \"./NotificationSummaryContainer.ts?vue&type=script&lang=ts&\"\nexport * from \"./NotificationSummaryContainer.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./NotificationSummaryContainer.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"license-sharing-notif-content flex-y space-y-6\"},[(!_vm.hideTypeLabel)?_c('core.label',{attrs:{\"icon-size\":\"14px\",\"icon-spacing\":\"4px\"}},[_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"reader-outline\"},slot:\"icon\"}),_c('H3',[_vm._v(_vm._s(_vm.notification.label))])],1):_vm._e(),(_vm.isInbox)?_c('div',{staticClass:\"text-semibold\"},[_vm._v(_vm._s(_vm.notification.sourceOrg.name)+\" wants to share \"+_vm._s(_vm.licenseService)+\" licenses with your organization.\")]):_c('div',{staticClass:\"text-semibold\"},[_vm._v(_vm._s(_vm.licenseService)+\" license sharing request notification sent to \"+_vm._s(_vm.notification.destinationOrg.name)+\".\")]),_c('notifications.notification-summary-container',[(_vm.isInbox)?_c('core.details',{attrs:{\"label\":\"Owner\",\"spacing\":\"2px\"}},[_c('orgs.org-label',{attrs:{\"org\":_vm.notification.sourceOrg}})],1):_c('core.details',{attrs:{\"label\":\"Tenant\",\"spacing\":\"2px\"}},[_c('orgs.org-label',{attrs:{\"org\":_vm.notification.destinationOrg}})],1),_c('core.details',{attrs:{\"label\":\"Service\",\"spacing\":\"2px\"}},[_c('span',[_vm._v(_vm._s(_vm.licenseService))])]),_c('core.details',{attrs:{\"label\":\"License summary\",\"spacing\":\"3px\"}},[_c('div',{staticClass:\"flex items-center flex-wrap container-x-4 container-y-4\"},_vm._l((_vm.notification.summary),function(ids,dimension){return _c('el-tag',{key:dimension,attrs:{\"effect\":\"dark\",\"type\":\"info\",\"disable-transitions\":\"\",\"size\":\"tiny\"}},[_c('core.label',{attrs:{\"type\":\"inherit\",\"icon-spacing\":\"2px\",\"icon-size\":\"12px\"}},[_c('el-tooltip',{attrs:{\"slot\":\"icon\",\"effect\":\"light\",\"placement\":\"top\",\"transition\":\"el-zoom-in-bottom\"},slot:\"icon\"},[_c('span',{attrs:{\"slot\":\"content\"},slot:\"content\"},[_vm._v(\"Identifiers: \"),_c('span',{staticClass:\"text-semibold\"},[_vm._v(\"#L\"+_vm._s(ids.join(', #L')))])]),_c('ion-icon',{attrs:{\"name\":\"information-circle-outline\"}})],1),_c('span',[_vm._v(_vm._s(dimension)+\" \"),_c('strong',[_vm._v(\"x\"+_vm._s(ids.length))])])],1)],1)}),1)])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import NotificationContentMixin, { INotificationContent, UiSuccessNotificationMap } from \"@Module/Notifications/Mixins/NotificationContentMixin\";\nimport { LicenseSharingNotification } from \"@Module/Notifications/Models/LicenseSharingNotification.model\";\nimport NotificationsInboxStore from \"@Module/Notifications/Store/NotificationsInbox.store\";\nimport { Component, MapAction, mixins, Prop } from \"types-vue\";\nimport { ServiceID } from \"@Service/ServiceID\";\n\n@Component\nexport default class LicenseSharingNotifContent extends mixins(NotificationContentMixin) implements INotificationContent {\n\n @Prop({ type: Object, required: true })\n protected notification: LicenseSharingNotification;\n\n @MapAction(NotificationsInboxStore.Mapping)\n protected acceptExchangeNotification: (notification: LicenseSharingNotification) => Promise;\n\n public get canResend(): boolean {\n return false;\n }\n\n public getSuccessNotifConfig(): UiSuccessNotificationMap {\n return {\n Accept: {\n title: \"License sharing accepted\", \n message: `License sharing request successfully accepted.`,\n duration: 6000\n },\n Decline: {\n title: \"License sharing declined\", \n message: `License sharing request successfully declined.`,\n duration: 6000\n },\n Cancel: {\n title: \"License sharing cancelled\", \n message: `License sharing request has been successfully cancelled.`\n }\n }\n }\n\n public get licenseService(): string {\n return ServiceID.nameOf(this.notification.service);\n }\n\n public async accept(): Promise {\n await this.acceptExchangeNotification(this.notification);\n return true;\n }\n\n}","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--13-3!./LicenseSharingNotifContent.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--13-3!./LicenseSharingNotifContent.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LicenseSharingNotifContent.vue?vue&type=template&id=df687a60&\"\nimport script from \"./LicenseSharingNotifContent.ts?vue&type=script&lang=ts&\"\nexport * from \"./LicenseSharingNotifContent.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { IOrganizationRoleDto, OrganizationRole } from \"@Module/Orgs/Models/Roles/OrganizationRole.model\";\nimport { Organization } from \"@Module/Orgs/Models/Organization.model\";\nimport { ServiceID } from \"@Service/ServiceID\";\nimport DayJS, { Dayjs } from \"dayjs\";\nimport Clone from \"lodash.clonedeep\";\nimport IsEqual from \"lodash.isequal\";\n\nexport interface IUserDto {\n username: string;\n cognito_id: string;\n agree_comm: boolean;\n creation_date: string;\n update_date: string;\n name: string;\n surname: string;\n org_roles: IOrganizationRoleDto[];\n preview_access: string[];\n universal_org_access: boolean;\n}\n\nexport class User {\n username: string;\n cognitoId: string;\n firstName: string;\n lastName: string;\n creation: Dayjs;\n modification: Dayjs;\n agreesCommunications: boolean = false;\n previewsAccess: ServiceID[] = [];\n universalOrgAccess: boolean = false;\n mainOrgRole?: OrganizationRole;\n allowedOrgRoles: OrganizationRole[];\n\n readonly remote: IUserDto;\n\n private constructor(dto?: IUserDto) {\n this.username = dto?.username;\n this.cognitoId = dto?.cognito_id;\n this.firstName = dto?.name;\n this.lastName = dto?.surname;\n this.creation = !!dto ? DayJS(dto.creation_date) : DayJS();\n this.modification = !!dto ? DayJS(dto.update_date) : DayJS();\n this.agreesCommunications = dto?.agree_comm ?? false;\n this.previewsAccess = (dto?.preview_access ?? []) as ServiceID[];\n this.universalOrgAccess = dto?.universal_org_access ?? false;\n \n const userOrgRoles = dto?.org_roles || [];\n\n const mainOrgRoleDto = userOrgRoles.find(dto => dto.is_main);\n this.mainOrgRole = !!mainOrgRoleDto ? OrganizationRole.fromDto(mainOrgRoleDto) : undefined; \n\n const allowedOrgRoleDtos = userOrgRoles.filter(dto => !dto.is_main) || [];\n this.allowedOrgRoles = allowedOrgRoleDtos.map(OrganizationRole.fromDto);\n this.allowedOrgRoles.sort((a, b) => a.organization.name.localeCompare(b.organization.name));\n\n this.remote = dto;\n if (!!this.remote) {\n this.remote.preview_access = this.previewsAccess;\n this.remote.creation_date = this.creation.toISOString();\n this.remote.update_date = this.modification.toISOString();\n this.remote.org_roles = this.remote.org_roles.length > 0 ? this.remote.org_roles : undefined;\n }\n }\n\n public static fromDto(dto: IUserDto): User {\n return new User(dto);\n }\n\n public static create(): User {\n return new User();\n }\n\n public get fullName(): string {\n return `${this.firstName} ${this.lastName}`.trim();\n }\n\n public get hasPreviews(): boolean {\n return this.previewsAccess.length > 0;\n }\n\n public get isRemote(): boolean {\n return !!this.remote;\n }\n\n public get allOrgRoles(): OrganizationRole[] {\n return !!this.mainOrgRole && this.mainOrgRole.isFulfilled \n ? [this.mainOrgRole, ...this.allowedOrgRoles] \n : this.allowedOrgRoles;\n }\n\n public getOrgRoleForOrg(org: Organization): OrganizationRole | null {\n return this.allOrgRoles.find(orgRole => orgRole.organization.id === org.id) || null;\n }\n\n public getRemoteOrgRoleForOrg(org: Organization): OrganizationRole | null {\n const orgRoleDto = this.remote.org_roles.find(orgRole => orgRole.org.id === org.id);\n return !!orgRoleDto ? OrganizationRole.fromDto(orgRoleDto) : null;\n }\n\n public discardUncommittedChanges() {\n Object.assign(this, new User(this.remote));\n }\n\n public get hasUncommittedChanges(): boolean {\n if (!this.isRemote) { return true; }\n const dto: IUserDto = JSON.parse(JSON.stringify(this.toDto()));\n const remote: IUserDto = JSON.parse(JSON.stringify(this.remote));\n dto.org_roles?.sort((a, b) => a.org.id - b.org.id);\n remote.org_roles?.sort((a, b) => a.org.id - b.org.id);\n return !IsEqual(dto, remote);\n }\n\n public meetsFilter(search: string, orgs?: Organization[]): boolean {\n let hasAccessToOrgs: boolean = true;\n if (!!orgs && orgs.length > 0 && !this.universalOrgAccess) {\n hasAccessToOrgs = this.allOrgRoles.some(orgRole => orgs.some(org => org.id === orgRole.organization.id))\n }\n const text = search?.toLowerCase() || \"\";\n const textMatch = this.username.toLowerCase().includes(text) || this.fullName.toLowerCase().includes(text);\n return hasAccessToOrgs && textMatch;\n }\n\n public clone(): User {\n return Clone(this);\n }\n\n public toDto(): IUserDto {\n const orgRoles = !this.universalOrgAccess \n ? this.allOrgRoles.map(orgRole => orgRole.toDto()) \n : !!this.mainOrgRole ? [this.mainOrgRole.toDto()] : [];\n return {\n username: this.username,\n cognito_id: this.cognitoId,\n agree_comm: this.agreesCommunications,\n name: this.firstName,\n surname: this.lastName,\n preview_access: this.previewsAccess,\n universal_org_access: this.universalOrgAccess,\n creation_date: this.creation.toISOString(),\n update_date: this.modification.toISOString(),\n org_roles: orgRoles.length > 0 ? orgRoles : undefined\n };\n }\n\n}","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OrgAccessRequestNotifContent.vue?vue&type=style&index=0&id=40d9d5a8&lang=scss&scoped=true&\"","var map = {\n\t\"./Core/App.vue\": \"e206\",\n\t\"./Core/Components/Alert/Alert.vue\": \"050d\",\n\t\"./Core/Components/AwsRegionSelector/AwsRegionSelector.vue\": \"7ddf\",\n\t\"./Core/Components/Breadcrumb/Breadcrumb.vue\": \"f67c\",\n\t\"./Core/Components/Card/Card.vue\": \"927c\",\n\t\"./Core/Components/CollapsableCard/CollapsableCard.vue\": \"148d\",\n\t\"./Core/Components/Collapse/Collapse.vue\": \"05d0\",\n\t\"./Core/Components/CopyLabel/CopyLabel.vue\": \"7740\",\n\t\"./Core/Components/DateLabel/DateLabel.vue\": \"bb08\",\n\t\"./Core/Components/DateSpan/DateSpan.vue\": \"ce83\",\n\t\"./Core/Components/Details/Details.vue\": \"97b1\",\n\t\"./Core/Components/Dialog/Dialog.vue\": \"b715\",\n\t\"./Core/Components/DocsLink/DocsLink.vue\": \"398e\",\n\t\"./Core/Components/Drawer/Drawer.vue\": \"6912\",\n\t\"./Core/Components/Empty/Empty.vue\": \"db21\",\n\t\"./Core/Components/ErrorAlert/ErrorAlert.vue\": \"800b\",\n\t\"./Core/Components/FeatureCard/FeatureCard.vue\": \"b660\",\n\t\"./Core/Components/FiltersCollapse/FiltersCollapse.vue\": \"d9c7\",\n\t\"./Core/Components/FiltersDrawer/FiltersDrawer.vue\": \"a8bf\",\n\t\"./Core/Components/Footer/Footer.vue\": \"ec24\",\n\t\"./Core/Components/Header/Header.vue\": \"ff78\",\n\t\"./Core/Components/Icon/Icon.vue\": \"0ba7\",\n\t\"./Core/Components/Label/Label.vue\": \"4657\",\n\t\"./Core/Components/Layouts/ColumnsLayout/ColumnsLayout.vue\": \"9ffe\",\n\t\"./Core/Components/Layouts/Layout/Layout.vue\": \"d2b9\",\n\t\"./Core/Components/List/List.vue\": \"ea5b\",\n\t\"./Core/Components/List/ListItem.vue\": \"e3e4\",\n\t\"./Core/Components/Loading/Loading.vue\": \"0d25\",\n\t\"./Core/Components/Menu/Menu.vue\": \"eef1\",\n\t\"./Core/Components/MenuItem/MenuItem.vue\": \"96cf\",\n\t\"./Core/Components/NotificationCenter/NotificationCenter.vue\": \"9382\",\n\t\"./Core/Components/PropValueSelector/PropValueSelector.vue\": \"c56d\",\n\t\"./Core/Components/Pulse/Pulse.vue\": \"d0f2\",\n\t\"./Core/Components/PurchasePopover/PurchasePopover.vue\": \"efe6\",\n\t\"./Core/Components/QueryParam/QueryParam.vue\": \"205f\",\n\t\"./Core/Components/Redirect/Redirect.vue\": \"549f\",\n\t\"./Core/Components/RedirectAlert/RedirectAlert.vue\": \"035e\",\n\t\"./Core/Components/ServiceSelector/ServiceSelector.vue\": \"f47d\",\n\t\"./Core/Components/ServiceViewport/ServiceViewport.vue\": \"f3d7\",\n\t\"./Core/Components/StatCard/StatCard.vue\": \"e100\",\n\t\"./Core/Components/SubMenuItem/SubMenuItem.vue\": \"0130\",\n\t\"./Core/Components/SuperadminButton/SuperadminButton.vue\": \"a1b2\",\n\t\"./Core/Components/Title/Title.vue\": \"badc\",\n\t\"./Core/Components/UserMenu/UserMenu.vue\": \"a691\",\n\t\"./Core/Components/Viewport/Viewport.vue\": \"4f49\",\n\t\"./Core/Components/Views/Forbidden/ForbiddenView.vue\": \"2aed\",\n\t\"./Core/Components/Views/NotFound/NotFoundView.vue\": \"bfef\",\n\t\"./Core/Components/Views/PreviewAccess/PreviewAccessView.vue\": \"2fda\",\n\t\"./Core/Components/YesNoCheckboxGroup/YesNoCheckboxGroup.vue\": \"9f7a\",\n\t\"./Core/Components/YesNoLabel/YesNoLabel.vue\": \"9965\",\n\t\"./Modules/Auth/Components/AuthController/AuthController.vue\": \"de76\",\n\t\"./Modules/Auth/Components/AuthDialog/AuthDialog.vue\": \"d7d9\",\n\t\"./Modules/Auth/Components/AuthPage/AuthPage.vue\": \"0ea5\",\n\t\"./Modules/Auth/Components/ChangePwdDialog/ChangePwdDialog.vue\": \"e9c3\",\n\t\"./Modules/Auth/Components/ForgotPwdPanel/ForgotPwdPanel.vue\": \"d640\",\n\t\"./Modules/Auth/Components/NewPwdChallengePanel/NewPwdChallengePanel.vue\": \"bd84\",\n\t\"./Modules/Auth/Components/NewPwdForm/NewPwdForm.vue\": \"edad\",\n\t\"./Modules/Auth/Components/RecoveryPanel/RecoveryPanel.vue\": \"7046\",\n\t\"./Modules/Auth/Components/RespondInvitationPanel/RespondInvitationPanel.vue\": \"48975\",\n\t\"./Modules/Auth/Components/RoleTesting/RoleTesting.vue\": \"70bd\",\n\t\"./Modules/Auth/Components/SignInPanel/SignInPanel.vue\": \"cc2c\",\n\t\"./Modules/Auth/Components/SignUpPanel/SignUpPanel.vue\": \"c9a8\",\n\t\"./Modules/Auth/Views/AuthView.vue\": \"17e3\",\n\t\"./Modules/Legal/Components/DataProtectionDialog/DataProtectionDialog.vue\": \"c0c4\",\n\t\"./Modules/Licensing/Components/AdminCreateContractDialog/AdminCreateContractDialog.vue\": \"3812\",\n\t\"./Modules/Licensing/Components/AdminEditContractDialog/AdminEditContractDialog.vue\": \"dd76\",\n\t\"./Modules/Licensing/Components/ContractFiltersPanel/ContractFiltersPanel.vue\": \"87b9\",\n\t\"./Modules/Licensing/Components/ContractGeneralSummary/ContractGeneralSummary.vue\": \"e187\",\n\t\"./Modules/Licensing/Components/ContractListRow/ContractListRow.vue\": \"0c85\",\n\t\"./Modules/Licensing/Components/ContractNotificationsSummary/ContractNotificationsSummary.vue\": \"abaf\",\n\t\"./Modules/Licensing/Components/ContractSummary/ContractSummary.vue\": \"bfe1\",\n\t\"./Modules/Licensing/Components/ContractValiditySummary/ContractValiditySummary.vue\": \"7a35\",\n\t\"./Modules/Licensing/Components/ContractsSummaryFiltersPanel/ContractsSummaryFiltersPanel.vue\": \"2639\",\n\t\"./Modules/Licensing/Components/ContractsSummaryView/ContractsSummaryView.vue\": \"a45c\",\n\t\"./Modules/Licensing/Components/DimensionSelector/DimensionSelector.vue\": \"742b\",\n\t\"./Modules/Licensing/Components/DimensionSelectorOption/DimensionSelectorOption.vue\": \"1859\",\n\t\"./Modules/Licensing/Components/ExportLicensingSummaryDialog/ExportLicensingSummaryDialog.vue\": \"1b84\",\n\t\"./Modules/Licensing/Components/HostFiltersPanel/HostFiltersPanel.vue\": \"fdca\",\n\t\"./Modules/Licensing/Components/HostRegistrationDialog/HostRegistrationDialog.vue\": \"47c0\",\n\t\"./Modules/Licensing/Components/HostSummary/HostSummary.vue\": \"a75e\",\n\t\"./Modules/Licensing/Components/LicenseAvailabilityTag/LicenseAvailabilityTag.vue\": \"ebbb\",\n\t\"./Modules/Licensing/Components/LicenseExchangeStatusCell/LicenseExchangeStatusCell.vue\": \"4246\",\n\t\"./Modules/Licensing/Components/LicenseFiltersPanel/LicenseFiltersPanel.vue\": \"46f9\",\n\t\"./Modules/Licensing/Components/LicenseGeneralSummary/LicenseGeneralSummary.vue\": \"adcc\",\n\t\"./Modules/Licensing/Components/LicenseListRow/LicenseListRow.vue\": \"b807\",\n\t\"./Modules/Licensing/Components/LicenseSummary/LicenseSummary.vue\": \"9acc\",\n\t\"./Modules/Licensing/Components/LicenseTransfer/LicenseTransfer.vue\": \"4dad\",\n\t\"./Modules/Licensing/Components/LicenseTransferDialog/LicenseTransferDialog.vue\": \"4a0a\",\n\t\"./Modules/Licensing/Components/LicenseUsagePorgress/LicenseUsageProgress.vue\": \"02fe\",\n\t\"./Modules/Licensing/Components/LicenseUsageSummary/LicenseUsageSummary.vue\": \"950e\",\n\t\"./Modules/Licensing/Components/LicenseValiditySummary/LicenseValiditySummary.vue\": \"e77b\",\n\t\"./Modules/Licensing/Components/LicensingStatusBreakdown/LicensingStatusBreakdown.vue\": \"ccfd\",\n\t\"./Modules/Licensing/Components/LicensingStatusTag/LicensingStatusTag.vue\": \"531a\",\n\t\"./Modules/Licensing/Components/LicensingSummaryExpand/LicensingSummaryExpand.vue\": \"319f\",\n\t\"./Modules/Licensing/Components/NextExpirationsCollapse/NextExpirationsCollapse.vue\": \"d86a\",\n\t\"./Modules/Licensing/Components/OriginSelector/OriginSelector.vue\": \"c09f\",\n\t\"./Modules/Licensing/Components/StatusFilter/StatusSelector.vue\": \"efe2\",\n\t\"./Modules/Licensing/Components/Views/ContractDetails/ContractDetailsView.vue\": \"a571\",\n\t\"./Modules/Licensing/Components/Views/Contracts/ContractsView.vue\": \"41b28\",\n\t\"./Modules/Licensing/Components/Views/LicenseDetails/LicenseDetailsView.vue\": \"b258\",\n\t\"./Modules/Licensing/Components/Views/Licenses/LicensesView.vue\": \"b5b8\",\n\t\"./Modules/Licensing/Views/LicensingSummary/LicensingSummary.vue\": \"d47e\",\n\t\"./Modules/Notifications/Components/ContractPurchaseOrgSelectionDialog/ContractPurchaseOrgSelectionDialog.vue\": \"3276\",\n\t\"./Modules/Notifications/Components/NotificationContent/ContractPurchaseNotifContent/ContractPurchaseNotifContent.vue\": \"f485\",\n\t\"./Modules/Notifications/Components/NotificationContent/LicenseReturnNotifContent/LicenseReturnNotifContent.vue\": \"e716\",\n\t\"./Modules/Notifications/Components/NotificationContent/LicenseSharingNotifContent/LicenseSharingNotifContent.vue\": \"8b0f\",\n\t\"./Modules/Notifications/Components/NotificationContent/OrgAccessRequestNotifContent/OrgAccessRequestNotifContent.vue\": \"13ac\",\n\t\"./Modules/Notifications/Components/NotificationContent/OrgInvitationNotifContent/OrgInvitationNotifContent.vue\": \"9aa3\",\n\t\"./Modules/Notifications/Components/NotificationListItem/NotificationListItem.vue\": \"389d\",\n\t\"./Modules/Notifications/Components/NotificationSkeleton/NotificationSkeleton.vue\": \"71e6\",\n\t\"./Modules/Notifications/Components/NotificationSummaryContainer/NotificationSummaryContainer.vue\": \"8ae9\",\n\t\"./Modules/Notifications/Components/NotificationsInboxPopover/NotificationsInboxPopover.vue\": \"a2c7\",\n\t\"./Modules/Notifications/Components/NotificationsList/NotificationsList.vue\": \"8a52\",\n\t\"./Modules/Notifications/Components/OrgAccessRequestRoleSelectionDialog/OrgAccessRequestRoleSelectionDialog.vue\": \"9aa8\",\n\t\"./Modules/Notifications/Components/OrgInvitationsOutboxDialog/OrgInvitationsOutboxDialog.vue\": \"77bb\",\n\t\"./Modules/Orgs/Components/InviteMemberForm/InviteMemberForm.vue\": \"8d9f\",\n\t\"./Modules/Orgs/Components/NoOrgAlert/NoOrgAlert.vue\": \"3069\",\n\t\"./Modules/Orgs/Components/OrgEditorDialog/OrgEditorDialog.vue\": \"ede3\",\n\t\"./Modules/Orgs/Components/OrgEditorForm/OrgEditorForm.vue\": \"2250\",\n\t\"./Modules/Orgs/Components/OrgLabel/OrgLabel.vue\": \"33f2\",\n\t\"./Modules/Orgs/Components/OrgLicensingSummaryView/OrgsLicensingSummaryView.vue\": \"77bc\",\n\t\"./Modules/Orgs/Components/OrgRoleEditor/OrgRoleEditor.vue\": \"2a67\",\n\t\"./Modules/Orgs/Components/OrgRoleSelector/OrgRoleSelector.vue\": \"afd2\",\n\t\"./Modules/Orgs/Components/OrgRoleSummary/OrgRoleSummary.vue\": \"1541\",\n\t\"./Modules/Orgs/Components/OrgRoleTag/OrgRoleTag.vue\": \"9d47\",\n\t\"./Modules/Orgs/Components/OrgRoleTree/OrgRoleTree.vue\": \"d506\",\n\t\"./Modules/Orgs/Components/OrgRoleTreeItem/OrgRoleTreeItem.vue\": \"33f9\",\n\t\"./Modules/Orgs/Components/OrgSelector/OrgSelector.vue\": \"c490\",\n\t\"./Modules/Orgs/Components/OrgSuggestionList/OrgSuggestionList.vue\": \"1be4\",\n\t\"./Modules/Orgs/Components/OrgSuggestionListItem/OrgSuggestionListItem.vue\": \"8581\",\n\t\"./Modules/Orgs/Components/OrgSuggestionSkeleton/OrgSuggestionSkeleton.vue\": \"da0b\",\n\t\"./Modules/Orgs/Components/OrgSummary/OrgSummary.vue\": \"bce4\",\n\t\"./Modules/Orgs/Components/OrgSwitcher/OrgSwitcher.vue\": \"aafc\",\n\t\"./Modules/Orgs/Components/OrgsContractsSummaryFiltersPanel/OrgsLicensingSummaryFiltersPanel.vue\": \"9de5\",\n\t\"./Modules/Orgs/Components/RoleSelector/RoleSelector.vue\": \"77e2\",\n\t\"./Modules/Reports/Components/BillingPeriod/BillingPeriod.vue\": \"3ff0\",\n\t\"./Modules/Reports/Components/BillingPeriodDialog/BillingPeriodDialog.vue\": \"e2d1\",\n\t\"./Modules/Reports/Components/ContractSelector/ContractSelector.vue\": \"5f8f\",\n\t\"./Modules/Reports/Components/ContractsReport/ContractsReport.vue\": \"6c38\",\n\t\"./Modules/Reports/Components/FinancialInfoDialog/FinancialInfoDialog.vue\": \"fec8\",\n\t\"./Modules/Reports/Components/FinancialInfoReport/FinancialInfoReport.vue\": \"b92a\",\n\t\"./Modules/Reports/Components/LeadGeneratorSelector/LeadGeneratorSelector.vue\": \"8285\",\n\t\"./Modules/Reports/Components/PaymentForm/PaymentForm.vue\": \"176e\",\n\t\"./Modules/Reports/Components/ReportContractsExpand/ReportContractsExpand.vue\": \"7c3a\",\n\t\"./Modules/Reports/Components/ReportContractsFilterPanel/ReportContractsFilterPanel.vue\": \"cb13\",\n\t\"./Modules/Reports/Components/ReportsDialog/ReportsDialog.vue\": \"3d23\",\n\t\"./Modules/Reports/Views/Report/FinancialReportView.vue\": \"00bd\",\n\t\"./Modules/Reports/Views/Report/ReportContractDetails/ReportContractDetails.vue\": \"3a02\",\n\t\"./Modules/Resources/Components/ManageResourcesDialog/ManageResourcesDialog.vue\": \"d7ef\",\n\t\"./Modules/Resources/Components/PlatformSelector/PlatformSelector.vue\": \"51c5\",\n\t\"./Modules/Resources/Components/ProductVersionSelector/ProductVersionSelector.vue\": \"b732\",\n\t\"./Modules/Resources/Components/ReleaseSelector/ReleaseSelector.vue\": \"fbdb\",\n\t\"./Modules/Resources/Components/ReleasesCollapse/ReleasesCollapse.vue\": \"f406\",\n\t\"./Modules/Resources/Components/ReleasesList/ReleasesList.vue\": \"f960\",\n\t\"./Modules/Resources/Components/ResourcesList/ResourcesList.vue\": \"edcd\",\n\t\"./Modules/Trial/Components/TrialCounter/TrialCounter.vue\": \"152a\",\n\t\"./Modules/Trial/Components/TrialDialog/TrialDialog.vue\": \"b8f8\",\n\t\"./Modules/Trial/Components/TrialDimensionSlot/TrialDimensionSlot.vue\": \"b545\",\n\t\"./Modules/Trial/Components/TrialDimensionsSelector/TrialDimensionsSelector.vue\": \"44cf\",\n\t\"./Modules/Trial/Components/TrialStatus/TrialStatus.vue\": \"2a0d\",\n\t\"./Modules/Trial/Components/TrialSummary/TrialSummary.vue\": \"4aec\",\n\t\"./Modules/Users/Components/UserEditorDialog/UserEditorDialog.vue\": \"daf4\",\n\t\"./Modules/Users/Components/UserGeneralSummary/UserGeneralSummary.vue\": \"72e2\",\n\t\"./Modules/Users/Components/UserStatusSummary/UserStatusSummary.vue\": \"041c\",\n\t\"./Modules/Users/Components/UserStatusTag/UserStatusTag.vue\": \"4c89\",\n\t\"./Modules/Users/Components/UserSummary/UserSummary.vue\": \"c9ea\",\n\t\"./Modules/Users/Components/UserSummaryBanner/UserSummaryBanner.vue\": \"59a9\",\n\t\"./Modules/Users/Components/UsersRoleManager/UsersRoleManager.vue\": \"f858\",\n\t\"./Modules/Users/Views/UserDetails/UserDetails.vue\": \"e34b\",\n\t\"./Modules/Users/Views/UsersManager/UsersManager.vue\": \"5aa4\",\n\t\"./Services/AbapSuite/Components/HostFiltersPanelExtension/HostFiltersPanelExtension.vue\": \"db3f\",\n\t\"./Services/AbapSuite/Views/ContractDetails/AbapSuiteContractDetails.vue\": \"958d\",\n\t\"./Services/AbapSuite/Views/Contracts/AbapSuiteContracts.vue\": \"9a00\",\n\t\"./Services/AbapSuite/Views/Documentation/AbapSuiteDocumentation.vue\": \"128d\",\n\t\"./Services/AbapSuite/Views/Hub/AbapSuiteHub.vue\": \"0946\",\n\t\"./Services/AbapSuite/Views/LicenseDetails/AbapSuiteLicenseDetails.vue\": \"3cbf\",\n\t\"./Services/AbapSuite/Views/Licenses/AbapSuiteLicenses.vue\": \"0da1\",\n\t\"./Services/AbapSuite/Views/Packages/AbapSuiteDownloads.vue\": \"30bb\",\n\t\"./Services/Console/Views/Hub/ConsoleHub.vue\": \"efcb\",\n\t\"./Services/Emory/Components/BackupAwsSummary/BackupAwsSummary.vue\": \"be3b\",\n\t\"./Services/Emory/Components/BackupAzureSummary/BackupAzureSummary.vue\": \"6d7f\",\n\t\"./Services/Emory/Components/BackupExportDialog/EmoryBackupExportDialog.vue\": \"80ec\",\n\t\"./Services/Emory/Components/BackupGCloudSummary/BackupGCloudSummary.vue\": \"8dd6\",\n\t\"./Services/Emory/Components/BackupLifecycleSummary/BackupLifecycleSummary.vue\": \"029f\",\n\t\"./Services/Emory/Components/BackupStatusTag/EmoryBackupStatusTag.vue\": \"eab6\",\n\t\"./Services/Emory/Components/BackupSummary/EmoryBackupSummary.vue\": \"c6f9\",\n\t\"./Services/Emory/Components/EmoryBackupFiltersPanel/EmoryBackupFiltersPanel.vue\": \"6665\",\n\t\"./Services/Emory/Components/HostFiltersPanelExtension/HostFiltersPanelExtension.vue\": \"3961\",\n\t\"./Services/Emory/Components/TrialDialog/EmoryTrialDialog.vue\": \"73bb\",\n\t\"./Services/Emory/Views/BackupDetails/EmoryBackupDetails.vue\": \"4568\",\n\t\"./Services/Emory/Views/BackupHistory/EmoryBackupHistory.vue\": \"4683\",\n\t\"./Services/Emory/Views/ContractDetails/EmoryContractDetails.vue\": \"6c61\",\n\t\"./Services/Emory/Views/Contracts/EmoryContracts.vue\": \"5879\",\n\t\"./Services/Emory/Views/Documentation/EmoryDocumentation.vue\": \"a6ed\",\n\t\"./Services/Emory/Views/Hub/EmoryHub.vue\": \"8303\",\n\t\"./Services/Emory/Views/LicenseDetails/EmoryLicenseDetails.vue\": \"a512\",\n\t\"./Services/Emory/Views/Licenses/EmoryLicenses.vue\": \"20b8\",\n\t\"./Services/Emory/Views/Packages/EmoryPackages.vue\": \"ba2d\",\n\t\"./Services/Preinstalled/Views/Catalog/AmisCatalog.vue\": \"066e\",\n\t\"./Services/Preinstalled/Views/Documentation/PreinstalledDocumentation.vue\": \"67e2\",\n\t\"./Services/Preinstalled/Views/Hub/AmisHub.vue\": \"4bb8\",\n\t\"./Services/Settings/Components/InfoItem/InfoItem.vue\": \"12e9\",\n\t\"./Services/Settings/Components/SettingsItem/ConfigItem.vue\": \"ef16\",\n\t\"./Services/Settings/Views/AccountSettings/AccountSettings.vue\": \"e5d1\",\n\t\"./Services/Settings/Views/AppSettings/AppSettings.vue\": \"50ca\",\n\t\"./Services/Settings/Views/OrganizationSetup/OrganizationSetup.vue\": \"9f67\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\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 map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"8bb8\";","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PreinstalledDocumentation.vue?vue&type=style&index=0&lang=scss&\"","import DayJS, { Dayjs } from \"dayjs\";\nimport { IResourceDto } from \"./Resource.model\";\nimport { ServiceID } from \"@Service/ServiceID\";\nimport { IPlatformDto, Platform } from \"./Platform.model\";\n\nexport interface ICreateProductVersionDto {\n product: ServiceID,\n version: string,\n description: string,\n}\n\nexport interface IProductVersionDto {\n id: number;\n version: string;\n description: string;\n platforms: IPlatformDto[]\n}\n\nexport class ProductVersion {\n id: number;\n version: string;\n description: string;\n platforms: IPlatformDto[]\n ;\n\n private constructor(dto: IProductVersionDto) {\n this.id = dto.id;\n this.version = dto?.version;\n this.description = dto.description;\n this.platforms = dto.platforms;\n }\n\n public static create(dto?: Partial): ProductVersion {\n return new ProductVersion({\n id: dto?.id,\n version: dto?.version, \n description: dto?.description,\n platforms: dto?.platforms\n });\n }\n\n public static fromDto(dto: IProductVersionDto): ProductVersion {\n return new ProductVersion(dto);\n }\n\n public toDto(): IProductVersionDto {\n return {\n id: this.id,\n version: this.version,\n description: this.description,\n platforms: this.platforms\n };\n }\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-form',{ref:\"form\",staticClass:\"invite-member-form flex-1 w-full\",attrs:{\"spellcheck\":\"false\",\"disabled\":_vm.disabled || _vm.inviteToOrg.loading,\"rules\":_vm.validationRules,\"model\":_vm.model,\"inline\":false}},[_c('div',{staticClass:\"space-y-16\"},[_c('el-form-item',{attrs:{\"prop\":\"email\"}},[_c('el-input',{attrs:{\"disabled\":_vm.disabled,\"type\":\"email\",\"placeholder\":\"Enter new member's email\",\"clearable\":\"\"},on:{\"clear\":_vm.onFieldClear},model:{value:(_vm.model.email),callback:function ($$v) {_vm.$set(_vm.model, \"email\", $$v)},expression:\"model.email\"}},[_c('orgs.role-selector',{staticStyle:{\"width\":\"9rem\"},attrs:{\"slot\":\"prepend\",\"disabled\":_vm.disabled,\"default-first-option\":\"\"},slot:\"prepend\",model:{value:(_vm.model.role),callback:function ($$v) {_vm.$set(_vm.model, \"role\", $$v)},expression:\"model.role\"}},[_c('core.empty',{attrs:{\"slot\":\"empty\",\"description\":\"No matching role\",\"no-icon\":\"\",\"compact\":\"\"},slot:\"empty\"})],1),_c('ion-icon',{staticClass:\"invite-input-icon\",attrs:{\"slot\":\"prefix\",\"name\":\"at\"},slot:\"prefix\"}),_c('el-button',{attrs:{\"slot\":\"append\",\"disabled\":_vm.disabled || !_vm.model.email || _vm.formWithErrors,\"icon\":\"el-icon-postcard\",\"type\":\"primary\",\"loading\":_vm.inviteToOrg.loading},on:{\"click\":_vm.onInviteClick},slot:\"append\"},[(_vm.inviteToOrg.loading)?_c('span',[_vm._v(\"Inviting\")]):_c('span',[_vm._v(\"Invite\")])])],1)],1),_c('transition',{attrs:{\"name\":\"el-zoom-in-top\"}},[(!!_vm.inviteToOrg.error)?_c('core.alert',{attrs:{\"type\":\"error\",\"title\":\"Invitation error\",\"description\":_vm.inviteToOrg.error.message,\"closable\":false,\"plain\":\"\"}}):_vm._e()],1)],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import NotificationsOutboxStore, { SendOrgInvitationPayload } from \"@Module/Notifications/Store/NotificationsOutbox.store\";\nimport { Organization } from \"@Module/Orgs/Models/Organization.model\";\nimport { Role } from \"@Module/Auth/Models/Roles/AccessRole.model\";\nimport { Component, MapAction, MapGetter, Prop } from \"types-vue\";\nimport OrgsStore from \"@Module/Orgs/Store/Orgs.store\";\nimport AuthStore from \"@Module/Auth/Store/Auth.store\";\nimport { Execution } from \"@Core/Models/Execution\";\nimport { ElForm } from \"element-ui/types/form\";\nimport { Notify } from \"@Core/Utils/Notify\";\nimport Vue from \"vue\";\n\ninterface InviteMemberFormModel {\n email: string;\n role: Role;\n}\n\n@Component\nexport default class InviteMember extends Vue {\n\n @Prop({ type: Boolean, default: false })\n protected disabled: boolean;\n\n @MapGetter(AuthStore.Mapping)\n protected roles: Role[];\n\n @MapGetter(OrgsStore.Mapping)\n protected currentOrg: Organization;\n\n @MapAction(NotificationsOutboxStore.Mapping)\n protected sendOrgInvitation: (payload: SendOrgInvitationPayload) => Promise\n\n protected model: InviteMemberFormModel = { \n email: null,\n role: null\n };\n\n protected inviteToOrg = Execution.create(this.doInvite);\n\n protected doInvite() {\n return this.sendOrgInvitation(this.model);\n }\n\n protected get validationRules() {\n return {\n email: [{ type: \"email\", message: \"Please enter a valid email address.\", trigger: [\"change\", \"blur\"] }]\n }\n }\n\n protected onFieldClear() {\n (this.$refs.form as ElForm)?.clearValidate();\n }\n\n protected get formWithErrors(): boolean {\n return (this.$refs.form as any).fields?.some((item: any) => item.validateState === \"error\") || false;\n }\n\n protected async onInviteClick() {\n try { \n await this.$confirm(\n `Are you sure you want to invite ${this.model.email} to ${this.currentOrg.name} organization as ${this.model.role.name}?`,\n \"Invitation confirmation\", {\n dangerouslyUseHTMLString: true,\n confirmButtonText: \"Send invitation\",\n cancelButtonText: \"Cancel\",\n type: \"warning\"\n });\n } catch (error) { return; }\n\n this.inviteToOrg.reset();\n await this.inviteToOrg.run();\n if (!this.inviteToOrg.error) {\n Notify.Success({\n title: \"Invitation Sent\",\n message: `An invitation to your organization has been sent to ${this.model.email}.`\n });\n this.model = { \n email: null,\n role: this.model.role \n };\n }\n }\n \n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./InviteMemberForm.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./InviteMemberForm.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./InviteMemberForm.vue?vue&type=template&id=71fe5757&scoped=true&\"\nimport script from \"./InviteMemberForm.ts?vue&type=script&lang=ts&\"\nexport * from \"./InviteMemberForm.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./InviteMemberForm.vue?vue&type=style&index=0&id=71fe5757&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"71fe5757\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"flex flex-wrap container-x-24 container-y-16\"},[_c('core.details',{attrs:{\"spacing\":\"6px\"}},[_c('core.label',{attrs:{\"slot\":\"label\",\"icon-position\":\"end\",\"icon-size\":\"14px\",\"icon-spacing\":\"4px\"},slot:\"label\"},[_c('H3',[_vm._v(\"Storage\")]),(!!_vm.gcloud.buildLocationUrl())?_c('el-link',{attrs:{\"slot\":\"icon\",\"type\":\"primary\",\"underline\":false,\"target\":\"_blank\",\"href\":_vm.gcloud.buildLocationUrl()},slot:\"icon\"},[_c('ion-icon',{attrs:{\"name\":\"open-outline\"}})],1):_vm._e()],1),_c('div',{staticClass:\"flex flex-wrap container-x-16 container-y-16\"},[_c('core.details',{attrs:{\"label\":\"Region\",\"value\":_vm.gcloud.region}}),_c('core.details',{attrs:{\"label\":\"Bucket Name\",\"value\":_vm.gcloud.location}}),_c('core.details',{attrs:{\"label\":\"Bucket Path\"}},[_c('el-tooltip',{attrs:{\"effect\":\"light\",\"content\":_vm.gcloud.path,\"placement\":\"top\",\"open-delay\":500,\"disabled\":!_vm.bucketPath.includes('...')}},[_c('span',[_vm._v(_vm._s(_vm.bucketPath))])])],1)],1)],1),_c('core.details',{attrs:{\"spacing\":\"6px\"}},[_c('core.label',{attrs:{\"slot\":\"label\",\"icon-position\":\"end\",\"icon-size\":\"14px\",\"icon-spacing\":\"4px\"},slot:\"label\"},[_c('H3',[_vm._v(\"Encryption\")])],1),_c('div',{staticClass:\"flex flex-wrap container-x-16 container-y-16\"},[_c('core.details',{attrs:{\"label\":\"Type\"}},[(!!_vm.gcloud.encryption)?_c('el-tag',{attrs:{\"size\":\"mini\",\"disable-transitions\":\"\",\"type\":\"info\",\"effect\":\"light\"}},[_c('span',[_vm._v(_vm._s(_vm.gcloud.encryption))])]):_vm._e()],1),_c('core.details',{attrs:{\"label\":\"Key Name\",\"value\":_vm.gcloud.encryptionKeyName}})],1)],1)],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { BackupGCloudCloudProvider } from \"@Service/Emory/Models/Backups/CloudProvider/BackupGCloudCloudProvider.model\";\nimport { Component, Prop } from \"types-vue\";\nimport { Utils } from \"@Core/Utils/Utils\";\nimport Vue from \"vue\";\n\n@Component\nexport default class BackupGCloudSummary extends Vue {\n\n @Prop({ type: Object, required: true })\n protected gcloud: BackupGCloudCloudProvider;\n\n protected get bucketPath(): string {\n if (this.$mq.md) return Utils.smartTrim(this.gcloud.path, 15);\n else if (this.$mq.lg) return Utils.smartTrim(this.gcloud.path, 18);\n else return Utils.smartTrim(this.gcloud.path, 22);\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./BackupGCloudSummary.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./BackupGCloudSummary.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./BackupGCloudSummary.vue?vue&type=template&id=12eaa046&\"\nimport script from \"./BackupGCloudSummary.ts?vue&type=script&lang=ts&\"\nexport * from \"./BackupGCloudSummary.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { IBackupFiltersDto } from \"../Models/Backups/BackupFilters.model\";\nimport { ExportFormat } from \"@Core/Models/ExportFormat.model\";\nimport { ConsoleError } from \"@Core/Errors/ConsoleError\";\n\ninterface GetBackupsExportApiErrorMeta {\n filters: IBackupFiltersDto;\n format: ExportFormat;\n}\n\nexport class GetBackupsExportApiError extends ConsoleError {}","import { ConsoleError } from \"@Core/Errors/ConsoleError\";\n\nexport class GetBackupLevelsApiError extends ConsoleError {}","import { IBackupFiltersDto } from \"../Models/Backups/BackupFilters.model\";\nimport { ConsoleError } from \"@Core/Errors/ConsoleError\";\n\ninterface GetBackupsApiErrorMeta {\n backupId?: number;\n filters?: IBackupFiltersDto;\n}\n\nexport class GetBackupsApiError extends ConsoleError {}","import { IBackupHistoryPageDto } from \"../Models/Backups/BackupHistoryPage.model\";\nimport { GetBackupsExportApiError } from \"../Errors/GetBackupsExportApiError\";\nimport { GetBackupLevelsApiError } from \"../Errors/GetBackupLevelsApiError\";\nimport { IBackupFiltersDto } from \"../Models/Backups/BackupFilters.model\";\nimport { IBackupLevelDto } from \"../Models/Backups/BackupLevel.model\";\nimport { GetBackupsApiError } from \"../Errors/GetBackupsApiError\";\nimport { ExportFormat } from \"@Core/Models/ExportFormat.model\";\nimport { IBackupDto } from \"../Models/Backups/Backup.model\";\nimport { ServiceID } from \"@Service/ServiceID\";\nimport AxiosAPI from \"@Core/API/AxiosAPI\";\n\nclass EmoryBackupsAPI extends AxiosAPI {\n private static instance: EmoryBackupsAPI;\n\n public static get Instance(): EmoryBackupsAPI {\n return this.instance || (this.instance = new this());\n }\n\n protected url(slug?: string): string {\n const baseUrl = `${process.env.VUE_APP_SERVICE_URL_BACKEND}/backups`;\n return !!slug ? `${baseUrl}/${slug}` : baseUrl;\n }\n\n public async getBackupLevels(): Promise {\n try {\n const url = this.url(\"levels\");\n const response = await this.axios.get(url);\n return response.data;\n } catch (error) {\n const message = `An error occurred while retrieving the supported backup levels. Try again later.`;\n throw new GetBackupLevelsApiError(message, { cause: error });\n }\n }\n\n public async getBackups(filters: IBackupFiltersDto): Promise {\n try {\n const url = this.url();\n const response = await this.axios.get(url, {\n params: { product: ServiceID.Emory, ...filters }\n });\n return response.data;\n } catch (error) {\n const message = `An error occurred while obtaining your backup history. Please try again later.`;\n throw new GetBackupsApiError(message, {\n cause: error,\n meta: { filters }\n });\n }\n }\n\n public async getBackup(backupId: number): Promise {\n try {\n const url = this.url(backupId.toString());\n const response = await this.axios.get(url);\n return response.data;\n } catch (error) {\n const message = `An error occurred while obtaining the requested backup record. Please try again later.`;\n throw new GetBackupsApiError(message, {\n cause: error, \n meta: { backupId }\n });\n }\n }\n\n public async getBackupsExport(filters: IBackupFiltersDto, format: ExportFormat): Promise {\n try {\n const url = this.url(\"export\");\n const response = await this.axios.get(url, {\n params: { \n product: ServiceID.Emory,\n exp_type: format,\n ...filters \n }\n });\n return response.data;\n } catch (error) {\n const message = `An error occurred while exporting your backup history query. Please try again later.`;\n throw new GetBackupsExportApiError(message, {\n cause: error,\n meta: { filters, format }\n });\n }\n }\n}\n\nexport default EmoryBackupsAPI.Instance;","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccountSettings.vue?vue&type=style&index=0&lang=scss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-card',{staticClass:\"card\",class:_vm.cardClass,attrs:{\"header\":_vm.title,\"shadow\":_vm.isPlain ? 'never' : 'always'}},[_vm._t(\"header\",null,{\"slot\":\"header\"}),_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import AppSettingsStore from \"@Service/Settings/Store/AppSettings/AppSettings.store\";\nimport { UISize } from \"@Service/Settings/Store/AppSettings/AppSettings.state\";\nimport { Component, MapGetter, Prop } from \"types-vue\";\nimport Vue from \"vue\";\n\n@Component\nexport default class Card extends Vue {\n\n @MapGetter(AppSettingsStore.Mapping)\n protected isPlainUi: boolean;\n\n @Prop({ type: Boolean, default: null })\n protected plain: Boolean;\n \n @Prop({ type: Boolean, default: false })\n protected bordered: boolean;\n\n @Prop({ type: String, default: \"large\" })\n protected borderRadius: UISize;\n\n @Prop({ type: Boolean, default: false })\n protected dashed: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected noPadding: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected compact: boolean;\n\n @Prop({ type: String, default: null })\n protected title: string;\n\n @Prop({ type: Boolean, default: false })\n protected selectable: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected selected: boolean;\n\n protected get isPlain(): boolean {\n return this.plain as boolean ?? this.isPlainUi;\n }\n\n protected get cardClass() {\n return [{ \n \"is-plain\": this.isPlain,\n \"is-headerless\": !this.$slots.header && !this.title,\n \"is-bordered\": this.bordered,\n \"is-no-padding\": this.noPadding,\n \"is-compact\": this.compact,\n \"is-selectable\": this.selectable,\n \"is-selected\": this.selected,\n \"is-dashed\": this.dashed\n }, \n `is-border-radius-${this.borderRadius}`\n ]\n }\n\n}","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./Card.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./Card.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Card.vue?vue&type=template&id=c176f3f6&\"\nimport script from \"./Card.ts?vue&type=script&lang=ts&\"\nexport * from \"./Card.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./Card.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AmisCatalog.vue?vue&type=style&index=0&id=78fb514c&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"notification-center space-y-8\"},[(_vm.hasNotifications)?_c('core.label',{attrs:{\"type\":\"secondary\",\"icon-size\":\"13px\"}},[_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"notifications\"},slot:\"icon\"}),_c('H3',[_vm._v(\"Communication Center\")])],1):_vm._e(),_c('div',{ref:\"container\",staticClass:\"alerts-wrap space-y-8\",class:{ 'pt-4': _vm.hasNotifications }},[(!!_vm.sessionRestoreError)?_c('core.alert',{attrs:{\"type\":\"error\",\"title\":\"Session restore error\",\"description\":_vm.sessionRestoreError.message}},[_c('div',{staticClass:\"space-x-8\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{attrs:{\"icon\":\"el-icon-refresh-right\",\"type\":\"default\",\"size\":\"mini\"},on:{\"click\":_vm.reloadPage}},[_c('span',[_vm._v(\"Try again\")])]),_c('el-button',{attrs:{\"type\":\"text\",\"size\":\"mini\",\"icon\":\"el-icon-user\"},on:{\"click\":function($event){return _vm.openAuthDialog(null)}}},[_c('span',[_vm._v(\"Sign in\")])])],1)]):(_vm.shouldShowNoOrganizationAlert)?_c('orgs.no-org-alert',{attrs:{\"title\":\"Configuration required\",\"description\":\"One last step. You do not belong to any organization yet. To be able to use CxLink it is necessary to belong to at least one organization. You must wait to receive an invitation, request access to one of the suggested organizations or create a new one.\"}}):_vm._e(),(_vm.isInMaintenance && !_vm.maintenanceCookie.value)?_c('core.alert',{attrs:{\"type\":\"warning\",\"title\":\"Ongoing maintenance\",\"description\":\"We are performing a database update to improve user experience and performance, and as a result you may experience minor service outages.\",\"close-text\":\"Ok\"},on:{\"close\":function($event){return _vm.maintenanceCookie.store(true)}}}):_vm._e(),(!_vm.cookiesPolicyCookie.value)?_c('core.alert',{attrs:{\"type\":\"info\",\"title\":\"Cookies Policy\",\"close-text\":\"Ok\",\"description\":\"This website only stores cookies strictly necessary for its operation. These cookies are not shared with external services of any kind.\"},on:{\"close\":function($event){return _vm.cookiesPolicyCookie.store(true)}}}):_vm._e()],1),(_vm.hasNotifications)?_c('el-divider',{staticClass:\"mt-16 mb-8\"}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { BooleanCookie } from \"@Core/Models/Cookies/BooleanCookie.model\";\nimport { SessionInitError } from \"@Module/Auth/Errors/SessionInitError\";\nimport NavigationStore from \"@Core/Store/Navigation/Navigation.store\";\nimport { Component, MapAction, MapGetter } from \"types-vue\";\nimport { AuthStatus } from \"@Module/Auth/Store/Auth.state\";\nimport { ConsoleRoute } from \"@Core/Models/ConsoleRoute\";\nimport AuthStore from \"@Module/Auth/Store/Auth.store\";\nimport OrgsStore from \"@Module/Orgs/Store/Orgs.store\";\nimport DayJS, { Dayjs } from \"dayjs\";\nimport Vue from \"vue\";\n\n@Component\nexport default class NotificationCenter extends Vue {\n\n @MapGetter(AuthStore.Mapping)\n protected sessionRestoreError: SessionInitError;\n\n @MapGetter(AuthStore.Mapping)\n protected authStatus: AuthStatus;\n\n @MapGetter(OrgsStore.Mapping)\n protected noOrganization: boolean;\n\n @MapGetter(NavigationStore.Mapping)\n protected currentRoute: ConsoleRoute;\n\n @MapAction(AuthStore.Mapping)\n protected openAuthDialog: (context?: string) => Promise;\n\n protected maintenanceCookie = BooleanCookie.create(\"console.maintenance-notified\", { expiration: 0 }); \n protected cookiesPolicyCookie = BooleanCookie.create(\"console.cookies-notified\"); \n\n protected childrenCount: number = null;\n\n protected maintenanceDurationHours: number = 4;\n protected maintenanceStart: Dayjs = null;\n protected maintenanceEnd: Dayjs = null;\n\n protected mounted() {\n this.updateNotificationsCount();\n this.maintenanceStart = DayJS(\"2022-03-31T05:00:00.000Z\");\n this.maintenanceEnd = this.maintenanceStart.add(this.maintenanceDurationHours, \"hours\");\n }\n\n protected updated() {\n this.updateNotificationsCount();\n }\n\n protected get hasNotifications(): boolean {\n return this.childrenCount > 0;\n }\n \n protected updateNotificationsCount() {\n const container = this.$refs.container as Element;\n this.childrenCount = container.childElementCount;\n }\n\n protected reloadPage() {\n window.location.reload();\n }\n\n protected get isSignedIn() {\n return this.authStatus === AuthStatus.SignedIn;\n }\n\n protected get shouldShowNoOrganizationAlert(): boolean {\n return this.isSignedIn \n && this.noOrganization \n && !this.currentRoute.isOrgConfig \n && !this.currentRoute.isAuth;\n }\n\n protected get isInMaintenance(): boolean {\n const now = DayJS();\n return now.isAfter(this.maintenanceStart) \n && now.isBefore(this.maintenanceEnd);\n }\n\n}","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./NotificationCenter.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./NotificationCenter.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./NotificationCenter.vue?vue&type=template&id=aebb0a20&\"\nimport script from \"./NotificationCenter.ts?vue&type=script&lang=ts&\"\nexport * from \"./NotificationCenter.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"license-usage-summary flex space-x-6\"},[_c('licensing.license-usage-progress',{staticClass:\"progress-indicator\",attrs:{\"width\":42,\"type\":\"circle\",\"license\":_vm.license}}),_c('div',{staticClass:\"flex flex-wrap container-x-16 container-y-16 pl-4\"},[_c('core.details',{attrs:{\"label\":\"Slots\"}},[_c('span',[_vm._v(_vm._s(_vm.license.maxHosts)+\" \"+_vm._s(_vm._f(\"pluralize\")('host',_vm.license.maxHosts)))])]),_c('core.details',{attrs:{\"label\":\"Regist.\"}},[_c('span',[_vm._v(_vm._s(_vm.license.hostCount)+\" \"+_vm._s(_vm._f(\"pluralize\")('host',_vm.license.hostCount)))])]),_c('core.details',{attrs:{\"label\":\"Avail.\",\"spacing\":\"3px\"}},[_c('licensing.license-availability-tag',{attrs:{\"size\":\"mini\",\"license\":_vm.license}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { License } from \"@Module/Licensing/Models/License.model\";\nimport { Component, Prop } from \"types-vue\";\nimport Vue from \"vue\";\n\n@Component\nexport default class LicenseUsageSummary extends Vue {\n\n @Prop({ type: Object, required: true })\n protected license: License;\n\n @Prop({ type: Boolean, required: false })\n protected expand: boolean;\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./LicenseUsageSummary.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./LicenseUsageSummary.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LicenseUsageSummary.vue?vue&type=template&id=74cfe3c4&\"\nimport script from \"./LicenseUsageSummary.ts?vue&type=script&lang=ts&\"\nexport * from \"./LicenseUsageSummary.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('licensing.contract-details-view',{attrs:{\"filters\":_vm.filters,\"service-id\":_vm.serviceId},on:{\"select\":_vm.viewDetails,\"back\":_vm.onBackClick},scopedSlots:_vm._u([{key:\"host-filters\",fn:function(ref){\nvar data = ref.data;\nvar size = ref.size;\nvar disabled = ref.disabled;\nreturn _c('abap-suite.host-filters-panel-extension',{attrs:{\"filters\":_vm.filters.hosts,\"data\":data,\"size\":size,\"disabled\":disabled}})}},{key:\"expand\",fn:function(ref){\nvar license = ref.license;\nvar exchangeStatus = ref.exchangeStatus;\nreturn _c('licensing.license-summary',{attrs:{\"license\":license,\"expand\":\"\"}},[_c('div',{staticClass:\"flex content-space-between\"},[_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"primary\",\"icon\":\"el-icon-more\"},on:{\"click\":function($event){return _vm.viewDetails(license)}}},[_c('span',[_vm._v(\"View license details\")])]),(_vm.permissions.CanRegisterHosts && (!exchangeStatus.isShared || exchangeStatus.isSharedToCurrentOrg))?_c('el-button',{attrs:{\"size\":\"small\",\"disabled\":!license.hasAvailability,\"type\":\"default\"},on:{\"click\":function($event){return _vm.$refs.hostRegistrationDialog.open(license)}}},[_c('span',{staticClass:\"space-x-6 flex items-center\"},[_c('ion-icon',{attrs:{\"name\":\"link-outline\"}}),_c('span',[_vm._v(\"Register a host\")])],1)]):_vm._e()],1)])}}])},[(_vm.permissions.CanRegisterHosts)?_c('licensing.host-registration-dialog',{ref:\"hostRegistrationDialog\",attrs:{\"service-id\":_vm.serviceId}}):_vm._e(),_c('core.query-param',{attrs:{\"name\":\"prod\",\"type\":\"string-array\"},model:{value:(_vm.filters.hosts.production),callback:function ($$v) {_vm.$set(_vm.filters.hosts, \"production\", $$v)},expression:\"filters.hosts.production\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { AbapSuiteLicenseFilters } from \"@Service/AbapSuite/Models/Filters/AbapSuiteLicenseFilters.model\";\nimport LicensingStore, { FetchLicenseByIdPayload } from \"@Module/Licensing/Store/Licensing.store\";\nimport { AbapSuiteLicense } from \"@Service/AbapSuite/Models/AbapSuiteLicense.model\";\nimport { Permission } from \"@Module/Auth/Models/Roles/Permissions.model\";\nimport { AccessRole } from \"@Module/Auth/Models/Roles/AccessRole.model\";\nimport { Organization } from \"@Module/Orgs/Models/Organization.model\";\nimport { Component, MapAction, MapGetter } from \"types-vue\";\nimport { ConsoleRoute } from \"@Core/Models/ConsoleRoute\";\nimport AuthStore from \"@Module/Auth/Store/Auth.store\";\nimport OrgsStore from \"@Module/Orgs/Store/Orgs.store\";\nimport { ServiceID } from \"@Service/ServiceID\";\nimport Vue from \"vue\";\n\n@Component\nexport default class AbapSuiteContractDetails extends Vue {\n protected serviceId: ServiceID = ServiceID.AbapSuite;\n\n @MapGetter(OrgsStore.Mapping)\n protected currentOrg: Organization;\n\n @MapGetter(AuthStore.Mapping)\n protected accessRole: AccessRole;\n\n @MapAction(LicensingStore.Mapping)\n protected fetchLicenseById: (payload: FetchLicenseByIdPayload) => Promise;\n \n protected filters = AbapSuiteLicenseFilters.create();\n\n protected viewDetails(license: AbapSuiteLicense) {\n this.$router.push({ \n name: \"abap-suite-license-details\", \n params: { id: license.id.toString() }\n });\n }\n\n protected onBackClick(prevRoute: ConsoleRoute) {\n if (!!prevRoute) {\n this.$router.back();\n } else {\n this.$router.replace(\"/abap-suite/contracts\");\n }\n }\n\n protected get permissions() {\n return {\n CanRegisterHosts: this.accessRole.can(this.serviceId, Permission.RegisterHost)\n }\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./AbapSuiteContractDetails.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./AbapSuiteContractDetails.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AbapSuiteContractDetails.vue?vue&type=template&id=c8f46cc0&\"\nimport script from \"./AbapSuiteContractDetails.ts?vue&type=script&lang=ts&\"\nexport * from \"./AbapSuiteContractDetails.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { Backup, IBackupDto } from \"./Backup.model\";\n\nexport interface IBackupHistoryPageDto {\n page_number: number;\n page_size: number;\n page_items: number;\n total_pages: number;\n total_items: number;\n sort_by: string;\n sort_dir: \"ASC\" | \"DESC\";\n items: IBackupDto[];\n}\n\nexport class BackupHistoryPage {\n public readonly page: number;\n public readonly total: number;\n public readonly pageSize: number;\n public readonly records: Backup[];\n\n public static fromDto(dto: IBackupHistoryPageDto): BackupHistoryPage {\n return new BackupHistoryPage(dto);\n }\n\n private constructor(dto: IBackupHistoryPageDto) {\n this.page = dto.page_number;\n this.pageSize = dto.page_size;\n this.total = dto.total_items;\n this.records = dto.items.map(Backup.fromDto);\n }\n}","import { Utils } from \"@Core/Utils/Utils\";\n\nexport interface IBackupLevelDto {\n id: number;\n name: string;\n platform: string;\n isLog: boolean;\n}\n\nexport class BackupLevel {\n public id: number;\n public name: string;\n public platform: string;\n public isLog: boolean;\n\n public static fromDto(dto: IBackupLevelDto): BackupLevel {\n return new BackupLevel(dto);\n }\n\n private constructor(dto: IBackupLevelDto) {\n this.id = dto.id;\n this.name = dto.name;\n this.platform = dto.platform;\n this.isLog = dto.isLog;\n }\n\n public get label(): string {\n return Utils.toSentenceCase(this.name.replaceAll(/[-_]/g, \" \"));\n }\n}","import { BackupFilters, IBackupFiltersDto } from \"../Models/Backups/BackupFilters.model\";\nimport { BackupHistoryPage } from \"../Models/Backups/BackupHistoryPage.model\";\nimport { Action, Getter, Module, Mutation, VuexModule } from \"types-vue\";\nimport { BackupLevel } from \"../Models/Backups/BackupLevel.model\";\nimport { EmoryBackupsStoreState } from \"./EmoryBackups.state\";\nimport EmoryBackupsApi from \"../API/EmoryBackups.api\";\nimport { Utils } from \"@Core/Utils/Utils\";\nimport { ActionContext } from \"vuex\";\n\nconst enum EmoryBackupsStoreCommit {\n SetBackupLevels = \"_setBackupLevels\",\n SetCurrentFilters = \"_setCurrentFilters\",\n SetCurrentBackupHistoryPage = \"_setCurrentBackupHistoryPage\"\n}\n\ndeclare type EmoryBackupsStoreContext = ActionContext;\n\n@Module({ namespaced: true })\nexport default class EmoryBackupsStore extends VuexModule implements EmoryBackupsStoreState {\n public static readonly Mapping = Utils.createVuexMappingOptions(\"EmoryBackups\");\n\n public _backupLevels: BackupLevel[] = [];\n public _currentHistoryPage: BackupHistoryPage = null;\n public _currentFilters: IBackupFiltersDto = null;\n\n @Getter()\n public backupLevels(): BackupLevel[] {\n return this._backupLevels;\n }\n\n @Getter()\n public currentFilters(): IBackupFiltersDto {\n return this._currentFilters;\n }\n\n @Getter()\n public currentBackupHistoryPage(): BackupHistoryPage {\n return this._currentHistoryPage;\n }\n\n @Mutation()\n protected _setBackupLevels(levels: BackupLevel[]) {\n this._backupLevels = levels;\n }\n\n @Mutation()\n protected _setCurrentBackupHistoryPage(page: BackupHistoryPage) {\n this._currentHistoryPage = page;\n }\n\n @Mutation()\n protected _setCurrentFilters(filters: IBackupFiltersDto) {\n this._currentFilters = filters;\n }\n\n @Action({ useContext: true })\n public async clearEmoryBackupsStore(ctx: EmoryBackupsStoreContext): Promise {\n ctx.commit(EmoryBackupsStoreCommit.SetBackupLevels, []);\n ctx.commit(EmoryBackupsStoreCommit.SetCurrentBackupHistoryPage, null);\n ctx.commit(EmoryBackupsStoreCommit.SetCurrentFilters, null);\n }\n\n @Action({ useContext: true })\n public async clearLastBackupHistorySearch(ctx: EmoryBackupsStoreContext): Promise {\n ctx.commit(EmoryBackupsStoreCommit.SetCurrentBackupHistoryPage, null);\n ctx.commit(EmoryBackupsStoreCommit.SetCurrentFilters, null);\n } \n\n @Action({ useContext: true, commit: EmoryBackupsStoreCommit.SetCurrentBackupHistoryPage })\n public async fetchBackups(ctx: EmoryBackupsStoreContext, filters: BackupFilters): Promise {\n const filterDto = filters.toDto();\n ctx.commit(EmoryBackupsStoreCommit.SetCurrentFilters, filterDto);\n const dto = await EmoryBackupsApi.getBackups(filterDto);\n return BackupHistoryPage.fromDto(dto);\n }\n\n @Action({ commit: EmoryBackupsStoreCommit.SetBackupLevels })\n public async fetchBackupLevels(): Promise {\n const dtos = await EmoryBackupsApi.getBackupLevels();\n return dtos.map(BackupLevel.fromDto);\n }\n\n}","import { Component, MapAction, mixins } from \"types-vue\";\nimport StateCleanerMixin from \"./StateCleaner.mixin\";\nimport AuthStore from \"../Store/Auth.store\";\n\n@Component\nexport default class SignOutMixin extends mixins(StateCleanerMixin) {\n\n @MapAction(AuthStore.Mapping)\n protected signOut: (expired?: boolean) => Promise;\n\n protected async performSignOut(expired?: boolean) {\n this.$Progress?.start();\n await this.signOut(expired);\n await this.clearState();\n this.$Progress?.finish();\n }\n\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-tooltip',{staticClass:\"menu-item flex items-center w-full\",class:_vm.menuItemClass,attrs:{\"disabled\":!_vm.showTooltip || !_vm.collapse,\"content\":_vm.tooltipContent,\"open-delay\":500,\"transition\":\"el-zoom-in-center\",\"placement\":\"right\",\"effect\":_vm.isActive ? 'dark' : 'light'}},[_c('el-menu-item',{attrs:{\"index\":_vm.index,\"disabled\":_vm.disabled}},[(!!this.$slots.icon)?_c('i',{staticClass:\"icon-wrap mr-8\"},[_vm._t(\"icon\")],2):_vm._e(),_c('span',[_vm._v(_vm._s(_vm.label))]),_c('span',{staticClass:\"append-icon\"},[_vm._t(\"append-icon\")],2)])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Prop } from \"types-vue\";\nimport Vue from \"vue\";\n\n@Component\nexport default class MenuItem extends Vue {\n\n @Prop({ type: String, required: true })\n protected label: string;\n\n @Prop({ type: String, default: null })\n protected tooltip: string;\n\n @Prop({ type: Boolean, default: true })\n protected showTooltip: boolean;\n\n @Prop({ type: String, required: true })\n protected index: string;\n\n @Prop({ type: Boolean, default: false })\n protected collapse: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected disabled: boolean;\n\n @Prop({ type: String, default: null })\n protected activeIndex: string;\n\n protected get menuItemClass() {\n return {\n \"is-collapse\": this.collapse\n }\n }\n\n protected get tooltipContent(): string {\n return this.tooltip || this.label;\n }\n\n protected get isActive(): boolean {\n return this.index === this.activeIndex;\n }\n\n}","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./MenuItem.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./MenuItem.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MenuItem.vue?vue&type=template&id=a9c49942&scoped=true&\"\nimport script from \"./MenuItem.ts?vue&type=script&lang=ts&\"\nexport * from \"./MenuItem.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./MenuItem.vue?vue&type=style&index=0&id=a9c49942&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"a9c49942\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"details\",class:_vm.detailsClass},[(!!_vm.label || !!_vm.$slots.label)?_c('div',{staticClass:\"details-label-wrap\",style:(_vm.labelStyle)},[_vm._t(\"label\",[_c('span',[_vm._v(_vm._s(_vm.label))])])],2):_vm._e(),_c('div',{staticClass:\"details-value-wrap\"},[_vm._t(\"default\",[(!_vm.value)?_c('span',{staticClass:\"text-disabled\"},[_vm._v(_vm._s(_vm.placeholder))]):_c('span',[_vm._v(_vm._s(_vm.value))])])],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Prop } from \"types-vue\";\nimport { Utils } from \"@Core/Utils/Utils\";\nimport { Map } from \"@Core/Models/Map\";\nimport Vue from \"vue\";\n\n@Component\nexport default class Details extends Vue {\n\n @Prop({ type: String, default: null })\n protected label: string;\n\n @Prop({ type: String, default: null })\n protected value: string;\n\n @Prop({ type: String, default: \"N/A\" })\n protected placeholder: string;\n\n @Prop({ type: Boolean, default: false })\n protected indent: boolean;\n\n @Prop({ type: [String, Number], default: \"4px\" })\n protected spacing: string | number;\n\n @Prop({ type: String, default: \"start\" })\n protected align: \"start\" | \"center\" | \"end\";\n\n protected get labelStyle() {\n return {\n \"margin-bottom\": Utils.isNumber(this.spacing) ? `${this.spacing}px` : this.spacing\n }\n }\n\n protected get detailsClass(): Map {\n return {\n \"is-indent\": this.indent === true,\n \"is-align-start\": this.align === \"start\",\n \"is-align-center\": this.align === \"center\",\n \"is-align-end\": this.align === \"end\"\n }\n }\n\n}","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./Details.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./Details.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Details.vue?vue&type=template&id=536ff47d&scoped=true&\"\nimport script from \"./Details.ts?vue&type=script&lang=ts&\"\nexport * from \"./Details.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./Details.vue?vue&type=style&index=0&id=536ff47d&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"536ff47d\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('core.label',{attrs:{\"icon-spacing\":\"4px\",\"value\":_vm.value ? _vm.yesLabel : _vm.noLabel,\"type\":_vm.value ? _vm.yesType : _vm.noType}},[(_vm.value)?_vm._t(\"yes-icon\",[_c('i',{staticClass:\"el-icon-success\",attrs:{\"slot\":\"icon\"},slot:\"icon\"})],{\"slot\":\"icon\"}):_vm._t(\"no-icon\",[_c('i',{staticClass:\"el-icon-error\",attrs:{\"slot\":\"icon\"},slot:\"icon\"})],{\"slot\":\"icon\"})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component } from \"types-vue\";\nimport Vue from \"vue\";\nimport { Prop } from \"vue-property-decorator\";\n\n@Component\nexport default class YesNoLabel extends Vue {\n\n @Prop({ type: Boolean, required: true })\n protected value: boolean;\n\n @Prop({ type: String, default: \"Yes\" })\n protected yesLabel: string;\n\n @Prop({ type: String, default: \"No\" })\n protected noLabel: string;\n\n @Prop({ type: String, default: \"success\" })\n protected yesType: \"primary\" | \"secondary\" | \"inherit\" | \"danger\" | \"success\";\n\n @Prop({ type: String, default: \"danger\" })\n protected noType: \"primary\" | \"secondary\" | \"inherit\" | \"danger\" | \"success\";\n\n}","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./YesNoLabel.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./YesNoLabel.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./YesNoLabel.vue?vue&type=template&id=5b5fb6e2&\"\nimport script from \"./YesNoLabel.ts?vue&type=script&lang=ts&\"\nexport * from \"./YesNoLabel.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('licensing.contracts-view',{attrs:{\"service-id\":_vm.serviceId},on:{\"select\":_vm.viewDetails}},[_c('template',{slot:\"controls\"},[(_vm.permissions.CanPurchaseContracts)?_c('core.purchase-popover',{attrs:{\"size\":\"small\",\"placement\":\"bottom\",\"label\":\"Purchase contract\"}}):_vm._e()],1),_c('core.empty',{attrs:{\"slot\":\"empty\"},slot:\"empty\"},[_c('span',[_vm._v(\"You have no contracts.\")]),_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"receipt-outline\"},slot:\"icon\"}),(_vm.permissions.CanPurchaseContracts)?_c('div',[_c('el-divider',{staticClass:\"m-y-16 mt-0\"}),_c('div',{staticClass:\"flex space-x-16 p-x-16\"},[(_vm.permissions.CanPurchaseContracts)?_c('core.purchase-popover',{attrs:{\"size\":\"small\",\"placement\":\"top\"}}):_vm._e()],1)],1):_vm._e()],1)],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Permission } from \"@Module/Auth/Models/Roles/Permissions.model\";\nimport { AccessRole } from \"@Module/Auth/Models/Roles/AccessRole.model\";\nimport { Contract } from \"@Module/Licensing/Models/Contract.model\";\nimport AuthStore from \"@Module/Auth/Store/Auth.store\";\nimport { Component, MapGetter } from \"types-vue\";\nimport { ServiceID } from \"@Service/ServiceID\";\nimport Vue from \"vue\";\n\n@Component\nexport default class AbapSuiteContracts extends Vue {\n protected serviceId: ServiceID = ServiceID.AbapSuite;\n\n @MapGetter(AuthStore.Mapping)\n protected accessRole: AccessRole;\n\n protected viewDetails(contract: Contract) {\n this.$router.push({ \n name: \"abap-suite-contract-details\", \n params: { id: contract.id.toString() }\n });\n }\n\n protected get permissions() {\n return {\n CanPurchaseContracts: this.accessRole.can(this.serviceId, Permission.PurchaseContract)\n }\n }\n \n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./AbapSuiteContracts.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./AbapSuiteContracts.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AbapSuiteContracts.vue?vue&type=template&id=282afa9b&\"\nimport script from \"./AbapSuiteContracts.ts?vue&type=script&lang=ts&\"\nexport * from \"./AbapSuiteContracts.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"org-invitation-notif-content flex-y space-y-6\"},[(!_vm.hideTypeLabel)?_c('core.label',[_c('i',{staticClass:\"el-icon-office-building\",attrs:{\"slot\":\"icon\"},slot:\"icon\"}),_c('H3',[_vm._v(_vm._s(_vm.notification.label))])],1):_vm._e(),_c('div',{staticClass:\"text-semibold\"},[_vm._v(_vm._s(_vm.isInbox ? 'You have' : (\"User \" + (_vm.notification.recipient) + \" has\"))+\" been invited to join \"+_vm._s(_vm.notification.organization.name)+\" organization with \"+_vm._s(_vm.notification.role.name)+\" access role.\")]),_c('notifications.notification-summary-container',[(!_vm.isInbox)?_c('core.details',{attrs:{\"label\":\"Recipient\",\"spacing\":_vm.isInbox ? '2px' : '6px'}},[_c('el-tooltip',{attrs:{\"content\":_vm.notification.recipient,\"effect\":\"light\",\"placement\":\"top\",\"enterable\":false,\"disabled\":!_vm.notificationRecipient.includes('...'),\"transition\":\"el-zoom-in-bottom\"}},[_c('span',[_vm._v(_vm._s(_vm.notificationRecipient))])])],1):_vm._e(),_c('core.details',{attrs:{\"label\":\"Organization\",\"spacing\":_vm.isInbox ? '2px' : '6px'}},[_c('orgs.org-label',{attrs:{\"org\":_vm.notification.organization}})],1),_c('core.details',{attrs:{\"label\":\"Access role\",\"spacing\":\"1px\"}},[(_vm.isInbox)?_c('orgs.org-role-tag',{attrs:{\"size\":\"tiny\",\"role\":_vm.notification.role}}):_c('div',{staticClass:\"flex space-x-8\"},[_c('orgs.role-selector',{staticStyle:{\"width\":\"8rem\"},attrs:{\"size\":\"mini\",\"disabled\":_vm.disabled || _vm.resendInvitation.loading},model:{value:(_vm.notification.role),callback:function ($$v) {_vm.$set(_vm.notification, \"role\", $$v)},expression:\"notification.role\"}},[_c('core.empty',{attrs:{\"slot\":\"empty\",\"description\":\"No matching role\",\"no-icon\":\"\",\"compact\":\"\"},slot:\"empty\"})],1),(_vm.notification.hasUncommittedChanges)?_c('div',{staticClass:\"space-x-6\"},[_c('el-tooltip',{attrs:{\"content\":\"Discard changes\",\"effect\":\"light\",\"placement\":\"top\",\"enterable\":false,\"transition\":\"el-zoom-in-bottom\"}},[_c('el-button',{attrs:{\"icon\":\"el-icon-refresh-left\",\"size\":\"mini\",\"disabled\":_vm.resendInvitation.loading},on:{\"click\":function($event){return _vm.discardChanges(_vm.notification)}}})],1),_c('el-tooltip',{attrs:{\"content\":\"Resend\",\"effect\":\"dark\",\"placement\":\"top\",\"enterable\":false,\"transition\":\"el-zoom-in-bottom\"}},[_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-top-right\",\"loading\":_vm.resendInvitation.loading,\"size\":\"mini\"},on:{\"click\":function($event){return _vm.$emit('resend', _vm.notification)}}})],1)],1):_vm._e()],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import NotificationContentMixin, { INotificationContent, UiSuccessNotificationMap } from \"@Module/Notifications/Mixins/NotificationContentMixin\";\nimport NotificationsOutboxStore, { SendOrgInvitationPayload } from \"@Module/Notifications/Store/NotificationsOutbox.store\";\nimport { OrgInvitationNotification } from \"@Module/Notifications/Models/OrgInvitationNotification.model\";\nimport NotificationsInboxStore from \"@Module/Notifications/Store/NotificationsInbox.store\";\nimport { NotificationFactory } from \"@Module/Notifications/Models/Notification.factory\";\nimport { Notification } from \"@Module/Notifications/Models/Notification.model\";\nimport { Component, MapAction, MapGetter, mixins, Prop } from \"types-vue\";\nimport AppRestartMixin from \"@Core/Mixins/AppRestart.mixin\";\nimport OrgsStore from \"@Module/Orgs/Store/Orgs.store\";\nimport { Execution } from \"@Core/Models/Execution\";\nimport { Notify } from \"@Core/Utils/Notify\";\nimport { Utils } from \"@Core/Utils/Utils\";\n\n@Component\nexport default class OrgInvitationNotifContent extends mixins(NotificationContentMixin, AppRestartMixin) implements INotificationContent {\n\n @Prop({ type: Object, required: true })\n protected notification: OrgInvitationNotification;\n\n @MapGetter(OrgsStore.Mapping)\n protected noOrganization: boolean;\n\n @MapAction(NotificationsInboxStore.Mapping)\n protected acceptOrgInvitationNotification: (notification: OrgInvitationNotification) => Promise;\n\n @MapAction(NotificationsOutboxStore.Mapping)\n protected sendOrgInvitation: (payload: SendOrgInvitationPayload) => Promise;\n\n protected resendInvitation = Execution.create(\n async () => this.sendOrgInvitation({ \n email: this.notification.recipient, \n role: this.notification.role \n })\n );\n\n public getSuccessNotifConfig(): UiSuccessNotificationMap {\n return {\n Accept: {\n title: \"Invitation accepted\", \n message: `Your invitation to access ${this.notification.organization.name} organization as ${this.notification.role.name} has been successfully accepted.`,\n duration: 6000\n },\n Decline: {\n title: \"Invitation declined\", \n message: `Your invitation to access ${this.notification.organization.name} organization as ${this.notification.role.name} has been successfully declined.`,\n duration: 6000\n },\n Cancel: {\n title: \"Invitation cancelled\", \n message: `The invitation has been successfully cancelled.`\n }\n }\n }\n\n public get notificationRecipient(): string {\n if (!this.isInbox) { return this.notification.recipient; }\n else if (this.$mq.sm) return Utils.smartTrim(this.notification.recipient, 13);\n else if (this.$mq.md) return Utils.smartTrim(this.notification.recipient, 20);\n else return Utils.smartTrim(this.notification.recipient, 26);\n }\n\n public async resend(): Promise {\n try {\n await this.resendInvitation.run();\n Notify.Success({\n title: \"Invitation resent\", \n message: `The invitation has been sent again.`\n });\n } catch (error) {\n Notify.Error({\n title: \"Invitation resend error\", \n message: error.message\n });\n }\n }\n\n public discardChanges(notification: Notification) {\n Object.assign(notification, NotificationFactory.fromDto(notification.remote));\n }\n\n public async accept(): Promise {\n await this.acceptOrgInvitationNotification(this.notification);\n if (this.noOrganization) {\n this.promptAppRestart();\n }\n return true;\n }\n\n}","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--13-3!./OrgInvitationNotifContent.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--13-3!./OrgInvitationNotifContent.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OrgInvitationNotifContent.vue?vue&type=template&id=3ba43e16&\"\nimport script from \"./OrgInvitationNotifContent.ts?vue&type=script&lang=ts&\"\nexport * from \"./OrgInvitationNotifContent.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('core.dialog',{ref:\"dialog\",attrs:{\"title\":\"Assign access role\",\"width\":\"33rem\",\"append-to-body\":\"\"},scopedSlots:_vm._u([{key:\"footer\",fn:function(ref){\nvar success = ref.success;\nvar cancel = ref.cancel;\nreturn _c('div',{staticClass:\"flex space-x-8 content-end\"},[_c('el-button',{attrs:{\"type\":\"text\"},on:{\"click\":cancel}},[_vm._v(\"Cancel\")]),_c('el-button',{attrs:{\"disabled\":!_vm.value,\"type\":\"primary\"},on:{\"click\":success}},[_vm._v(\"Assign access role\")])],1)}}])},[_c('div',{staticClass:\"space-y-16\"},[_c('div',[_vm._v(\"In order for \"+_vm._s(_vm.notification.sender)+\" to become part of your organization, you must first assign an access role.\")]),_c('core.details',[_c('span',{attrs:{\"slot\":\"label\"},slot:\"label\"},[_vm._v(\"Access role\")]),_c('orgs.role-selector',{ref:\"roleSelector\",attrs:{\"default-first-option\":\"\"},model:{value:(_vm.internalValue),callback:function ($$v) {_vm.internalValue=$$v},expression:\"internalValue\"}},[_c('core.empty',{attrs:{\"slot\":\"empty\",\"description\":\"No matching role\",\"no-icon\":\"\",\"compact\":\"\"},slot:\"empty\"})],1)],1),(!!_vm.value)?_c('core.alert',{attrs:{\"type\":\"info\",\"closable\":false,\"compact\":\"\",\"plain\":\"\"}},[_c('span',[_vm._v(\"User \"),_c('span',{staticClass:\"text-semibold\"},[_vm._v(_vm._s(_vm.notification.sender))]),_vm._v(\" will become member of your organization \"),_c('span',{staticClass:\"text-semibold\"},[_vm._v(_vm._s(_vm.currentOrg.name))]),_vm._v(\" with \"),_c('span',{staticClass:\"text-semibold\"},[_vm._v(_vm._s(_vm._f(\"capitalize\")(_vm.value.name)))]),_vm._v(\" access role.\")])]):_vm._e()],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { OrgAccessRequestNotification } from \"@Module/Notifications/Models/OrgAccessRequestNotification.model\"\nimport { Organization } from \"@Module/Orgs/Models/Organization.model\";\nimport { Role } from \"@Module/Auth/Models/Roles/AccessRole.model\";\nimport { Component, MapGetter, Prop, Watch } from \"types-vue\"\nimport OrgsStore from \"@Module/Orgs/Store/Orgs.store\";\nimport Dialog from \"@Core/Components/Dialog/Dialog\";\nimport Vue from \"vue\"\n\n@Component\nexport default class OrgAccessRequestRoleSelectionDialog extends Vue {\n \n @Prop({ type: Object, required: true })\n protected notification: OrgAccessRequestNotification;\n\n @Prop({ type: Object, default: null })\n protected value: Role;\n\n @MapGetter(OrgsStore.Mapping)\n protected currentOrg: Organization;\n\n protected internalValue: Role = null;\n\n public open() {\n const dialog = this.$refs.dialog as Dialog;\n return dialog.open();\n }\n\n @Watch(\"internalValue\")\n protected onInternalValueChange(newValue: Role) {\n this.$emit(\"input\", newValue);\n this.$emit(\"update:value\", newValue);\n }\n\n @Watch(\"value\", { immediate: true })\n protected onValueChange(newValue: Role) {\n this.internalValue = newValue;\n }\n\n public get isOpened() {\n return (this.$refs.dialog as Dialog)?.isOpened ?? false;\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./OrgAccessRequestRoleSelectionDialog.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./OrgAccessRequestRoleSelectionDialog.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OrgAccessRequestRoleSelectionDialog.vue?vue&type=template&id=216216fb&\"\nimport script from \"./OrgAccessRequestRoleSelectionDialog.ts?vue&type=script&lang=ts&\"\nexport * from \"./OrgAccessRequestRoleSelectionDialog.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"license-summary space-y-16\"},[_c('div',{staticClass:\"flex flex-wrap container-x-24 container-y-16\"},[_c('core.details',{attrs:{\"spacing\":\"6px\"}},[_c('core.label',{attrs:{\"slot\":\"label\"},slot:\"label\"},[_c('H2',[_vm._v(\"General\")]),_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"information-circle\"},slot:\"icon\"})],1),_c('licensing.license-general-summary',{attrs:{\"license\":_vm.license,\"expand\":_vm.expand}})],1),_c('core.details',{attrs:{\"spacing\":\"6px\"}},[_c('core.label',{attrs:{\"slot\":\"label\"},slot:\"label\"},[_c('H2',[_vm._v(\"Validity\")]),_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"timer\"},slot:\"icon\"})],1),_c('licensing.license-validity-summary',{attrs:{\"license\":_vm.license,\"expand\":_vm.expand}})],1),(_vm.permissions.CanListHosts)?_c('core.details',{attrs:{\"spacing\":\"6px\"}},[_c('core.label',{attrs:{\"slot\":\"label\",\"icon-size\":\"13px\"},slot:\"label\"},[_c('H2',[_vm._v(\"Hosts\")]),_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"grid\"},slot:\"icon\"})],1),_c('licensing.license-usage-summary',{attrs:{\"license\":_vm.license,\"expand\":_vm.expand}})],1):_vm._e(),(!!_vm.license.tenant)?_c('core.details',{attrs:{\"spacing\":\"6px\"}},[_c('core.label',{attrs:{\"slot\":\"label\",\"icon-size\":\"14px\"},slot:\"label\"},[(_vm.license.isShared && !_vm.license.isSharedToOrg(_vm.currentOrg))?_c('H2',[_vm._v(\"License tenant\")]):_c('H2',[_vm._v(\"License owner\")]),_c('i',{staticClass:\"el-icon-sort text-bold\",attrs:{\"slot\":\"icon\"},slot:\"icon\"})],1),_c('orgs.org-summary',{attrs:{\"org\":_vm.license.isShared && !_vm.license.isSharedToOrg(_vm.currentOrg) ? _vm.license.tenant : _vm.license.owner,\"expand\":_vm.expand}})],1):_vm._e()],1),(_vm.hasExchangeAlerts)?_c('div',{staticClass:\"space-y-8\"},[(_vm.isLicenseSharedByMe)?_c('core.alert',{attrs:{\"type\":\"info\",\"closable\":false,\"show-icon\":false,\"compact\":\"\",\"plain\":\"\"}},[_c('div',[_vm._v(\"This license is \"),_c('span',{staticClass:\"text-semibold\"},[_vm._v(\"shared with \"+_vm._s(_vm.license.tenant.name))]),_vm._v(\", therefore \"),_c('span',{staticClass:\"text-semibold\"},[_vm._v(\"you will not be able to operate it\")]),_vm._v(\" until you claim ownership or \"+_vm._s(_vm.license.tenant.name)+\" returns it.\")])]):(_vm.isLicenseSharedToMe)?_c('core.alert',{attrs:{\"type\":\"info\",\"closable\":false,\"show-icon\":false,\"compact\":\"\",\"plain\":\"\"}},[_c('div',[_vm._v(\"This license \"),_c('span',{staticClass:\"text-semibold\"},[_vm._v(\"belongs to \"+_vm._s(_vm.license.owner.name)+\", you have the usufruct\")]),_vm._v(\" of it until you return it or until \"+_vm._s(_vm.license.owner.name)+\" claim ownership.\")])]):_vm._e(),(!!_vm.outboxNotif)?_c('core.alert',{attrs:{\"type\":\"warning\",\"closable\":false,\"show-icon\":false,\"compact\":\"\",\"plain\":\"\"}},[_c('div',[_c('span',{staticClass:\"text-semibold\"},[_vm._v(\"License \"+_vm._s(_vm.outboxNotif.isLicenseSharing ? 'share' : 'return')+\" request notification\")]),_vm._v(\" is pending approval \"),_c('span',{staticClass:\"text-semibold\"},[_vm._v(\"by \"+_vm._s(_vm.outboxNotif.organization.name))]),_vm._v(\".\")])]):(!!_vm.inboxNotif)?_c('core.alert',{attrs:{\"type\":\"warning\",\"closable\":false,\"show-icon\":false,\"compact\":\"\",\"plain\":\"\"}},[_c('div',[_c('span',{staticClass:\"text-semibold\"},[_vm._v(\"License \"+_vm._s(_vm.inboxNotif.isLicenseSharing ? 'share' : 'return')+\" request notification sent by \"+_vm._s(_vm.inboxNotif.isLicenseSharing ? _vm.inboxNotif.sourceOrg.name : _vm.inboxNotif.destinationOrg.name))]),_vm._v(\" is pending approval \"),_c('span',{staticClass:\"text-semibold\"},[_vm._v(\"in your inbox\")]),_vm._v(\".\")])]):_vm._e()],1):_vm._e(),(!!_vm.$slots.default)?_c('div',{staticClass:\"space-x-8\"},[_vm._t(\"default\")],2):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { LicenseSharingNotification } from \"@Module/Notifications/Models/LicenseSharingNotification.model\";\nimport { LicenseReturnNotification } from \"@Module/Notifications/Models/LicenseReturnNotification.model\";\nimport NotificationsOutboxStore from \"@Module/Notifications/Store/NotificationsOutbox.store\";\nimport NotificationsInboxStore from \"@Module/Notifications/Store/NotificationsInbox.store\";\nimport { Permission } from \"@Module/Auth/Models/Roles/Permissions.model\";\nimport { AccessRole } from \"@Module/Auth/Models/Roles/AccessRole.model\";\nimport { Organization } from \"@Module/Orgs/Models/Organization.model\";\nimport { License } from \"@Module/Licensing/Models/License.model\";\nimport { Component, MapGetter, Prop } from \"types-vue\";\nimport AuthStore from \"@Module/Auth/Store/Auth.store\";\nimport OrgsStore from \"@Module/Orgs/Store/Orgs.store\";\nimport Vue from \"vue\";\n\ntype ExchangeNotification = LicenseSharingNotification | LicenseReturnNotification;\n\n@Component\nexport default class LicenseSummary extends Vue {\n\n @Prop({ type: Object, required: true })\n protected license: License;\n\n @Prop({ type: Boolean, default: false })\n protected expand: boolean;\n\n @MapGetter(AuthStore.Mapping)\n protected accessRole: AccessRole;\n\n @MapGetter(OrgsStore.Mapping)\n protected currentOrg: Organization;\n\n @MapGetter(NotificationsOutboxStore.Mapping)\n protected orgLicenseSharingOutbox: LicenseSharingNotification[];\n \n @MapGetter(NotificationsOutboxStore.Mapping)\n protected orgLicenseReturnOutbox: LicenseReturnNotification[];\n\n @MapGetter(NotificationsInboxStore.Mapping)\n protected licenseSharingInbox: LicenseSharingNotification[];\n \n @MapGetter(NotificationsInboxStore.Mapping)\n protected licenseReturnInbox: LicenseReturnNotification[];\n\n protected get outboxNotif(): ExchangeNotification {\n return [...this.orgLicenseSharingOutbox, ...this.orgLicenseReturnOutbox]\n .find(notif => notif.isLicenseIncluded(this.license));\n }\n\n protected get inboxNotif(): ExchangeNotification {\n return [...this.licenseSharingInbox, ...this.licenseReturnInbox]\n .find(notif => notif.isLicenseIncluded(this.license));\n }\n\n protected get permissions() {\n return {\n CanListHosts: this.accessRole.can(this.license.serviceId, Permission.ListHosts)\n }\n }\n\n protected get isLicenseSharedToMe(): boolean {\n return this.license.isShared && this.license.isSharedToOrg(this.currentOrg);\n }\n\n protected get isLicenseSharedByMe(): boolean {\n return this.license.isShared && !this.license.isSharedToOrg(this.currentOrg)\n }\n\n protected get hasExchangeAlerts(): boolean {\n return this.license.isShared || !!this.outboxNotif || !!this.inboxNotif;\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./LicenseSummary.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./LicenseSummary.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LicenseSummary.vue?vue&type=template&id=186a3d1a&scoped=true&\"\nimport script from \"./LicenseSummary.ts?vue&type=script&lang=ts&\"\nexport * from \"./LicenseSummary.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./LicenseSummary.vue?vue&type=style&index=0&id=186a3d1a&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"186a3d1a\",\n null\n \n)\n\nexport default component.exports","import { Organization } from \"@Module/Orgs/Models/Organization.model\";\nimport { INotificationDto, Notification } from \"./Notification.model\";\n\ninterface IOrgAccessRequestDetailsDto {}\n\ntype IOrgAccessRequestNotificationDto = INotificationDto;\n\nexport class OrgAccessRequestNotification extends Notification {\n\n public readonly organization: Organization;\n\n private constructor(dto: IOrgAccessRequestNotificationDto) {\n super(dto);\n }\n\n public static fromDto(dto: IOrgAccessRequestNotificationDto): OrgAccessRequestNotification {\n return new this(dto);\n }\n}","import { IOrganizationDto, Organization } from \"@Module/Orgs/Models/Organization.model\";\nimport { INotificationDto, Notification } from \"./Notification.model\";\nimport { License } from \"@Module/Licensing/Models/License.model\";\nimport { ServiceID } from \"@Service/ServiceID\";\n\ninterface LicenseSharingSummary {\n id: number;\n dimension: string;\n}\n\nexport interface ILicenseSharingDetailsDto {\n source_org: IOrganizationDto;\n destination_org: IOrganizationDto;\n licenses: LicenseSharingSummary[];\n product: string;\n}\n\ntype ILicenseSharingNotificationDto = INotificationDto;\n\nexport class LicenseSharingNotification extends Notification {\n\n public readonly organization: Organization;\n public readonly destinationOrg: Organization;\n public readonly sourceOrg: Organization;\n public readonly licenseSummary: LicenseSharingSummary[];\n public readonly service: ServiceID;\n\n private constructor(dto: ILicenseSharingNotificationDto) {\n super(dto);\n this.service = dto.details.product as ServiceID;\n this.licenseSummary = dto.details.licenses;\n this.sourceOrg = Organization.fromDto(dto.details.source_org);\n this.destinationOrg = Organization.fromDto(dto.details.destination_org);\n }\n\n public static fromDto(dto: ILicenseSharingNotificationDto): LicenseSharingNotification {\n return new this(dto);\n }\n\n public isLicenseIncluded(license: License): boolean {\n return this.licenseSummary.some(licenseSummary => licenseSummary.id === license.id);\n }\n\n public isDestinatedTo(org?: Organization): boolean {\n return this.destinationOrg.id === org?.id;\n }\n\n public isFrom(org?: Organization): boolean {\n return this.sourceOrg.id === org?.id;\n }\n\n public isInvolved(...orgs: Organization[]): boolean {\n return orgs.some(org => this.isDestinatedTo(org) || this.isFrom(org));\n }\n\n public get summary(): Record {\n return this.licenseSummary.reduce((map, license) => {\n const currLicenses = map[license.dimension] ?? [];\n currLicenses.push(license.id);\n map[license.dimension] = currLicenses;\n return map;\n }, {} as Record);\n }\n\n public toDto(): INotificationDto {\n return {\n ...super.toDto(),\n details: {\n product: this.service,\n licenses: this.licenseSummary,\n source_org: this.sourceOrg.toDto(),\n destination_org: this.destinationOrg.toDto()\n }\n }\n }\n}","import { IOrganizationDto, Organization } from \"@Module/Orgs/Models/Organization.model\";\nimport { INotificationDto, Notification } from \"./Notification.model\";\nimport { License } from \"@Module/Licensing/Models/License.model\";\nimport { ServiceID } from \"@Service/ServiceID\";\n\ninterface LicenseReturnSummary {\n id: number;\n dimension: string;\n}\n\nexport interface ILicenseReturnDetailsDto {\n voluntary_return: boolean;\n destination_org: IOrganizationDto;\n source_org: IOrganizationDto;\n licenses: LicenseReturnSummary[];\n product: string;\n}\n\ntype ILicenseReturnNotificationDto = INotificationDto;\n\nexport class LicenseReturnNotification extends Notification {\n\n public readonly organization: Organization;\n public readonly sourceOrg: Organization;\n public readonly destinationOrg: Organization;\n public readonly voluntaryReturn: boolean;\n public readonly licenseSummary: LicenseReturnSummary[];\n public readonly service: ServiceID;\n\n private constructor(dto: ILicenseReturnNotificationDto) {\n super(dto);\n this.service = dto.details.product as ServiceID;\n this.licenseSummary = dto.details.licenses;\n this.sourceOrg = Organization.fromDto(dto.details.source_org);\n this.voluntaryReturn = dto.details.voluntary_return;\n this.destinationOrg = Organization.fromDto(dto.details.destination_org);\n }\n\n public static fromDto(dto: ILicenseReturnNotificationDto): LicenseReturnNotification {\n return new this(dto);\n }\n\n public isLicenseIncluded(license: License): boolean {\n return this.licenseSummary.some(licenseSummary => licenseSummary.id === license.id);\n }\n\n public isDestinatedTo(org?: Organization): boolean {\n return this.destinationOrg.id === org?.id;\n }\n\n public isFrom(org?: Organization): boolean {\n return this.sourceOrg.id === org?.id;\n }\n\n public isInvolved(...orgs: Organization[]): boolean {\n return orgs.some(org => this.isDestinatedTo(org) || this.isFrom(org));\n }\n\n public get summary(): Record {\n return this.licenseSummary.reduce((map, license) => {\n const currLicenses = map[license.dimension] ?? [];\n currLicenses.push(license.id);\n map[license.dimension] = currLicenses;\n return map;\n }, {} as Record);\n }\n\n public toDto(): INotificationDto {\n return {\n ...super.toDto(),\n details: {\n product: this.service,\n licenses: this.licenseSummary,\n voluntary_return: this.voluntaryReturn,\n source_org: this.sourceOrg.toDto(),\n destination_org: this.destinationOrg.toDto()\n }\n }\n }\n}","import { ContractOrigin } from \"@Module/Licensing/Models/ContractOrigin\";\nimport { ServiceID } from \"@Service/ServiceID\";\nimport { INotificationDto, Notification } from \"./Notification.model\";\n\ninterface IContractPurchaseDetailsDto {\n contract_id: number;\n contract_origin: string;\n product_name: string;\n user_id: string;\n}\n\ntype IContractPurchaseNotificationDto = INotificationDto;\n\nexport class ContractPurchaseNotification extends Notification {\n\n public readonly service: ServiceID;\n public readonly contractId: number;\n public readonly username: string;\n public readonly contractOrigin: ContractOrigin;\n\n private constructor(dto: IContractPurchaseNotificationDto) {\n super(dto);\n this.service = dto.details.product_name as ServiceID;\n this.contractId = dto.details.contract_id;\n this.contractOrigin = dto.details.contract_origin as ContractOrigin;\n this.username = dto.details.user_id;\n }\n\n public static fromDto(dto: IContractPurchaseNotificationDto): ContractPurchaseNotification {\n return new this(dto);\n }\n}","import { INotificationDto, NotificationType } from \"./Notification.model\";\nimport { OrgAccessRequestNotification } from \"./OrgAccessRequestNotification.model\";\nimport { LicenseSharingNotification } from \"./LicenseSharingNotification.model\";\nimport { OrgInvitationNotification } from \"./OrgInvitationNotification.model\";\nimport { LicenseReturnNotification } from \"./LicenseReturnNotification.model\";\nimport { ContractPurchaseNotification } from \"./ContractPurchaseNotification.model\";\n\nexport class NotificationFactory {\n\n public static fromDto(dto: INotificationDto) {\n switch (dto.type as NotificationType) {\n case NotificationType.LicenseSharing: return LicenseSharingNotification.fromDto(dto);\n case NotificationType.LicenseReturn: return LicenseReturnNotification.fromDto(dto);\n case NotificationType.OrgAccessRequest: return OrgAccessRequestNotification.fromDto(dto);\n case NotificationType.OrgInvitation: return OrgInvitationNotification.fromDto(dto);\n case NotificationType.ContractPurchase: return ContractPurchaseNotification.fromDto(dto);\n default: throw new Error(\"Unknown notification type.\");\n }\n }\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-tag',{staticClass:\"org-role-tag\",attrs:{\"size\":_vm.size,\"effect\":\"light\",\"type\":_vm.computedTagType,\"disable-transitions\":\"\"}},[(_vm.showIcon)?_c('i',{staticClass:\"el-icon-s-tools mr-4\"}):_vm._e(),_c('span',[_vm._v(_vm._s(_vm._f(\"capitalize\")(_vm.role.name)))])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { UISize } from \"@Service/Settings/Store/AppSettings/AppSettings.state\";\nimport { Role } from \"@Module/Auth/Models/Roles/AccessRole.model\";\nimport { Component, Prop } from \"types-vue\";\nimport Vue from \"vue\";\n\n@Component\nexport default class OrgRoleTag extends Vue {\n\n @Prop({ type: Object, required: true })\n protected role: Role;\n\n @Prop({ type: String, default: \"mini\" })\n protected size: UISize;\n\n @Prop({ type: Boolean, default: false })\n protected showIcon: boolean;\n\n @Prop({ type: String })\n protected type: \"info\" | \"success\" | \"danger\" | \"warning\";\n\n protected get computedTagType(): string {\n return this.role.isNoAccess ? \"disabled\" : this.type;\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./OrgRoleTag.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./OrgRoleTag.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OrgRoleTag.vue?vue&type=template&id=519e67ec&\"\nimport script from \"./OrgRoleTag.ts?vue&type=script&lang=ts&\"\nexport * from \"./OrgRoleTag.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"space-y-8\"},[_c('core.query-param',{attrs:{\"name\":\"active\",\"type\":\"boolean\"},model:{value:(_vm.value.onlyActive),callback:function ($$v) {_vm.$set(_vm.value, \"onlyActive\", $$v)},expression:\"value.onlyActive\"}}),_c('core.query-param',{attrs:{\"name\":\"testorgs\",\"type\":\"boolean\"},model:{value:(_vm.value.withTests),callback:function ($$v) {_vm.$set(_vm.value, \"withTests\", $$v)},expression:\"value.withTests\"}}),_c('el-checkbox',{staticClass:\"w-full\",attrs:{\"size\":_vm.size,\"label\":\"Only active contracts\",\"border\":\"\"},model:{value:(_vm.value.onlyActive),callback:function ($$v) {_vm.$set(_vm.value, \"onlyActive\", $$v)},expression:\"value.onlyActive\"}}),_c('el-checkbox',{attrs:{\"size\":_vm.size,\"label\":\"Include test organizations\",\"border\":\"\"},model:{value:(_vm.value.withTests),callback:function ($$v) {_vm.$set(_vm.value, \"withTests\", $$v)},expression:\"value.withTests\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { OrgsLicensingSummaryFilters } from \"@Module/Orgs/Models/OrgsLicensingSummaryFilters.model\";\nimport { UISize } from \"@Service/Settings/Store/AppSettings/AppSettings.state\";\nimport { Component, Prop } from \"types-vue\";\nimport Vue from \"vue\";\n\n@Component\nexport default class OrgsLicensingSummaryFiltersPanel extends Vue {\n\n @Prop({ type: Object, required: true })\n protected value: OrgsLicensingSummaryFilters;\n\n @Prop({ type: String, default: null })\n protected size: UISize;\n\n @Prop({ type: Boolean, default: false })\n protected disabled: boolean;\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./OrgsLicensingSummaryFiltersPanel.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./OrgsLicensingSummaryFiltersPanel.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OrgsLicensingSummaryFiltersPanel.vue?vue&type=template&id=5f4455ad&\"\nimport script from \"./OrgsLicensingSummaryFiltersPanel.ts?vue&type=script&lang=ts&\"\nexport * from \"./OrgsLicensingSummaryFiltersPanel.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('core.layout',{staticClass:\"organiazation-setup\"},[_c('core.title',{attrs:{\"allow-navigation\":!!_vm.previousRoute},on:{\"back\":function($event){return _vm.$router.back()}}},[_c('core.label',{attrs:{\"value\":\"Organization Setup\",\"icon-spacing\":\".5rem\"}},[_c('i',{staticClass:\"el-icon-office-building\",attrs:{\"slot\":\"icon\"},slot:\"icon\"})])],1),_c('div',{staticClass:\"space-y-24\"},[_c('core.alert',{attrs:{\"title\":\"Configuration required\",\"type\":\"warning\",\"closable\":false}},[_c('div',[_vm._v(\"You don't belong to any organization yet. To be able to use CxLink it is necessary to belong to at least one organization. \"),_c('span',{staticClass:\"text-semibold\"},[_vm._v(\"Wait until you receive an invitation to an existing organization, request access to one of the suggested organizations listed below, or create a new one.\")])])]),_c('div',{staticClass:\"space-y-16\"},[_c('core.details',[_c('core.label',{attrs:{\"slot\":\"label\"},slot:\"label\"},[_c('H2',[_vm._v(\"Organization invitations\")]),(_vm.getInbox.loading && !_vm.inboxFirstLoad)?_c('i',{staticClass:\"el-icon-loading\",attrs:{\"slot\":\"icon\"},slot:\"icon\"}):_vm._e()],1),_c('div',[_vm._v(\"Below you can find all your pending invitations. Accept to join the organization.\")])],1),(!!_vm.getInbox.error)?_c('core.alert',{attrs:{\"type\":\"error\",\"closable\":false,\"description\":_vm.getInbox.error.message}},[_c('el-button',{attrs:{\"slot\":\"footer\",\"icon\":\"el-icon-refresh-right\",\"type\":\"default\",\"size\":\"mini\"},on:{\"click\":_vm.getInbox.run},slot:\"footer\"},[_c('span',[_vm._v(\"Try again\")])])],1):_c('core.card',{attrs:{\"compact\":\"\"}},[_c('notifications.notifications-list',{attrs:{\"notifications\":_vm.orgInvitationsInbox,\"loading\":_vm.inboxFirstLoad,\"hide-type-label\":\"\"}},[_c('core.empty',{attrs:{\"slot\":\"empty\",\"description\":\"You have no invitations yet.\",\"compact\":\"\"},slot:\"empty\"},[_c('i',{staticClass:\"el-icon-postcard\",attrs:{\"slot\":\"icon\"},slot:\"icon\"})])],1)],1)],1),_c('div',{staticClass:\"flex flex-wrap container-x-32 container-y-24\"},[_c('div',{staticClass:\"flex-1 space-y-16 min-w-min-content\",staticStyle:{\"width\":\"0\"}},[_c('core.details',[_c('H2',{attrs:{\"slot\":\"label\"},slot:\"label\"},[_vm._v(\"Suggested organizations\")]),_c('div',[_vm._v(\"Below you will find a list of organizations that we believe may be relevant to you.\")])],1),_c('core.alert',{attrs:{\"type\":\"info\",\"closable\":false}},[_c('div',[_vm._v(\"When requesting access, a notification will be sent to the selected organization. This notification must be reviewed and approved.\")])]),(!!_vm.getOrgSuggestions.error)?_c('core.alert',{attrs:{\"type\":\"error\",\"closable\":false,\"description\":_vm.getOrgSuggestions.error.message}},[_c('el-button',{attrs:{\"slot\":\"footer\",\"icon\":\"el-icon-refresh-right\",\"type\":\"default\",\"size\":\"mini\"},on:{\"click\":_vm.getOrgSuggestions.run},slot:\"footer\"},[_c('span',[_vm._v(\"Try again\")])])],1):_c('core.card',{attrs:{\"compact\":\"\"}},[_c('orgs.org-suggestion-list',{attrs:{\"suggestions\":_vm.orgSuggestions,\"loading\":_vm.getOrgSuggestions.loading || _vm.getInbox.loading,\"request-notifications\":_vm.myOrgRequestsOutbox,\"invitation-notifications\":_vm.orgInvitationsInbox}})],1)],1),_c('div',{staticClass:\"flex-1 space-y-16\"},[_c('core.details',[_c('H2',{attrs:{\"slot\":\"label\"},slot:\"label\"},[_vm._v(\"Create new organization\")]),_c('div',[_vm._v(\"Once created, you will become the owner of the newly created organization.\")])],1),_c('orgs.org-editor-form',{staticStyle:{\"min-width\":\"23rem\"}})],1)])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { OrgAccessRequestNotification } from \"@Module/Notifications/Models/OrgAccessRequestNotification.model\";\nimport { OrgInvitationNotification } from \"@Module/Notifications/Models/OrgInvitationNotification.model\";\nimport NotificationsOutboxStore from \"@Module/Notifications/Store/NotificationsOutbox.store\";\nimport NotificationsInboxStore from \"@Module/Notifications/Store/NotificationsInbox.store\";\nimport { NotificationType } from \"@Module/Notifications/Models/Notification.model\";\nimport NavigationStore from \"@Core/Store/Navigation/Navigation.store\";\nimport { Organization } from \"@Module/Orgs/Models/Organization.model\";\nimport { Component, MapAction, MapGetter } from \"types-vue\";\nimport { ConsoleRoute } from \"@Core/Models/ConsoleRoute\";\nimport OrgsStore from \"@Module/Orgs/Store/Orgs.store\";\nimport { Execution } from \"@Core/Models/Execution\";\nimport Vue from \"vue\";\n\n@Component\nexport default class OrganizationSetup extends Vue {\n\n @MapGetter(NavigationStore.Mapping)\n protected previousRoute: ConsoleRoute;\n\n @MapGetter(OrgsStore.Mapping)\n protected orgSuggestions: Organization[];\n \n @MapGetter(NotificationsOutboxStore.Mapping)\n protected myOrgRequestsOutbox: OrgAccessRequestNotification[];\n\n @MapGetter(NotificationsInboxStore.Mapping)\n protected orgInvitationsInbox: OrgInvitationNotification[];\n\n @MapAction(NotificationsInboxStore.Mapping)\n protected fetchInbox: () => Promise;\n\n @MapAction(NotificationsOutboxStore.Mapping)\n protected fetchMyOutbox: (type: NotificationType) => Promise;\n\n @MapAction(OrgsStore.Mapping)\n protected fetchOrgSuggestions: () => Promise;\n\n protected getInbox = Execution.create(() => this.fetchInbox());\n protected getOrgSuggestions = Execution.create(\n () => Promise.all([\n this.fetchOrgSuggestions(),\n this.fetchMyOutbox(NotificationType.OrgAccessRequest)\n ])\n );\n\n protected mounted() {\n this.getInbox.run();\n this.getOrgSuggestions.run();\n }\n\n protected get inboxFirstLoad(): boolean {\n return this.orgInvitationsInbox.length === 0 && this.getInbox.loading;\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./OrganizationSetup.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./OrganizationSetup.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OrganizationSetup.vue?vue&type=template&id=1fd80f82&\"\nimport script from \"./OrganizationSetup.ts?vue&type=script&lang=ts&\"\nexport * from \"./OrganizationSetup.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-checkbox-group',{staticClass:\"yes-no-checkbox-group flex\",attrs:{\"size\":_vm.size,\"disabled\":_vm.disabled},model:{value:(_vm.internalValue),callback:function ($$v) {_vm.internalValue=$$v},expression:\"internalValue\"}},[_c('el-checkbox',{staticClass:\"flex-1\",attrs:{\"label\":\"Yes\",\"border\":\"\"}}),_c('el-checkbox',{staticClass:\"flex-1\",attrs:{\"label\":\"No\",\"border\":\"\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { UISize } from \"@Service/Settings/Store/AppSettings/AppSettings.state\";\nimport { Component, Prop, Watch } from \"types-vue\";\nimport Vue from \"vue\";\n\nexport const enum YesNoOption {\n Yes = \"Yes\",\n No = \"No\"\n}\n\n@Component\nexport default class YesNoCheckboxGroup extends Vue {\n\n @Prop({ type: Array, default: () => [] })\n protected value: YesNoOption[];\n\n @Prop({ type: String, default: null })\n protected size: UISize;\n\n @Prop({ type: Boolean, default: false })\n protected disabled: boolean;\n\n protected internalValue: YesNoOption[] = [];\n\n @Watch(\"value\", { immediate: true })\n protected onValueChange(value: YesNoOption[]) {\n this.internalValue = value;\n }\n\n @Watch(\"internalValue\")\n protected onInternalValueChange(value: YesNoOption[]) {\n this.$emit(\"input\", value);\n }\n\n}","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./YesNoCheckboxGroup.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./YesNoCheckboxGroup.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./YesNoCheckboxGroup.vue?vue&type=template&id=22749cd8&\"\nimport script from \"./YesNoCheckboxGroup.ts?vue&type=script&lang=ts&\"\nexport * from \"./YesNoCheckboxGroup.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"columns-page-layout\",class:_vm.columnsLayoutClass},[(!_vm.embedded)?_c('core.notification-center'):_vm._e(),_c('div',{staticClass:\"space-y-16\"},[(!_vm.embedded)?_c('transition',{attrs:{\"name\":\"el-zoom-in-top\"}},[(!_vm.hiddenBreadcrumb)?_c('div',{staticClass:\"w-full pb-4\"},[_c('div',{staticClass:\"flex items-center content-space-between pb-8\",staticStyle:{\"height\":\"24px\"}},[_c('core.breadcrumb',{attrs:{\"route\":_vm.currentRoute}}),_c('transition',{attrs:{\"name\":\"el-zoom-in-top\"}},[(_vm.hasActiveTrial && !_vm.$mq.md)?_c('trial.trial-status',{staticClass:\"no-leave-el-transition w-min-content\",attrs:{\"trial\":_vm.currentServiceTrialInfo,\"title\":((_vm.currentRoute.service.meta.menu.label) + \" trial\"),\"duration\":15}}):_vm._e()],1)],1),_c('el-divider',{staticClass:\"m-0\"})],1):_vm._e()]):_vm._e(),(!_vm.embedded)?_c('transition',{attrs:{\"name\":\"el-zoom-in-top\"}},[(_vm.hasActiveTrial && _vm.$mq.md || (_vm.hasActiveTrial && _vm.hiddenBreadcrumb))?_c('trial.trial-status',{staticClass:\"no-leave-el-transition pb-6\",attrs:{\"trial\":_vm.currentServiceTrialInfo,\"title\":((_vm.currentRoute.service.meta.menu.label) + \" trial\"),\"duration\":15,\"bordered\":_vm.isPlainUi}}):_vm._e()],1):_vm._e(),_c('div',{staticClass:\"content-wrap\"},[(_vm.currentRoute.isServiceLegacy)?_c('core.alert',{staticClass:\"mb-16\",attrs:{\"offset\":\"-4px\",\"type\":\"warning\",\"closable\":false,\"compact\":\"\"}},[_c('div',[_c('span',[_vm._v(\"This service has been declared as a \"),_c('strong',[_vm._v(\"legacy service\")]),_vm._v(\" and therefore from now on you will not be able to purchase new contracts or download service packages.\")]),_c('br'),(!!_vm.currentRoute.service.meta.appInfo.legacy.redirect)?_c('span',[_vm._v(\"Please refer to the \"),_c('el-link',{attrs:{\"underline\":false},on:{\"click\":_vm.redirectToNonLegacyService}},[_vm._v(\"new version of the service\")]),_vm._v(\".\")],1):_vm._e()])]):_vm._e(),(!!_vm.$slots.title)?_c('div',{staticClass:\"title-wrapper mb-16 flex items-center space-x-16\"},[_c('div',{staticClass:\"flex-1\"},[_vm._t(\"title\")],2)]):_vm._e(),_c('div',{staticClass:\"flex\"},[(!!_vm.$slots.left && _vm.showLeft)?_c('div',{staticClass:\"left-column flex-0\",style:(_vm.leftColStyle)},[_c('div',{staticClass:\"left-column-content\"},[_vm._t(\"left\")],2)]):_vm._e(),_c('div',{staticClass:\"main-column flex-1\"},[_vm._t(\"default\")],2),(!!_vm.$slots.right && _vm.showRight)?_c('div',{staticClass:\"right-column flex-0\",style:(_vm.rightColStyle)},[_c('div',{staticClass:\"right-column-content\"},[_vm._t(\"right\")],2)]):_vm._e()])],1),(!_vm.embedded)?[_c('el-divider',{staticClass:\"mb-16 mt-32\"}),_c('core.footer')]:_vm._e()],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import LayoutMixin from \"@Core/Mixins/PageLayout.mixin\";\nimport { Component, mixins, Prop } from \"types-vue\";\n\n@Component\nexport default class ColumnsLayout extends mixins(LayoutMixin) {\n\n @Prop({ type: Boolean, default: true })\n protected showLeft: boolean;\n\n @Prop({ type: Boolean, default: true })\n protected showRight: boolean;\n\n @Prop({ type: String, default: \"1rem\" })\n protected colSpacing: string;\n\n @Prop({ type: Boolean, default: false })\n protected embedded: boolean;\n\n protected get columnsLayoutClass() {\n return {\n ...this.pageLayoutClass,\n \"is-embedded\": this.embedded\n }\n }\n\n protected get leftColStyle() {\n return {\n \"min-width\": \"min-content\",\n \"margin-right\": this.colSpacing,\n }\n }\n\n protected get rightColStyle() {\n return {\n \"min-width\": \"min-content\",\n \"margin-left\": this.colSpacing,\n }\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./ColumnsLayout.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./ColumnsLayout.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ColumnsLayout.vue?vue&type=template&id=f02ae446&scoped=true&\"\nimport script from \"./ColumnsLayout.ts?vue&type=script&lang=ts&\"\nexport * from \"./ColumnsLayout.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./ColumnsLayout.vue?vue&type=style&index=0&id=f02ae446&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"f02ae446\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FinancialInfoReport.vue?vue&type=style&index=0&id=31b6fdf3&lang=scss&scoped=true&\"","import { AccessRole } from \"@Module/Auth/Models/Roles/AccessRole.model\";\nimport { Console, RouteConfig } from \"vue-router\";\nimport { ServiceID } from \"@Service/ServiceID\";\nimport Clone from \"lodash.clonedeep\";\nimport Vue from \"vue\";\n\nexport class ConsoleRoute implements Console.ServiceRouteDefinition {\n public static readonly NotFoundPath = \"/cxlink/not-found\";\n public static readonly ForbiddenPath = \"/cxlink/forbidden\";\n public static readonly ErrorPath = [\"/cxlink/not-found\", \"/cxlink/forbidden\"];\n public static readonly OrgConfigPath = \"/settings/account/org-setup\";\n public static readonly AuthPath = \"/cxlink/auth\";\n public static readonly RootPath = \"/cxlink\";\n public static readonly HomePath = \"/cxlink/home\";\n public static readonly HubPath = \"/cxlink/hub\";\n \n public readonly path: string;\n public readonly name: string;\n public readonly meta: Console.RouteMeta;\n public readonly service: Console.ParentRouteDefinition;\n public readonly parent?: ConsoleRoute;\n\n public hasLegacyAccess: boolean;\n\n public static from(route: Console.Route): ConsoleRoute {\n const service: Console.RouteRecord = route.matched[0];\n const section: Console.RouteRecord = route.matched[route.matched.length - 1];\n return new ConsoleRoute(service, section);\n }\n\n public static create(service: Console.RouteRecord, section: Console.RouteRecord): ConsoleRoute {\n return new ConsoleRoute(service, section);\n }\n\n public get serviceId(): ServiceID | undefined {\n return this.service.meta.appInfo?.serviceId;\n }\n\n private constructor(service: Console.RouteRecord, section: Console.RouteRecord) {\n const routeConfigs = Vue.$router.options.routes || [];\n \n const serviceRoute = routeConfigs.find(route => route.path === service.path);\n const children: Console.RouteDefinition[] = \n this.getChildren(serviceRoute)?.map(child => this.getDefinition(child, service.path));\n\n this.name = section.name;\n this.path = section.path;\n this.meta = section.meta;\n this.service = { \n path: service.path, \n meta: service.meta, \n children \n };\n \n if (!!section.parent) {\n this.parent = new ConsoleRoute(service, section.parent);\n }\n\n this.hasLegacyAccess = !!service.meta.appInfo?.legacy ? false : undefined;\n }\n\n private getChildren(route: RouteConfig): Console.RouteConfig[] | undefined {\n if (!route.children) { return; }\n const visibleChildren = Clone(route.children)\n .filter(child => child.meta.menu?.hidden !== true) as Console.RouteConfig[];\n visibleChildren.forEach(child => {\n child.children = this.getChildren(child)\n });\n return visibleChildren;\n }\n\n private getDefinition(config: Console.RouteConfig, servicePath: string): Console.RouteDefinition {\n const path = !config.path.startsWith(servicePath) ? `${servicePath}/${config.path}` : config.path;\n const childrenConfig = config.children as Console.RouteConfig[];\n const meta = config.meta as Console.RouteMeta;\n if (!childrenConfig) { \n return { path, meta }; \n } else {\n const children = childrenConfig.map(child => this.getDefinition(child, servicePath));\n return { path, meta, children };\n }\n }\n\n public get breadcrumb(): Console.RouteDefinition[] {\n const routes = Vue.$router.getRoutes();\n const root = routes.find(r => r.path === ConsoleRoute.RootPath) as Console.RouteRecord;\n let route = routes.find(r => r.path === this.path) as Console.RouteRecord;\n const breadcrumb = [] as Console.RouteDefinition[];\n while (!!route) {\n if (!route.meta.breadcrumb?.hidden) {\n const prependRoutes = (route.meta.breadcrumb?.prependPaths || [])\n .map(path => routes.find(r => r.path === path)) as Console.RouteRecord[];\n const visiblePrependRoutes = prependRoutes.filter(route => !route.meta.breadcrumb?.hidden);\n breadcrumb.push(...[route, ...visiblePrependRoutes]);\n }\n route = route.parent;\n }\n breadcrumb.reverse().pop();\n if (breadcrumb[0].path !== root.path) {\n return [root,...breadcrumb];\n } else {\n return breadcrumb;\n }\n }\n\n public getServiceSectionsForRole(role: AccessRole): Console.RouteDefinition[] {\n const filteredRoute = ConsoleRoute.filterRouteChildrenForRole(this.service, role) as Console.ParentRouteDefinition;\n return filteredRoute.children;\n }\n\n public static filterRouteChildrenForRole(route: Console.RouteDefinition, role: AccessRole): Console.RouteDefinition | undefined {\n if (!ConsoleRoute.isRouteAccessibleForRole(route, role)) { \n return;\n } else if (ConsoleRoute.isParenRouteDefinition(route)) {\n const children = route.children.reduce((children, child) => {\n const filteredChild = ConsoleRoute.filterRouteChildrenForRole(child, role);\n return !!filteredChild ? [...children, filteredChild] : children;\n }, []);\n return {...route, children };\n } else {\n return route;\n }\n }\n\n public static isRouteAccessibleForRole(route: Console.RouteDefinition, role: AccessRole): boolean {\n if (ConsoleRoute.isParenRouteDefinition(route)) {\n const acc = route.children\n .reduce((acc, curr) => acc || ConsoleRoute.isRouteAccessibleForRole(curr, role), false);\n return acc;\n } else {\n return role.grantsAccessToRoute(route);\n }\n }\n\n public isAccessibleForUserWithPreviewAccess(previewAccess: ServiceID[] = []): boolean {\n const serviceId = this.service.meta.appInfo?.serviceId;\n if (!this.service.meta.appInfo?.inPreview) { \n return true; \n }\n return previewAccess.includes(serviceId);\n }\n\n public static isParenRouteDefinition(route: Console.RouteDefinition): route is Console.ParentRouteDefinition {\n return !!(route as Console.ParentRouteDefinition).children;\n }\n\n public get replaceNavigation(): boolean {\n const servicePreventsPush = this.service.meta.menu.replaceNavigation === true;\n const parentsPreventsPush = this.parent?.replaceNavigation === true;\n const sectionPreventsPush = this.meta.menu.replaceNavigation === true;\n return servicePreventsPush || parentsPreventsPush || sectionPreventsPush;\n }\n\n public get isServiceInPreview(): boolean {\n return this.service?.meta.appInfo?.inPreview === true;\n }\n\n public get signOutOnEnter(): boolean {\n return this.meta.signOutOnEnter;\n }\n\n public get isServiceLegacy(): boolean {\n return !!this.service.meta.appInfo?.legacy;\n }\n\n public get isHidden(): boolean {\n return this.meta.menu?.hidden === true\n || this.parent?.isHidden === true;\n }\n\n public get isAuthenticated(): boolean {\n return this.meta.authRequired === true;\n }\n\n public get isChild(): boolean {\n return !!this.parent;\n }\n\n public get isRoot(): boolean {\n return this.service?.path === ConsoleRoute.RootPath;\n }\n\n public get isAuth(): boolean {\n return this.path === ConsoleRoute.AuthPath;\n }\n\n public get isOrgConfig(): boolean {\n return this.path === ConsoleRoute.OrgConfigPath;\n }\n\n public get isError(): boolean {\n return ConsoleRoute.ErrorPath.includes(this.path);\n }\n\n public get redirectPath(): string {\n if (this.isServiceLegacy) { return ConsoleRoute.AuthPath; }\n const breadcrumb = [...this.breadcrumb, this].reverse();\n for (const route of breadcrumb) {\n if (route.meta.menu?.hidden !== true\n && route.meta.breadcrumb?.hidden !== true) {\n return route.path;\n }\n }\n }\n\n}","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SuperadminButton.vue?vue&type=style&index=0&id=d512c2da&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-button',{staticClass:\"superadmin-button\",attrs:{\"type\":\"info\",\"size\":_vm.size,\"icon\":_vm.icon,\"autofocus\":_vm.autofocus,\"disabled\":_vm.disabled,\"loading\":_vm.loading},on:{\"click\":function (e) { return _vm.$emit('click', e); }}},[_c('ion-icon',{staticClass:\"superadmin-icon\",style:(_vm.iconStyle),attrs:{\"name\":\"code-slash\"}}),_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { User } from \"@Module/Users/Models/User.model\";\nimport UsersStore from \"@Module/Users/Store/Users.store\";\nimport { Component, MapGetter, Prop } from \"types-vue\";\nimport Vue from \"vue\";\n\n@Component\nexport default class SuperadminButton extends Vue {\n \n @Prop({ type: String, default: null })\n protected size: string;\n\n @Prop({ type: String, default: null })\n protected icon: string;\n\n @Prop({ type: Boolean, default: false })\n protected loading: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected disabled: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected autofocus: boolean;\n\n @MapGetter(UsersStore.Mapping)\n protected sessionUser: User;\n\n protected get iconStyle() {\n return {\n \"margin-right\": !!this.$slots.default ? \"6px\" : \"0\"\n }\n }\n\n}","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./SuperadminButton.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./SuperadminButton.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SuperadminButton.vue?vue&type=template&id=d512c2da&scoped=true&\"\nimport script from \"./SuperadminButton.ts?vue&type=script&lang=ts&\"\nexport * from \"./SuperadminButton.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./SuperadminButton.vue?vue&type=style&index=0&id=d512c2da&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"d512c2da\",\n null\n \n)\n\nexport default component.exports","import LicensingStore, { FetchLicensesPayload, LicensingStoreAction } from \"@Module/Licensing/Store/Licensing.store\";\nimport NotificationsInboxStore, { NotificationsInboxStoreAction } from \"./NotificationsInbox.store\";\nimport { NotificationMap, NotificationsOutboxStoreState } from \"./NotificationsOutbox.state\";\nimport { OrgAccessRequestNotification } from \"../Models/OrgAccessRequestNotification.model\";\nimport { LicenseSharingNotification } from \"../Models/LicenseSharingNotification.model\";\nimport { OrgInvitationNotification } from \"../Models/OrgInvitationNotification.model\";\nimport { LicenseReturnNotification } from \"../Models/LicenseReturnNotification.model\";\nimport { Notification, NotificationType } from \"../Models/Notification.model\";\nimport { Action, Getter, Module, Mutation, Vue, VuexModule } from \"types-vue\";\nimport { ContractPurchase } from \"@Module/Auth/Models/ContractPurchase.model\";\nimport OrgsStore, { OrgsStoreGetter } from \"@Module/Orgs/Store/Orgs.store\";\nimport { Organization } from \"@Module/Orgs/Models/Organization.model\";\nimport { NotificationFactory } from \"../Models/Notification.factory\";\nimport { Role } from \"@Module/Auth/Models/Roles/AccessRole.model\";\nimport { License } from \"@Module/Licensing/Models/License.model\";\nimport NotificationsApi from \"../API/Notifications.api\";\nimport { ServiceID } from \"@Service/ServiceID\";\nimport { Utils } from \"@Core/Utils/Utils\";\nimport { ActionContext } from \"vuex\";\n\ndeclare type NotificationsOutboxStoreContext = ActionContext;\n\nconst enum NotificationsOutboxStoreCommit {\n SetOrgOutboxNotifications = \"_setOrgOutboxNotifications\",\n PutOrgOutboxNotifications = \"_putOrgOutboxNotifications\",\n SetMyOutboxNotifications = \"_setMyOutboxNotifications\",\n PutMyOutboxNotifications = \"_putMyOutboxNotifications\",\n DeleteNotification = \"_deleteNotification\",\n ClearOrgOutboxNotifications = \"_clearOrgOutboxNotifications\",\n ClearMyOutboxNotifications = \"_clearMyOutboxNotifications\"\n}\n\nconst enum NotificationsOutboxStoreAction {\n FetchMyOutbox = \"fetchMyOutbox\",\n FetchOrgOutbox = \"fetchOrgOutbox\",\n FetchPendingLicenseExchanges = \"fetchPendingLicenseExchanges\"\n}\n\nexport type SendOrgInvitationPayload = {\n email: string;\n role: Role;\n}\n\nexport type SendLicenseExchangePayload = {\n owner: Organization;\n tenant: Organization;\n service: ServiceID;\n toShare: License[];\n toReturn: License[];\n returnImmediately: boolean;\n voluntaryReturn: boolean;\n}\n\ntype SetNotificationsPayload = {\n type: NotificationType;\n notifications: Notification[];\n}\n\n@Module({ namespaced: true })\nexport default class NotificationsOutboxStore extends VuexModule implements NotificationsOutboxStoreState {\n public static readonly Mapping = Utils.createVuexMappingOptions(\"NotificationsOutbox\");\n\n public _orgOutbox: NotificationMap = {} as NotificationMap;\n public _myOutbox: NotificationMap = {} as NotificationMap;\n\n // SENT FROM ORG\n\n @Getter()\n public orgInvitationsOutbox(): OrgInvitationNotification[] {\n return this._orgOutbox[NotificationType.OrgInvitation] as OrgInvitationNotification[] || [];\n }\n\n @Getter()\n public orgLicenseSharingOutbox(): LicenseSharingNotification[] {\n return this._orgOutbox[NotificationType.LicenseSharing] as LicenseSharingNotification[] || [];\n }\n\n @Getter()\n public orgLicenseReturnOutbox(): LicenseReturnNotification[] {\n return this._orgOutbox[NotificationType.LicenseReturn] as LicenseReturnNotification[] || [];\n }\n\n @Getter()\n public orgOutbox(): Notification[] {\n return Object.values(this._orgOutbox).flat();\n }\n\n // SENT BY ME\n\n @Getter()\n public myInvitationsOutbox(): OrgInvitationNotification[] {\n return this._myOutbox[NotificationType.OrgInvitation] as OrgInvitationNotification[] || [];\n }\n\n @Getter()\n public myOrgRequestsOutbox(): OrgAccessRequestNotification[] {\n return this._myOutbox[NotificationType.OrgAccessRequest] as OrgAccessRequestNotification[] || [];\n }\n\n @Getter()\n public myLicenseSharingOutbox(): LicenseSharingNotification[] {\n return this._myOutbox[NotificationType.LicenseSharing] as LicenseSharingNotification[] || [];\n }\n\n @Getter()\n public myLicenseReturnOutbox(): LicenseReturnNotification[] {\n return this._myOutbox[NotificationType.LicenseReturn] as LicenseReturnNotification[] || [];\n }\n\n @Getter()\n public notificationsSentByMe(): Notification[] {\n return Object.values(this._myOutbox).flat();\n }\n\n // MUTATIONS\n @Mutation()\n protected _setOrgOutboxNotifications(payload: SetNotificationsPayload) {\n payload.notifications.sort((a, b) => a.expiration.diff(b.expiration));\n Vue.set(this._orgOutbox, payload.type, payload.notifications);\n }\n\n @Mutation()\n protected _putOrgOutboxNotifications(payload: SetNotificationsPayload) {\n const notifications = this._orgOutbox[payload.type] || [];\n for (const newNotif of payload.notifications) {\n const existingNotif = notifications.find(notif => notif.id === newNotif.id)\n if (!!existingNotif) {\n Object.assign(existingNotif, newNotif);\n } else {\n notifications.push(newNotif);\n }\n }\n notifications.sort((a, b) => a.expiration.diff(b.expiration));\n Vue.set(this._orgOutbox, payload.type, notifications);\n }\n\n @Mutation()\n protected _clearOrgOutboxNotifications() {\n this._orgOutbox = {} as NotificationMap;\n }\n\n @Mutation()\n protected _clearMyOutboxNotifications() {\n this._myOutbox = {} as NotificationMap;\n }\n\n @Mutation()\n protected _deleteNotification(notification: Notification) {\n let notifIndex = (this._orgOutbox[notification.type] || []).findIndex(n => n.id === notification.id);\n if (notifIndex !== -1) {\n this._orgOutbox[notification.type].splice(notifIndex, 1);\n }\n notifIndex = (this._myOutbox[notification.type] || []).findIndex(n => n.id === notification.id);\n if (notifIndex !== -1) {\n this._myOutbox[notification.type].splice(notifIndex, 1);\n }\n }\n\n @Mutation()\n protected _setMyOutboxNotifications(payload: SetNotificationsPayload) {\n payload.notifications.sort((a, b) => a.expiration.diff(b.expiration));\n Vue.set(this._myOutbox, payload.type, payload.notifications);\n }\n\n @Mutation()\n protected _putMyOutboxNotifications(payload: SetNotificationsPayload) {\n const notifications = this._myOutbox[payload.type] || [];\n for (const newNotif of payload.notifications) {\n const existingNotif = notifications.find(notif => notif.id === newNotif.id)\n if (!!existingNotif) {\n Object.assign(existingNotif, newNotif);\n } else {\n notifications.push(newNotif);\n }\n }\n notifications.sort((a, b) => a.expiration.diff(b.expiration));\n Vue.set(this._myOutbox, payload.type, notifications);\n }\n\n // ACTIONS\n\n @Action({ useContext: true })\n public async fetchPendingLicenseExchanges(ctx: NotificationsOutboxStoreContext): Promise {\n const notifTypes = [ NotificationType.LicenseSharing, NotificationType.LicenseReturn ];\n await Promise.all(notifTypes.map(type => ctx.dispatch(NotificationsOutboxStoreAction.FetchOrgOutbox, type))); \n }\n\n @Action({ commit: NotificationsOutboxStoreCommit.SetOrgOutboxNotifications })\n public async fetchOrgOutbox(type: NotificationType): Promise {\n const dtos = await NotificationsApi.getOrgOutboxNotifications(type);\n const notifications = dtos.map(NotificationFactory.fromDto);\n return { type, notifications };\n }\n\n @Action({ commit: NotificationsOutboxStoreCommit.SetMyOutboxNotifications })\n public async fetchMyOutbox(type: NotificationType): Promise {\n const dtos = await NotificationsApi.getMyOutboxNotifications(type);\n const notifications = dtos.map(NotificationFactory.fromDto);\n return { type, notifications };\n }\n\n @Action({ commit: NotificationsOutboxStoreCommit.DeleteNotification })\n public async cancelNotification(notification: Notification): Promise {\n const dto = await NotificationsApi.cancelNotification(notification);\n return NotificationFactory.fromDto(dto);\n }\n\n @Action({ useContext: true })\n public async sendOrgAccessRequest(ctx: NotificationsOutboxStoreContext, organization: Organization): Promise {\n const dto = await NotificationsApi.sendOrgAccessRequest(organization);\n const notification = NotificationFactory.fromDto(dto);\n const commitPayload: SetNotificationsPayload = { type: NotificationType.OrgAccessRequest, notifications: [notification] };\n ctx.commit(NotificationsOutboxStoreCommit.PutMyOutboxNotifications, commitPayload);\n ctx.commit(NotificationsOutboxStoreCommit.PutOrgOutboxNotifications, commitPayload);\n return notification;\n }\n\n @Action({ useContext: true })\n public async sendOrgInvitation(ctx: NotificationsOutboxStoreContext, payload: SendOrgInvitationPayload): Promise {\n const currentOrg: Organization = OrgsStore.Mapping.rootGetter(OrgsStoreGetter.CurrentOrg)(ctx);\n const dto = await NotificationsApi.sendOrgInvitation(payload.email, currentOrg, payload.role);\n const notification = NotificationFactory.fromDto(dto);\n const commitPayload: SetNotificationsPayload = { type: NotificationType.OrgInvitation, notifications: [notification] };\n ctx.commit(NotificationsOutboxStoreCommit.PutMyOutboxNotifications, commitPayload);\n ctx.commit(NotificationsOutboxStoreCommit.PutOrgOutboxNotifications, commitPayload);\n return notification;\n }\n\n @Action({ useContext: true })\n public async sendContractPurchase(ctx: NotificationsOutboxStoreContext, contractPurchase: ContractPurchase): Promise {\n const dto = await NotificationsApi.sendContractPurchase(contractPurchase);\n const notification = NotificationFactory.fromDto(dto);\n const addNotifToInbox = NotificationsInboxStore.Mapping.rootAction(NotificationsInboxStoreAction.AddNotification);\n await addNotifToInbox(ctx, [notification]);\n return notification;\n }\n\n @Action({ useContext: true })\n public async sendLicenseExchange(ctx: NotificationsOutboxStoreContext, payload: SendLicenseExchangePayload): Promise {\n await NotificationsApi.sendLicenseExchange(payload);\n const fetchLicensesPayload: FetchLicensesPayload = { service: payload.service };\n\n const fetchLicenses = payload.returnImmediately \n ? LicensingStore.Mapping.rootAction(LicensingStoreAction.FetchAllLicenses)(ctx, fetchLicensesPayload) \n : Promise.resolve();\n const fetchPendingLicenseExchanges = ctx.dispatch(NotificationsOutboxStoreAction.FetchPendingLicenseExchanges);\n await Promise.all([ fetchPendingLicenseExchanges, fetchLicenses ]);\n }\n\n @Action({ useContext: true })\n public async clearNotificationsStore(ctx: NotificationsOutboxStoreContext): Promise {\n ctx.commit(NotificationsOutboxStoreCommit.ClearMyOutboxNotifications);\n ctx.commit(NotificationsOutboxStoreCommit.ClearOrgOutboxNotifications);\n }\n\n}","import { ConsoleError } from \"@Core/Errors/ConsoleError\";\nimport { ServiceID } from \"@Service/ServiceID\";\n\ninterface GetResPermissionsApiErrorMeta {\n service: ServiceID;\n}\n\nexport class GetResPermissionsApiError extends ConsoleError {}","import { ConsoleError } from \"@Core/Errors/ConsoleError\";\nimport { ServiceID } from \"@Service/ServiceID\";\n\ninterface GetReleasesApiErrorMeta {\n service: ServiceID;\n}\n\nexport class GetReleasesApiError extends ConsoleError {}","import { ConsoleError } from \"@Core/Errors/ConsoleError\";\nimport { ServiceID } from \"@Service/ServiceID\";\n\ninterface GetResourceLinkApiErrorMeta {\n resId: number;\n service: ServiceID;\n}\n\nexport class GetResourceLinkApiError extends ConsoleError {}","import { ConsoleError } from \"@Core/Errors/ConsoleError\";\nimport { ServiceID } from \"@Service/ServiceID\";\nimport { ICreateReleaseDto, Release } from \"../Models/Release.model\";\n\ninterface CreateReleaseApiErrorMeta {\n data: ICreateReleaseDto;\n}\n\nexport class CreateReleaseApiError extends ConsoleError {}","import { ConsoleError } from \"@Core/Errors/ConsoleError\";\nimport { ServiceID } from \"@Service/ServiceID\";\n\ninterface GetWizardReleasesApiErrorMeta{\n productName: ServiceID\n}\n\nexport class GetWizardReleasesApiError extends ConsoleError {}","import { ConsoleError } from \"@Core/Errors/ConsoleError\";\nimport { ICreateProductVersionDto } from \"../Models/ProductVersion.model\";\n\ninterface CreateProductVersionApiErrorMeta {\n data: ICreateProductVersionDto;\n}\n\nexport class CreateProductVersionApiError extends ConsoleError {}","import { ConsoleError } from \"@Core/Errors/ConsoleError\";\nimport { ICreatePlatformDto, Platform } from \"../Models/Platform.model\";\n\ninterface CreatePlatformApiErrorMeta {\n platform: ICreatePlatformDto;\n}\n\nexport class CreatePlatformApiError extends ConsoleError {}","import { ConsoleError } from \"@Core/Errors/ConsoleError\";\nimport { ICreatePlatformDto, Platform } from \"../Models/Platform.model\";\n\ninterface UploadResourceApiErrorMeta {\n data: FormData;\n}\n\nexport class UploadResourceApiError extends ConsoleError {}","import { GetResPermissionsApiError } from \"../Errors/GetPermissionsApiError\";\nimport { GetReleasesApiError } from \"../Errors/GetReleasesApiError\";\nimport { GetResourceLinkApiError } from \"../Errors/GetResourceLinkApiError\";\nimport { IResourcePermissionsDto } from \"../Models/ResourcePermissions.model\";\nimport { ICreateResourceDto} from \"../Models/Resource.model\";\nimport { ICreateReleaseDto, IReleaseDto } from \"../Models/Release.model\";\nimport { ServiceID } from \"@Service/ServiceID\";\nimport AxiosAPI from \"@Core/API/AxiosAPI\";\nimport { CreateReleaseApiError } from \"../Errors/CreateReleaseApiError\";\nimport { GetWizardReleasesApiError } from \"../Errors/GetWizardReleasesApiError\";\nimport { CreateProductVersionApiError } from \"../Errors/CreateProductVersionApiError\";\nimport { CreatePlatformApiError } from \"../Errors/CreatePlatformApiError\";\nimport { ICategoryDto } from \"../Models/Categories.model\";\nimport { AxiosRequestConfig } from \"axios\";\nimport { ICreatePlatformDto, IPlatformDto, Platform } from \"../Models/Platform.model\";\nimport { ICreateProductVersionDto, IProductVersionDto } from \"../Models/ProductVersion.model\";\nimport { UploadResourceApiError } from \"../Errors/UploadResourceApiError\";\n\nclass ResourcesAPI extends AxiosAPI {\n private static instance: ResourcesAPI;\n\n public static get Instance(): ResourcesAPI {\n return this.instance || (this.instance = new this());\n }\n\n protected url(slug?: string): string {\n const baseUrl = `${process.env.VUE_APP_SERVICE_URL_BACKEND}/resources`;\n return !!slug ? `${baseUrl}/${slug}` : baseUrl;\n }\n\n public async getPermissions(service: ServiceID): Promise {\n try {\n const url = this.url(\"can_download\");\n const response = await this.axios.get(url, {\n params: { product: service }\n });\n return response.data;\n } catch (error) {\n const message = `An error occurred determining service resource access permissions. Please try again.`;\n throw new GetResPermissionsApiError(message, {\n cause: error,\n meta: { service }\n });\n }\n }\n\n public async getReleases(service: ServiceID): Promise {\n try {\n const url = this.url(\"product-versions\");\n const response = await this.axios.get(url, {\n params: { product: service }\n });\n const releases = response.data as IReleaseDto[];\n return releases;\n } catch (error) {\n const message = `An error occurred while retrieving service relases. Please try again.`;\n throw new GetReleasesApiError(message, {\n cause: error,\n meta: { service }\n });\n }\n }\n\n public async createPlatform(platform: ICreatePlatformDto): Promise {\n try {\n const url = this.url(\"platforms\");\n const response = await this.axios.post(url, { ...platform });\n return response.data;\n } catch (error) {\n const message = `An error occurred creating release. Please try again.`;\n throw new CreatePlatformApiError(message, {\n cause: error,\n meta: { platform }\n })\n }\n }\n\n public async uploadResource(awsUrl: string, data: FormData): Promise {\n try {\n var newAxios = AxiosAPI.awsAxios\n const response = await newAxios.put(awsUrl, data.get('File'));\n return response.data;\n } catch (error) {\n const message = `An error occurred creating release. Please try again.`;\n throw new UploadResourceApiError(message, {\n cause: error,\n meta: { data }\n })\n }\n }\n\n public async getUploadLink(data: ICreateResourceDto): Promise {\n const url = this.url(\"upload\");\n const config: AxiosRequestConfig = { params: { product: data.product } };\n const response = await this.axios.post(url, { ...data.resource }, config);\n return response.data;\n }\n\n public async deleteResource(resourceId: number): Promise {\n try {\n const url = this.url(\"resources/\" + resourceId);\n const response = await this.axios.delete(url);\n } catch (error) {\n const message = `An error occurred deleting release.`;\n throw new UploadResourceApiError(message, {\n cause: error,\n })\n }\n }\n\n\n public async createRelease(data: ICreateReleaseDto): Promise {\n try {\n const url = this.url(\"releases\");\n const response = await this.axios.post(url, { ...data });\n return response.data;\n } catch (error) {\n const message = `An error occurred creating release. Please try again.`;\n throw new CreateReleaseApiError(message, {\n cause: error,\n meta: { data }\n })\n }\n }\n\n public async createProductVersion(data: ICreateProductVersionDto): Promise {\n try {\n const url = this.url(\"product-versions\");\n const response = await this.axios.post(url, { ...data });\n return response.data;\n } catch (error) {\n const message = `An error occurred creating ProductVersion. Please try again.`;\n throw new CreateProductVersionApiError(message, {\n cause: error,\n meta: { data }\n })\n }\n }\n\n\n public async getResourceLink(resId: number, service: ServiceID): Promise {\n try {\n const url = this.url(\"download\");\n const response = await this.axios.get(url, {\n params: { product: service, file: resId }\n });\n return response.data;\n } catch (error) {\n const message = `An error occurred obtaining a resource link. Please try again.`;\n throw new GetResourceLinkApiError(message, {\n cause: error,\n meta: { resId, service }\n });\n }\n }\n\n public async getProductVersions(product: ServiceID): Promise {\n try {\n const url = this.url(\"all-versions\");\n const response = await this.axios.get(url, {\n params: { product: product }\n });\n return response.data;\n } catch (error) {\n const message = `An error occurred obtaining download resources. Please try again.`;\n throw new GetWizardReleasesApiError(message, {\n cause: error,\n });\n }\n }\n\n\n public async getPlatforms(product: ServiceID): Promise {\n try {\n const url = this.url(\"all-platforms\");\n const response = await this.axios.get(url, {\n params: { product: product }\n });\n return response.data;\n } catch (error) {\n const message = `An error occurred obtaining download resources. Please try again.`;\n throw new GetWizardReleasesApiError(message, {\n cause: error,\n });\n }\n }\n\n public async getCategories(): Promise {\n try {\n const url = this.url(\"categories\");\n const response = await this.axios.get(url);\n return response.data;\n } catch (error) {\n const message = `An error occurred obtaining categories. Please try again.`;\n throw new GetWizardReleasesApiError(message, {\n cause: error,\n });\n }\n }\n\n}\n\n\n\nexport default ResourcesAPI.Instance;\n","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContractsSummaryView.vue?vue&type=style&index=0&id=6810fdd0&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-tooltip',{attrs:{\"content\":\"Notifications inbox\",\"effect\":\"light\",\"placement\":\"bottom\",\"transition\":\"el-zoom-in-bottom\",\"disabled\":_vm.visible || _vm.disabled,\"enterable\":false,\"visible-arrow\":true}},[_c('el-popover',{ref:\"popover\",attrs:{\"width\":\"420\",\"disabled\":_vm.disabled,\"placement\":\"bottom\",\"transition\":\"el-zoom-in-top\"},on:{\"show\":_vm.onPopoverVisible},model:{value:(_vm.visible),callback:function ($$v) {_vm.visible=$$v},expression:\"visible\"}},[_vm._t(\"reference\",null,{\"slot\":\"reference\"}),_c('div',{staticClass:\"notifications-inbox-popover-content space-y-16\"},[_c('core.label',{attrs:{\"slot\":\"label\",\"icon-spacing\":\"8px\",\"icon-size\":\"22px\",\"icon-y-offset\":\"2px\"},slot:\"label\"},[_c('H1',[_vm._v(\"Notifications inbox\")]),_c('i',{class:_vm.getNotifications.loading && !_vm.firstLoad ? 'el-icon-loading' : 'el-icon-postcard',attrs:{\"slot\":\"icon\"},slot:\"icon\"})],1),_c('notifications.notifications-list',{staticClass:\"notifications-list\",attrs:{\"notifications\":_vm.inbox,\"loading\":_vm.firstLoad,\"loading-throttle\":500},on:{\"configuring\":_vm.onNotifConfigReponseChange}},[_c('core.empty',{attrs:{\"slot\":\"empty\",\"description\":\"You have no notifications.\",\"compact\":\"\"},slot:\"empty\"},[_c('i',{staticClass:\"el-icon-postcard\",attrs:{\"slot\":\"icon\"},slot:\"icon\"})])],1)],1)],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import NotificationsInboxStore from \"@Module/Notifications/Store/NotificationsInbox.store\";\nimport { NotifConfiguringResponseEvent } from \"../NotificationListItem/NotificationListItem\";\nimport { Notification } from \"@Module/Notifications/Models/Notification.model\";\nimport { Component, MapAction, MapGetter, Prop } from \"types-vue\";\nimport { Execution } from \"@Core/Models/Execution\";\nimport Vue from \"vue\";\n\n@Component\nexport default class NotificationsInboxPopover extends Vue {\n\n @Prop({ type: Boolean, default: false })\n protected disabled: boolean;\n\n @MapGetter(NotificationsInboxStore.Mapping)\n protected inbox: Notification[];\n\n @MapAction(NotificationsInboxStore.Mapping)\n protected fetchInbox: () => Promise\n\n protected getNotifications = Execution.create(() => this.fetchInbox());\n protected visible: boolean = false;\n\n protected onPopoverVisible() {\n this.getNotifications.run();\n }\n\n protected get firstLoad(): boolean {\n return this.inbox.length === 0 && this.getNotifications.loading;\n }\n\n protected async onNotifConfigReponseChange(event: NotifConfiguringResponseEvent) {\n const popover: any = this.$refs.popover;\n if (!popover) { return; }\n if (event.configuring) {\n document.removeEventListener(\"click\", popover.handleDocumentClick);\n } else {\n document.addEventListener(\"click\", popover.handleDocumentClick);\n }\n }\n \n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./NotificationsInboxPopover.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./NotificationsInboxPopover.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./NotificationsInboxPopover.vue?vue&type=template&id=8abbc048&\"\nimport script from \"./NotificationsInboxPopover.ts?vue&type=script&lang=ts&\"\nexport * from \"./NotificationsInboxPopover.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./NotificationsInboxPopover.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=scss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('core.columns-layout',{staticClass:\"licensing-summary-view\",attrs:{\"embedded\":\"\",\"show-right\":!_vm.$mq.lg}},[_c('core.query-param',{attrs:{\"name\":\"expand\",\"type\":\"number-array\"},model:{value:(_vm.expandedRows),callback:function ($$v) {_vm.expandedRows=$$v},expression:\"expandedRows\"}}),_c('core.query-param',{attrs:{\"name\":\"org\",\"serializer\":_vm.orgArrayParamSerializer},model:{value:(_vm.filters.orgs),callback:function ($$v) {_vm.$set(_vm.filters, \"orgs\", $$v)},expression:\"filters.orgs\"}}),_c('core.query-param',{attrs:{\"name\":\"search\",\"delay\":400},model:{value:(_vm.searchText),callback:function ($$v) {_vm.searchText=$$v},expression:\"searchText\"}}),(!!_vm.getSummary.error)?_c('core.alert',{attrs:{\"type\":\"error\",\"title\":\"Summary error\",\"description\":_vm.getSummary.error.message,\"closable\":false}},[_c('el-button',{attrs:{\"slot\":\"footer\",\"icon\":\"el-icon-refresh-right\",\"type\":\"default\",\"size\":\"mini\"},on:{\"click\":_vm.fetchSummary},slot:\"footer\"},[_c('span',[_vm._v(\"Try again\")])])],1):_c('div',{staticClass:\"space-y-16\"},[_c('core.card',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.hasSummary && _vm.getSummary.loading),expression:\"hasSummary && getSummary.loading\"}],attrs:{\"element-loading-text\":\"Fetching summary...\",\"bordered\":_vm.isPlainUi,\"no-padding\":\"\"}},[_c('div',{staticClass:\"flex space-x-8 p-x-16 pt-16\"},[_c('el-input',{staticClass:\"free-text-filter flex-2\",attrs:{\"disabled\":_vm.firstLoad,\"prefix-icon\":\"el-icon-search\",\"placeholder\":\"Filter contracts\",\"clearable\":\"\"},model:{value:(_vm.searchText),callback:function ($$v) {_vm.searchText=$$v},expression:\"searchText\"}}),_c('orgs.org-selector',{staticClass:\"orgs-selector flex-3\",attrs:{\"disabled\":_vm.firstLoad,\"placeholder\":\"Filter by organization\",\"clearable\":\"\",\"multiple\":\"\"},model:{value:(_vm.filters.orgs),callback:function ($$v) {_vm.$set(_vm.filters, \"orgs\", $$v)},expression:\"filters.orgs\"}}),(_vm.$mq.lg)?_c('core.filters-drawer',{attrs:{\"disabled\":_vm.firstLoad,\"clear-disabled\":!_vm.filters.isFiltering},on:{\"clear\":_vm.resetFilters}},[_c('div',{staticClass:\"contracts-summary\"},[_c('licensing.contracts-summary-filters-panel',{model:{value:(_vm.filters),callback:function ($$v) {_vm.filters=$$v},expression:\"filters\"}}),_c('el-divider',[_vm._v(\"Summary\")]),_c('licensing.licensing-status-breakdown',{staticClass:\"p-x-8\",attrs:{\"status\":_vm.contractsStatus,\"loading\":_vm.getSummary.loading,\"bordered\":\"\"}})],1)]):_vm._e()],1),_c('el-table',{ref:\"table\",attrs:{\"data\":_vm.filteredLicensingSummary,\"empty-text\":\" \",\"tooltip-effect\":\"light\",\"default-sort\":{ prop: 'contract.expiration', order: 'ascending' },\"row-key\":\"contract.id\",\"expand-row-keys\":_vm.expandedRowIds},on:{\"expand-change\":_vm.toggleExpansion,\"row-click\":_vm.toggleExpansion}},[_c('el-table-column',{attrs:{\"type\":\"expand\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar row = ref.row;\nreturn _c('div',{staticClass:\"space-y-16\"},[_c('div',{staticClass:\"contract-title\"},[_c('H2',[_vm._v(\"Contract #\"+_vm._s(row.contract.id)+\" \"),(row.contract.is_poc === true)?_c('el-tag',{staticClass:\"contract-poc\",attrs:{\"size\":\"small\",\"effect\":\"dark\",\"type\":\"info\",\"disable-transitions\":\"\"}},[_c('span',[_vm._v(\" POC \")])]):_vm._e()],1)],1),_c('licensing.licensing-summary-expand',{attrs:{\"summary\":row}})],1)}}])}),(_vm.firstLoad)?_c('core.loading',{attrs:{\"slot\":\"empty\",\"label\":\"Fetching summary...\",\"height\":\"7.2rem\"},slot:\"empty\"}):(_vm.filteredLicensingSummary.length === 0 && !_vm.getSummary.loading)?_c('core.empty',{attrs:{\"slot\":\"empty\"},slot:\"empty\"},[_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"receipt-outline\"},slot:\"icon\"}),_c('div',{staticClass:\"flex-y space-y-16 items-center\"},[_c('span',[_vm._v(\"No contract meets your filtering criteria.\")]),_c('el-button',{staticClass:\"w-max-content\",attrs:{\"size\":\"small\",\"icon\":\"el-icon-delete\"},on:{\"click\":_vm.resetFilters}},[_c('span',[_vm._v(\"Clear filters\")])])],1)],1):_vm._e(),_c('el-table-column',{attrs:{\"prop\":\"contract.status.phase\",\"label\":\"Status\",\"sortable\":_vm.hasSummary,\"min-width\":\"90\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar row = ref.row;\nreturn _c('licensing.licensing-status-tag',{attrs:{\"status\":row.contract.status}})}}])}),_c('el-table-column',{attrs:{\"prop\":\"contract.origin\",\"label\":\"Origin\",\"sortable\":_vm.hasSummary,\"min-width\":\"95\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar row = ref.row;\nreturn _c('el-tag',{attrs:{\"size\":\"mini\",\"effect\":\"dark\",\"type\":\"info\",\"disable-transitions\":\"\"}},[_c('span',[_vm._v(_vm._s(_vm.originName(row.contract.origin)))])])}}])}),_c('el-table-column',{attrs:{\"prop\":\"service\",\"label\":\"Service\",\"sortable\":_vm.hasSummary,\"sort-method\":function (a, b) { return _vm.serviceName(a.service).localeCompare(_vm.serviceName(b.service)); },\"min-width\":\"130\",\"show-overflow-tooltip\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar row = ref.row;\nreturn _c('span',{},[_vm._v(_vm._s(_vm.serviceName(row.service)))])}}])}),_c('el-table-column',{attrs:{\"prop\":\"organization.name\",\"label\":\"Organization\",\"sortable\":_vm.hasSummary,\"min-width\":\"150\",\"show-overflow-tooltip\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar row = ref.row;\nreturn [(!row.organization)?_c('span',{staticClass:\"text-disabled\"},[_vm._v(\"N/A\")]):_c('orgs.org-label',{staticClass:\"w-full\",attrs:{\"org\":row.organization}})]}}])}),_c('el-table-column',{attrs:{\"prop\":\"contract.expiration\",\"label\":\"Expiration\",\"sortable\":_vm.hasSummary,\"sort-method\":function (a, b) { return a.contract.expiration.diff(b.contract.expiration); },\"min-width\":\"135\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar row = ref.row;\nreturn _c('core.date-label',{attrs:{\"format\":\"MM/DD/YY HH:mm\",\"date\":row.contract.expiration}})}}])}),_c('el-table-column',{attrs:{\"prop\":\"contract.licensesCount\",\"label\":\"Licenses\",\"sortable\":_vm.hasSummary,\"width\":\"120\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar row = ref.row;\nreturn _c('span',{staticClass:\"space-x-4\"},[_c('span',{staticStyle:{\"font-weight\":\"600\",\"font-size\":\"20px\"}},[_vm._v(_vm._s(row.contract.licensesCount))]),_c('small',[_vm._v(_vm._s(_vm._f(\"pluralize\")('license',row.contract.licensesCount)))])])}}])})],1)],1)],1),_c('div',{staticClass:\"contracts-summary space-y-16\",attrs:{\"slot\":\"right\"},slot:\"right\"},[_c('core.filters-collapse',{attrs:{\"filtering\":_vm.filters.isFiltering,\"bordered\":_vm.isPlainUi,\"disabled\":_vm.getSummary.loading},on:{\"clear\":_vm.resetFilters}},[_c('licensing.contracts-summary-filters-panel',{model:{value:(_vm.filters),callback:function ($$v) {_vm.filters=$$v},expression:\"filters\"}})],1),_c('licensing.licensing-status-breakdown',{attrs:{\"status\":_vm.contractsStatus,\"loading\":_vm.getSummary.loading,\"bordered\":_vm.isPlainUi}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Organization } from \"@Module/Orgs/Models/Organization.model\";\nimport { LicensingStatusPhase } from \"./LicensingStatus.model\";\nimport { ServiceID } from \"@Service/ServiceID\";\nimport { Dimension } from \"./Dimension.model\";\n\nexport interface IContractsSummaryFiltersDto {\n status: string;\n product: string;\n withTests: boolean;\n withHosts: boolean;\n onlyPocs: boolean;\n origin: string;\n}\n\nexport class ContractsSummaryFilters {\n status: LicensingStatusPhase[];\n services: ServiceID[];\n withTests: boolean;\n origins: string[];\n orgs: Organization[];\n dimensions: Dimension[];\n onlyWithHosts: boolean;\n onlyPocs: boolean;\n\n private constructor() {\n this.status = [];\n this.services = [];\n this.withTests = false;\n this.onlyWithHosts = false;\n this.onlyPocs = false;\n this.dimensions = [];\n this.origins = [];\n this.orgs = [];\n }\n\n public static create(): ContractsSummaryFilters {\n return new ContractsSummaryFilters();\n }\n\n protected get dto(): IContractsSummaryFiltersDto {\n return this.toDto();\n }\n\n public get isFiltering(): boolean {\n return this.status.length > 0\n || this.services.length > 0\n || this.dimensions.length > 0\n || this.origins.length > 0\n || this.withTests\n || this.onlyWithHosts\n || this.onlyPocs;\n }\n\n public toDto(): IContractsSummaryFiltersDto {\n return {\n withTests: this.withTests,\n withHosts: this.onlyWithHosts,\n onlyPocs: this.onlyPocs,\n product: this.services.length > 0 ? this.services.join(\",\") : undefined,\n status: this.status.length > 0 ? this.status.join(\",\") : undefined,\n origin: this.origins.length > 0 ? this.origins.join(\",\") : undefined\n }\n }\n\n}","import { IOrganizationDto, Organization } from \"@Module/Orgs/Models/Organization.model\";\nimport { IDimensionUnits, IDimensionUnitsDto } from \"./Dimension.model\";\nimport { Contract, IContractDto } from \"./Contract.model\";\nimport { ServiceID } from \"@Service/ServiceID\";\n\nexport interface ILicensingSummaryDto {\n Contract: IContractDto;\n Org: IOrganizationDto;\n Product: string;\n LicenseDimensions: IDimensionUnitsDto[];\n}\n\nexport class LicensingSummary {\n contract: Contract;\n organization?: Organization;\n service: ServiceID;\n licenseDimensions: IDimensionUnits[];\n\n public static fromDto(dto: ILicensingSummaryDto): LicensingSummary {\n return new LicensingSummary(dto);\n }\n\n private constructor(dto: ILicensingSummaryDto) {\n this.contract = Contract.fromDto(dto.Contract, dto.Product as ServiceID);\n this.organization = !!dto.Org ? Organization.fromDto(dto.Org) : null;\n this.service = dto.Product as ServiceID;\n this.licenseDimensions = dto.LicenseDimensions;\n }\n\n public get licensesCount(): number {\n return this.licenseDimensions.reduce((acc, curr) => {\n acc + curr.units;\n return acc;\n }, 0);\n }\n \n}","import { ContractsSummaryFilters, IContractsSummaryFiltersDto } from \"@Module/Licensing/Models/ContractsSummaryFilters.model\";\nimport AppSettingsStore from \"@Service/Settings/Store/AppSettings/AppSettings.store\";\nimport { LicensingSummary } from \"@Module/Licensing/Models/LicensingSummary.model\";\nimport { LicensingStatus } from \"@Module/Licensing/Models/LicensingStatus.model\";\nimport { ContractOrigin } from \"@Module/Licensing/Models/ContractOrigin\";\nimport { Organization } from \"@Module/Orgs/Models/Organization.model\";\nimport { Serializer } from \"@Core/Components/QueryParam/QueryParam\";\nimport LicensingApi from \"@Module/Licensing/API/Licensing.api\";\nimport OrgsStore from \"@Module/Orgs/Store/Orgs.store\";\nimport { Execution } from \"@Core/Models/Execution\";\nimport { Component, MapGetter } from \"types-vue\";\nimport { ServiceID } from \"@Service/ServiceID\";\nimport Debounce from \"lodash.debounce\";\nimport Vue from \"vue\";\n\n@Component\nexport default class ContractsSummaryView extends Vue {\n\n @MapGetter(AppSettingsStore.Mapping)\n protected isPlainUi: boolean;\n\n @MapGetter(OrgsStore.Mapping)\n protected orgArrayParamSerializer: Serializer;\n\n protected disableFiltersWatcher: VoidFunction = null;\n protected expandedRows: number[] = [];\n protected licensingSummary: LicensingSummary[] = [];\n protected searchText: string = null;\n protected filters: ContractsSummaryFilters = ContractsSummaryFilters.create();\n\n protected filtersBackup = {\n expand: [],\n searchText: null,\n filters: ContractsSummaryFilters.create()\n }\n\n protected getSummary = Execution.create(\n (filters: IContractsSummaryFiltersDto) => LicensingApi.getLicensingSummary(filters), \n LicensingApi\n );\n\n protected mounted() {\n this.fetchSummary();\n this.disableFiltersWatcher = this.$watch(\"filters.dto\", this.debouncedFetchSummary, { deep: true });\n }\n\n protected debouncedFetchSummary = Debounce(this.fetchSummary, 500);\n protected async fetchSummary() {\n const dtos = await this.getSummary.run(this.filters.toDto());\n if (!this.getSummary.error) {\n this.licensingSummary = dtos.map(LicensingSummary.fromDto);\n }\n }\n\n protected get filteredLicensingSummary(): LicensingSummary[] {\n return this.licensingSummary\n .filter(s => {\n let orgsMatch = true;\n let dimensionMatch = true;\n if (this.filters.orgs.length > 0) {\n orgsMatch = this.filters.orgs.some(org => org.uuid === s.organization?.uuid);\n }\n if (this.filters.dimensions.length > 0) {\n const selectedDims = this.filters.dimensions.map(d => d.name);\n dimensionMatch = s.licenseDimensions.some(ld => selectedDims.includes(ld.dimension));\n }\n const contractMatch = s.contract.meetsFilter(this.searchText, []);\n return contractMatch && orgsMatch && dimensionMatch;\n });\n }\n\n protected serviceName(servie: ServiceID): string {\n return ServiceID.nameOf(servie);\n }\n\n protected originName(origin: ContractOrigin): string {\n return ContractOrigin.nameOf(origin);\n }\n\n protected toggleExpansion(summary: LicensingSummary) {\n const index = this.expandedRows.indexOf(summary.contract.id);\n if (index >= 0) {\n this.expandedRows.splice(index, 1);\n } else {\n this.expandedRows = [summary.contract.id];\n }\n }\n\n protected get expandedRowIds(): number[] {\n return this.expandedRows\n .filter(id => this.licensingSummary.some(summary => summary.contract.id === id));\n }\n\n protected get hasSummary(): boolean {\n return this.licensingSummary.length > 0;\n }\n\n protected get firstLoad(): boolean {\n return !this.hasSummary && this.getSummary.loading;\n }\n\n protected async resetFilters() {\n try {\n const msg = `Are you sure you want to clear all current filter criteria? This action cannot be undone.`;\n await this.$confirm(msg, \"Clear confirmation\", {\n type: \"warning\",\n confirmButtonText: \"Clear filters\",\n cancelButtonText: \"Cancel\" \n });\n this.filters = ContractsSummaryFilters.create();\n } catch {}\n }\n\n protected get contractsStatus(): LicensingStatus[] {\n return this.filteredLicensingSummary.map(summary => summary.contract.status);\n }\n\n public async onNotVisible() {\n this.disableFiltersWatcher();\n this.filtersBackup = {\n expand: this.expandedRows,\n filters: this.filters,\n searchText: this.searchText\n };\n this.expandedRows = [];\n this.filters = ContractsSummaryFilters.create();\n this.filters.status = [];\n } \n\n public async onVisible() {\n this.expandedRows = this.filtersBackup.expand;\n this.filters = this.filtersBackup.filters;\n this.searchText = this.filtersBackup.searchText;\n await this.debouncedFetchSummary();\n this.disableFiltersWatcher = this.$watch(\"filters.dto\", this.debouncedFetchSummary, { deep: true });\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./ContractsSummaryView.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./ContractsSummaryView.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ContractsSummaryView.vue?vue&type=template&id=6810fdd0&scoped=true&\"\nimport script from \"./ContractsSummaryView.ts?vue&type=script&lang=ts&\"\nexport * from \"./ContractsSummaryView.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./ContractsSummaryView.vue?vue&type=style&index=0&id=6810fdd0&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6810fdd0\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('licensing.license-details-view',{attrs:{\"filters\":_vm.filters,\"service-id\":_vm.serviceId},on:{\"select-contract\":_vm.viewContract},scopedSlots:_vm._u([{key:\"host-filters\",fn:function(ref){\nvar data = ref.data;\nvar size = ref.size;\nvar disabled = ref.disabled;\nreturn _c('emory.host-filters-panel-extension',{attrs:{\"filters\":_vm.filters,\"data\":data,\"size\":size,\"disabled\":disabled}})}},{key:\"extension\",fn:function(ref){\nvar host = ref.host;\nreturn _c('core.details',{attrs:{\"spacing\":\"6px\"}},[_c('core.label',{attrs:{\"slot\":\"label\"},slot:\"label\"},[_c('H2',[_vm._v(\"System\")]),_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"cube\"},slot:\"icon\"})],1),_c('div',{staticClass:\"flex flex-wrap container-x-16 container-y-16\"},[_c('core.details',{attrs:{\"label\":\"Client Version\"}},[_c('el-tooltip',{attrs:{\"effect\":\"light\",\"placement\":\"top\",\"content\":host.clientVersion,\"disabled\":!_vm.clientVersion(host).includes('...'),\"open-delay\":500}},[_c('div',[_vm._v(_vm._s(_vm.clientVersion(host)))])])],1),_c('core.details',{attrs:{\"label\":\"IP Address\",\"value\":host.ip}}),_c('core.details',{attrs:{\"label\":\"Memory\"}},[_c('span',[_vm._v(_vm._s(host.memory)+\" GB\")])]),_c('core.details',{attrs:{\"label\":\"Cluster ID\"}},[_c('core.copy-label',{attrs:{\"value\":host.clusterId}},[_c('el-tooltip',{attrs:{\"effect\":\"light\",\"placement\":\"top\",\"content\":host.clusterId,\"disabled\":!_vm.clusterId(host).includes('...'),\"open-delay\":250}},[_c('span',[_vm._v(_vm._s(_vm.clusterId(host)))])])],1)],1)],1)],1)}}])},[_c('core.query-param',{attrs:{\"name\":\"ip\",\"type\":\"string-array\"},model:{value:(_vm.filters.ips),callback:function ($$v) {_vm.$set(_vm.filters, \"ips\", $$v)},expression:\"filters.ips\"}}),_c('core.query-param',{attrs:{\"name\":\"version\",\"type\":\"string-array\"},model:{value:(_vm.filters.versions),callback:function ($$v) {_vm.$set(_vm.filters, \"versions\", $$v)},expression:\"filters.versions\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { EmoryHostFilters } from \"@Service/Emory/Models/Filters/EmoryHostFilters.model\";\nimport { EmoryLicense } from \"@Service/Emory/Models/EmoryLicense.model\";\nimport { EmoryHost } from \"@Service/Emory/Models/EmoryHost.model\";\nimport { ServiceID } from \"@Service/ServiceID\";\nimport { Utils } from \"@Core/Utils/Utils\";\nimport { Component } from \"types-vue\";\nimport Vue from \"vue\";\n\n@Component\nexport default class EmoryLicenseDetails extends Vue {\n protected serviceId = ServiceID.Emory;\n protected filters = EmoryHostFilters.create();\n\n protected clusterId(host: EmoryHost): string {\n if (this.$mq.md) return Utils.smartTrim(host.clusterId, 8);\n else return Utils.smartTrim(host.clusterId, 12);\n }\n\n protected clientVersion(host: EmoryHost): string {\n return Utils.smartTrim(host.clientVersion || \"\", 20);\n }\n \n protected viewContract(license: EmoryLicense) {\n this.$router.push({\n name: \"backup-contract-details\",\n params: { id: license.contractId.toString() }\n });\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./EmoryLicenseDetails.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./EmoryLicenseDetails.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./EmoryLicenseDetails.vue?vue&type=template&id=4555de30&\"\nimport script from \"./EmoryLicenseDetails.ts?vue&type=script&lang=ts&\"\nexport * from \"./EmoryLicenseDetails.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('core.layout',{staticClass:\"contract-details-view\"},[_c('core.query-param',{attrs:{\"name\":\"expand\",\"type\":\"number-array\"},model:{value:(_vm.expandedRows),callback:function ($$v) {_vm.expandedRows=$$v},expression:\"expandedRows\"}}),_c('core.query-param',{attrs:{\"name\":\"search\",\"delay\":400},model:{value:(_vm.filters.search),callback:function ($$v) {_vm.$set(_vm.filters, \"search\", $$v)},expression:\"filters.search\"}}),_c('core.query-param',{attrs:{\"name\":\"status\",\"type\":\"string-array\"},model:{value:(_vm.filters.status),callback:function ($$v) {_vm.$set(_vm.filters, \"status\", $$v)},expression:\"filters.status\"}}),_c('core.query-param',{attrs:{\"name\":\"avail\",\"type\":\"boolean\"},model:{value:(_vm.filters.withAvailability),callback:function ($$v) {_vm.$set(_vm.filters, \"withAvailability\", $$v)},expression:\"filters.withAvailability\"}}),_c('core.query-param',{attrs:{\"name\":\"onlyhosts\",\"type\":\"boolean\"},model:{value:(_vm.filters.onlyWithHosts),callback:function ($$v) {_vm.$set(_vm.filters, \"onlyWithHosts\", $$v)},expression:\"filters.onlyWithHosts\"}}),_c('core.query-param',{attrs:{\"name\":\"product\",\"serializer\":_vm.dimensionArrayParamSerializer},model:{value:(_vm.filters.dimensions),callback:function ($$v) {_vm.$set(_vm.filters, \"dimensions\", $$v)},expression:\"filters.dimensions\"}}),_c('core.query-param',{attrs:{\"name\":\"tenant\",\"serializer\":_vm.orgArrayParamSerializer},model:{value:(_vm.filters.tenants),callback:function ($$v) {_vm.$set(_vm.filters, \"tenants\", $$v)},expression:\"filters.tenants\"}}),_c('core.query-param',{attrs:{\"name\":\"owner\",\"serializer\":_vm.orgArrayParamSerializer},model:{value:(_vm.filters.owners),callback:function ($$v) {_vm.$set(_vm.filters, \"owners\", $$v)},expression:\"filters.owners\"}}),_c('core.query-param',{attrs:{\"name\":\"query\",\"delay\":400},model:{value:(_vm.filters.hosts.search),callback:function ($$v) {_vm.$set(_vm.filters.hosts, \"search\", $$v)},expression:\"filters.hosts.search\"}}),_c('core.query-param',{attrs:{\"name\":\"sid\",\"type\":\"string-array\"},model:{value:(_vm.filters.hosts.sIds),callback:function ($$v) {_vm.$set(_vm.filters.hosts, \"sIds\", $$v)},expression:\"filters.hosts.sIds\"}}),_c('core.query-param',{attrs:{\"name\":\"hostname\",\"type\":\"string-array\"},model:{value:(_vm.filters.hosts.hostnames),callback:function ($$v) {_vm.$set(_vm.filters.hosts, \"hostnames\", $$v)},expression:\"filters.hosts.hostnames\"}}),_c('core.query-param',{attrs:{\"name\":\"version\",\"type\":\"string-array\"},model:{value:(_vm.filters.hosts.versions),callback:function ($$v) {_vm.$set(_vm.filters.hosts, \"versions\", $$v)},expression:\"filters.hosts.versions\"}}),(_vm.permissions.CanEditContract)?_c('licensing.admin-edit-contract-dialog',{ref:\"editContractDialog\",attrs:{\"service-id\":_vm.serviceId}}):_vm._e(),(_vm.chanShareLicenses)?_c('licensing.license-transfer-dialog',{ref:\"licenseTransferDialog\",attrs:{\"service-id\":_vm.serviceId,\"licenses\":_vm.contractLicenses}}):_vm._e(),_c('div',{staticClass:\"space-y-16\"},[_c('div',{staticClass:\"flex items-center content-space-between\"},[_c('core.title',{staticClass:\"flex-0\",attrs:{\"title\":\"Contract Details\",\"allow-navigation\":\"\"},on:{\"back\":_vm.onBackClick}},[_vm._t(\"title\",[_c('core.label',{attrs:{\"icon-size\":\"18px\",\"icon-spacing\":\".6rem\"}},[_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"receipt-outline\"},slot:\"icon\"}),_c('H1',[_vm._v(\"Contract Details\")])],1)],null,_vm.slotScope),(!_vm.previousRoute)?_c('span',{attrs:{\"slot\":\"back\"},slot:\"back\"},[_vm._v(\"Contracts\")]):_vm._e()],2),_c('div',{staticClass:\"flex-1 flex content-end space-x-8\"},[_vm._t(\"controls\",null,null,_vm.slotScope),(_vm.chanShareLicenses)?_c('el-button',{attrs:{\"disabled\":_vm.firstLoad,\"size\":\"small\",\"type\":\"primary\",\"icon\":\"el-icon-sort\"},on:{\"click\":function($event){return _vm.$refs.licenseTransferDialog.open()}}},[_c('span',[_vm._v(\"License sharing\")])]):_vm._e(),(!!_vm.contract && !_vm.contract.isAWS && _vm.permissions.CanEditContract)?_c('core.superadmin-button',{attrs:{\"size\":\"small\"},on:{\"click\":function () { return _vm.$refs.editContractDialog.open(_vm.contract); }}},[_c('span',[_vm._v(\"Edit contract\")])]):_vm._e()],2)],1),(_vm.getContractById.loading)?_c('core.loading',{attrs:{\"label\":\"Fetching contract...\"}}):_vm._e(),(!!_vm.error)?_c('div',[(_vm.error.isFatal)?_c('core.redirect-alert',{attrs:{\"redirect-target\":_vm.currentRoute.service.path,\"title\":\"Fatal error\",\"description\":_vm.error.message}}):_c('core.alert',{attrs:{\"type\":\"error\",\"title\":\"Contract error\",\"description\":_vm.error.message,\"closable\":false}})],1):_vm._e(),(!!_vm.contract)?_c('div',{staticClass:\"space-y-24\"},[_c('core.card',{attrs:{\"bordered\":_vm.isPlainUi}},[_c('licensing.contract-summary',{attrs:{\"contract\":_vm.contract}})],1),(_vm.permissions.CanListLicenses || _vm.permissions.CanEditContractNotifications)?_c('el-tabs',{model:{value:(_vm.currentTab),callback:function ($$v) {_vm.currentTab=$$v},expression:\"currentTab\"}},[(_vm.permissions.CanListLicenses)?_c('el-tab-pane',{staticClass:\"w-full\",attrs:{\"label\":\"Licenses\",\"name\":\"licenses\"}},[_c('core.label',{staticClass:\"pr-4\",attrs:{\"slot\":\"label\"},slot:\"label\"},[_c('span',[_vm._v(\"Licenses\")]),_c('ion-icon',{staticStyle:{\"width\":\"15px\"},attrs:{\"slot\":\"icon\",\"name\":\"reader-outline\"},slot:\"icon\"})],1),_c('div',{staticClass:\"flex space-x-16\"},[_c('div',{staticClass:\"licenses-table-col space-y-16 flex-1\"},[(!!_vm.getLicensesByContractId.error)?_c('core.alert',{attrs:{\"type\":\"error\",\"title\":\"Contract licenses error\",\"description\":_vm.getLicensesByContractId.error.message,\"closable\":false}},[_c('el-button',{attrs:{\"slot\":\"footer\",\"size\":\"mini\",\"icon\":\"el-icon-refresh-right\",\"type\":\"default\"},on:{\"click\":function($event){return _vm.fetchContractLicenses()}},slot:\"footer\"},[_vm._v(\"Try again\")])],1):_c('core.card',{attrs:{\"bordered\":_vm.isPlainUi,\"no-padding\":\"\"}},[_c('div',{staticClass:\"flex flex-wrap container-x-8 container-y-8 p-x-16 pt-16\"},[_c('el-input',{staticClass:\"free-text-filter flex-1\",attrs:{\"disabled\":!_vm.hasLicenses,\"prefix-icon\":\"el-icon-search\",\"placeholder\":\"Search contract licenses\",\"clearable\":\"\"},model:{value:(_vm.filters.search),callback:function ($$v) {_vm.$set(_vm.filters, \"search\", $$v)},expression:\"filters.search\"}}),(_vm.$mq.lg)?_c('core.filters-drawer',{attrs:{\"title\":\"License filters\",\"disabled\":_vm.firstLoad,\"clear-disabled\":!_vm.filters.isFiltering},on:{\"clear\":_vm.clearFilters}},[_c('licensing.license-filters-panel',{staticClass:\"license-filters-col\",attrs:{\"data\":_vm.contractLicenses,\"disabled\":!_vm.hasLicenses,\"service-id\":_vm.serviceId},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return _vm._t(\"host-filters\",null,null,scope)}}],null,true),model:{value:(_vm.filters),callback:function ($$v) {_vm.filters=$$v},expression:\"filters\"}})],1):_vm._e()],1),_c('el-table',{attrs:{\"data\":_vm.filteredContractLicenses,\"tooltip-effect\":\"light\",\"row-key\":\"id\",\"empty-text\":\" \",\"expand-row-keys\":_vm.expandedRowIds},on:{\"expand-change\":_vm.toggleExpansion,\"row-click\":_vm.toggleExpansion}},[(_vm.firstLoad)?_c('core.loading',{attrs:{\"slot\":\"empty\",\"label\":\"Fetching licenses...\",\"height\":\"7.2rem\"},slot:\"empty\"}):(!_vm.hasLicenses && !_vm.getLicensesByContractId.loading)?_c('core.empty',{attrs:{\"slot\":\"empty\",\"description\":\"This contract has no licenses.\"},slot:\"empty\"},[_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"reader-outline\"},slot:\"icon\"})],1):(_vm.filteredContractLicenses.length === 0 && !_vm.getLicensesByContractId.loading)?_c('core.empty',{attrs:{\"slot\":\"empty\"},slot:\"empty\"},[_c('div',{staticClass:\"flex-y space-y-16 items-center\"},[_c('span',[_vm._v(\"No license meets your filtering criteria.\")]),_c('el-button',{staticClass:\"w-max-content\",attrs:{\"size\":\"small\",\"icon\":\"el-icon-delete\"},on:{\"click\":_vm.clearFilters}},[_c('span',[_vm._v(\"Clear filters\")])])],1),_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"reader-outline\"},slot:\"icon\"})],1):_vm._e(),_c('el-table-column',{attrs:{\"type\":\"expand\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar row = ref.row;\nreturn _c('div',{staticClass:\"space-y-16\"},[_c('H2',[_vm._v(\"License #L\"+_vm._s(row.id))]),_vm._t(\"expand\",[_c('licensing.license-summary',{attrs:{\"license\":row,\"expand\":\"\"}},[_c('div',{staticClass:\"flex content-space-between\"},[_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"primary\",\"icon\":\"el-icon-more\"},on:{\"click\":function($event){return _vm.onViewLicenseClick(row)}}},[_c('span',[_vm._v(\"View license details\")])])],1)])],null,_vm.licenseSlotScope(row))],2)}}],null,true)}),_c('el-table-column',{attrs:{\"prop\":\"status.phase\",\"label\":\"Status\",\"sortable\":_vm.hasLicenses,\"min-width\":\"85\",\"show-overflow-tooltip\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar row = ref.row;\nreturn _c('licensing.licensing-status-tag',{staticClass:\"w-max-full\",attrs:{\"status\":row.status}})}}],null,false,3843030101)}),_c('el-table-column',{attrs:{\"prop\":\"dimension\",\"label\":_vm.$mq.xl ? 'Dimen.' : 'Dimension',\"sortable\":_vm.hasLicenses,\"min-width\":_vm.$mq.xl ? 90 : 105,\"show-overflow-tooltip\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar row = ref.row;\nreturn _c('el-tag',{staticClass:\"w-max-full\",attrs:{\"size\":\"mini\",\"effect\":\"dark\",\"type\":\"info\"}},[_c('span',{staticClass:\"text-ellipsis\"},[_vm._v(_vm._s(row.dimension))])])}}],null,false,2025050519)}),(!_vm.$mq.md && !_vm.isShowingBothSharingColumns)?_c('el-table-column',{attrs:{\"prop\":\"creation\",\"label\":\"Creation\",\"sortable\":_vm.hasLicenses,\"sort-method\":function (a, b) { return a.creation.diff(b.creation); },\"min-width\":\"105\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar row = ref.row;\nreturn _c('core.date-label',{staticClass:\"w-max-full\",attrs:{\"date\":row.creation,\"format\":\"MM/DD/YYYY HH:mm\",\"icon-size\":\"12px\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar date = ref.date;\nreturn _c('span',{staticClass:\"text-ellipsis\"},[_vm._v(_vm._s(_vm._f(\"capitalize\")(date.fromNow())))])}},{key:\"tooltip\",fn:function(ref){\nvar formattedDate = ref.formattedDate;\nreturn _c('span',{},[_vm._v(_vm._s(formattedDate))])}}],null,false,333792252)})}}],null,false,2129725008)}):_vm._e(),_c('el-table-column',{attrs:{\"prop\":\"expiration\",\"label\":_vm.$mq.xl ? 'Exp.' : 'Expiration',\"sortable\":_vm.hasLicenses,\"sort-method\":function (a, b) { return a.expiration.diff(b.expiration); },\"min-width\":_vm.$mq.xl ? 95 : 115},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar row = ref.row;\nreturn _c('core.date-label',{staticClass:\"w-max-full\",attrs:{\"date\":row.expiration,\"format\":\"MM/DD/YYYY HH:mm\",\"icon-size\":\"12px\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar date = ref.date;\nreturn _c('span',{staticClass:\"text-ellipsis\"},[_vm._v(_vm._s(_vm._f(\"capitalize\")(date.fromNow())))])}},{key:\"tooltip\",fn:function(ref){\nvar formattedDate = ref.formattedDate;\nreturn _c('span',{},[_vm._v(_vm._s(formattedDate))])}}],null,false,333792252)})}}],null,false,2138483762)}),(_vm.shouldDisplayOwnerColumn)?_c('el-table-column',{attrs:{\"prop\":\"owner\",\"label\":\"Owner\",\"sortable\":_vm.hasLicenses,\"sort-method\":_vm.sortByOwner,\"min-width\":\"110\",\"show-overflow-tooltip\":\"\"},scopedSlots:_vm._u([{key:\"header\",fn:function(ref){\nvar column = ref.column;\nreturn _c('core.label',{attrs:{\"icon-spacing\":\"4px\",\"icon-position\":\"end\",\"icon-y-offset\":\"2px\",\"type\":\"inherit\"}},[_c('span',[_vm._v(_vm._s(column.label))]),_c('el-tooltip',{attrs:{\"slot\":\"icon\",\"effect\":\"light\",\"placement\":\"top\",\"transition\":\"el-zoom-in-bottom\",\"content\":\"The organization that owns the license.\"},slot:\"icon\"},[_c('ion-icon',{attrs:{\"name\":\"information-circle-outline\"}})],1)],1)}},{key:\"default\",fn:function(ref){\nvar row = ref.row;\nreturn _c('licensing.license-exchange-status-cell',{attrs:{\"license\":row,\"owner-cell\":true,\"loading\":_vm.getPendingExchanges.loading}})}}],null,false,2206117618)}):_vm._e(),(_vm.shouldDisplayTenantColumn)?_c('el-table-column',{attrs:{\"prop\":\"tenant\",\"label\":\"Tenant\",\"sortable\":_vm.hasLicenses,\"sort-method\":_vm.sortByTenant,\"min-width\":\"110\",\"show-overflow-tooltip\":\"\"},scopedSlots:_vm._u([{key:\"header\",fn:function(ref){\nvar column = ref.column;\nreturn _c('core.label',{attrs:{\"icon-spacing\":\"4px\",\"icon-position\":\"end\",\"icon-y-offset\":\"2px\",\"type\":\"inherit\"}},[_c('span',[_vm._v(_vm._s(column.label))]),_c('el-tooltip',{attrs:{\"slot\":\"icon\",\"effect\":\"light\",\"placement\":\"top\",\"transition\":\"el-zoom-in-bottom\",\"content\":\"The organization that has the usufruct of the license.\"},slot:\"icon\"},[_c('ion-icon',{attrs:{\"name\":\"information-circle-outline\"}})],1)],1)}},{key:\"default\",fn:function(ref){\nvar row = ref.row;\nreturn _c('licensing.license-exchange-status-cell',{attrs:{\"license\":row,\"owner-cell\":false,\"loading\":_vm.getPendingExchanges.loading}})}}],null,false,3836943699)}):_vm._e(),(_vm.permissions.CanListHosts)?_vm._t(\"table-columns\",[_c('el-table-column',{attrs:{\"prop\":\"usagePercentage\",\"label\":\"Use\",\"sortable\":_vm.hasLicenses,\"min-width\":\"68\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar row = ref.row;\nreturn _c('licensing.license-usage-progress',{staticClass:\"mb-8\",attrs:{\"license\":row}})}}],null,false,2788251185)})],null,_vm.slotScope):_vm._e(),_c('el-table-column',{attrs:{\"header-align\":\"right\",\"show-overflow-tooltip\":\"\",\"width\":\"50\"},scopedSlots:_vm._u([{key:\"header\",fn:function(ref){\nvar $index = ref.$index;\nreturn _c('transition',{attrs:{\"name\":\"el-fade-in\"}},[(_vm.getLicensesByContractId.loading && !_vm.firstLoad)?_c('i',{key:$index,staticClass:\"el-icon-loading table-loading-indicator\"}):_vm._e()])}},{key:\"default\",fn:function(ref){\nvar row = ref.row;\nreturn _c('el-tooltip',{attrs:{\"content\":\"View license details\",\"effect\":\"light\",\"placement\":\"top\",\"open-delay\":500,\"enterable\":false}},[_c('el-button',{staticClass:\"details-button\",attrs:{\"size\":\"mini\",\"type\":\"text\",\"circle\":\"\"},on:{\"click\":function($event){return _vm.onViewLicenseClick(row)}}},[_c('ion-icon',{attrs:{\"name\":\"arrow-forward-outline\"}})],1)],1)}}],null,false,3586509027)})],2)],1)],1),(!_vm.$mq.lg)?_c('div',{staticClass:\"flex-none space-y-16\"},[_c('div',{staticClass:\"license-filters-col\"},[_c('core.filters-collapse',{attrs:{\"filtering\":_vm.filters.isFiltering,\"bordered\":_vm.isPlainUi,\"disabled\":!_vm.filters.isFiltering},on:{\"clear\":_vm.clearFilters}},[_c('licensing.license-filters-panel',{attrs:{\"data\":_vm.contractLicenses,\"disabled\":!_vm.hasLicenses,\"service-id\":_vm.serviceId},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return _vm._t(\"host-filters\",null,null,scope)}}],null,true),model:{value:(_vm.filters),callback:function ($$v) {_vm.filters=$$v},expression:\"filters\"}})],1)],1)]):_vm._e()])],1):_vm._e(),(_vm.permissions.CanEditContractNotifications)?_c('el-tab-pane',{attrs:{\"label\":\"Notifications\",\"name\":\"notifications\"}},[_c('core.label',{staticClass:\"pr-4\",attrs:{\"slot\":\"label\",\"disabled\":!_vm.permissions.CanEditContractNotifications},slot:\"label\"},[_c('span',[_vm._v(\"Notifications\")]),_c('ion-icon',{staticStyle:{\"width\":\"15px\"},attrs:{\"slot\":\"icon\",\"name\":\"notifications-outline\"},slot:\"icon\"})],1),_c('div',{staticClass:\"space-y-16\"},[_c('core.card',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.editContract.loading),expression:\"editContract.loading\"}],attrs:{\"bordered\":_vm.isPlainUi}},[_c('div',{staticClass:\"space-y-16\"},[_c('settings.config-item',{attrs:{\"title\":\"Contract Expiration\",\"description\":\"Toggles email notifications on contract expiration. Only organization owners will receive these notifications.\"}},[_c('el-tooltip',{attrs:{\"disabled\":!_vm.contract.status.isFinished,\"placement\":\"top\",\"effect\":\"light\",\"content\":\"This contract has already expired or has been cancelled.\"}},[_c('el-switch',{attrs:{\"disabled\":_vm.contract.status.isFinished || !_vm.permissions.CanEditContractNotifications,\"value\":_vm.contract.hasExpirationNotifEnabled},on:{\"change\":_vm.onExpirationNotificationsChange}})],1)],1),(_vm.contract.notifications.expiration)?_c('core.card',{staticClass:\"m-x-8\",attrs:{\"bordered\":\"\"}},[_c('el-steps',{staticClass:\"expiration-notification-steps\",attrs:{\"active\":_vm.currentExpNotificationStep}},[_c('el-step',{attrs:{\"title\":\"Contract created\",\"icon\":\"el-icon-circle-check\"}},[_c('span',{attrs:{\"slot\":\"description\"},slot:\"description\"},[_c('span',[_vm._v(\"Contract created at \")]),_c('core.date-label',{attrs:{\"date\":_vm.contract.creation}})],1),_c('ion-icon',{staticStyle:{\"font-size\":\"26px\"},attrs:{\"slot\":\"icon\",\"name\":\"checkmark-circle-outline\"},slot:\"icon\"})],1),_c('el-step',{attrs:{\"title\":\"Contract close to expiration\",\"description\":\"Sent when the contract is about to expire.\",\"icon\":\"el-icon-postcard\"}},[(_vm.currentExpNotificationStep >= 2)?_c('ion-icon',{staticStyle:{\"font-size\":\"26px\"},attrs:{\"slot\":\"icon\",\"name\":\"checkmark-circle-outline\"},slot:\"icon\"}):_vm._e()],1),_c('el-step',{attrs:{\"title\":\"Contract has expired\",\"description\":\"Sent when the contract has expired and grace period begins.\",\"icon\":\"el-icon-postcard\"}},[(_vm.currentExpNotificationStep >= 3)?_c('ion-icon',{staticStyle:{\"font-size\":\"26px\"},attrs:{\"slot\":\"icon\",\"name\":\"checkmark-circle-outline\"},slot:\"icon\"}):_vm._e()],1),_c('el-step',{attrs:{\"title\":\"Grace period expired\",\"description\":\"Sent when the contract grace period has expired.\",\"icon\":\"el-icon-postcard\"}},[(_vm.currentExpNotificationStep >= 4)?_c('ion-icon',{staticStyle:{\"font-size\":\"26px\"},attrs:{\"slot\":\"icon\",\"name\":\"checkmark-circle-outline\"},slot:\"icon\"}):_vm._e()],1)],1)],1):_vm._e()],1)])],1)],1):_vm._e()],1):_vm._e()],1):_vm._e()],1),_vm._t(\"default\",null,null,_vm.slotScope)],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { ConsoleError } from \"@Core/Errors/ConsoleError\";\nimport { ConsoleRoute } from \"@Core/Models/ConsoleRoute\";\nimport { Execution } from \"@Core/Models/Execution\";\nimport NavigationStore from \"@Core/Store/Navigation/Navigation.store\";\nimport { SessionToken } from \"@Module/Auth/Models/SessionToken.model\";\nimport AuthStore from \"@Module/Auth/Store/Auth.store\";\nimport { Contract, ContractNotificationsMap } from \"@Module/Licensing/Models/Contract.model\";\nimport { License } from \"@Module/Licensing/Models/License.model\";\nimport { LicensingStatusPhase } from \"@Module/Licensing/Models/LicensingStatus.model\";\nimport LicensingStore, { FetchByIdPayload, FetchLicenseByIdPayload, UpdateContractPayload } from \"@Module/Licensing/Store/Licensing.store\";\nimport { ServiceID, ServiceMap } from \"@Service/ServiceID\";\nimport AppSettingsStore from \"@Service/Settings/Store/AppSettings/AppSettings.store\";\nimport { Component, MapAction, MapGetter, mixins, Prop } from \"types-vue\";\nimport Clone from \"lodash.clonedeep\";\nimport { Watch } from \"vue-property-decorator\";\nimport { Notify } from \"@Core/Utils/Notify\";\nimport UsersStore from \"@Module/Users/Store/Users.store\";\nimport { User } from \"@Module/Users/Models/User.model\";\nimport { AccessRole } from \"@Module/Auth/Models/Roles/AccessRole.model\";\nimport { Permission } from \"@Module/Auth/Models/Roles/Permissions.model\";\nimport { LicenseFilters } from \"@Module/Licensing/Models/LicenseFilters.model\";\nimport { Dimension } from \"@Module/Licensing/Models/Dimension.model\";\nimport { Serializer } from \"@Core/Components/QueryParam/QueryParam\";\nimport OrgsStore from \"@Module/Orgs/Store/Orgs.store\";\nimport { Organization } from \"@Module/Orgs/Models/Organization.model\";\nimport OrgSwitchMixin from \"@Module/Orgs/Mixins/OrgSwitch.mixin\";\nimport { Utils } from \"@Core/Utils/Utils\";\nimport NotificationsOutboxStore from \"@Module/Notifications/Store/NotificationsOutbox.store\";\nimport { LicenseSharingNotification } from \"@Module/Notifications/Models/LicenseSharingNotification.model\";\nimport { LicenseReturnNotification } from \"@Module/Notifications/Models/LicenseReturnNotification.model\";\nimport NotificationsInboxStore from \"@Module/Notifications/Store/NotificationsInbox.store\";\n\nconst enum DetailsTab {\n Licenses = \"licenses\",\n Notifications = \"notifications\"\n}\n\n@Component\nexport default class ContractDetailsView extends mixins(OrgSwitchMixin) {\n\n @Prop({ type: String, required: true })\n protected serviceId: ServiceID;\n\n @Prop({ type: Object, default: () => LicenseFilters.create() })\n protected filters: LicenseFilters;\n\n @MapGetter(UsersStore.Mapping)\n protected sessionUser: User;\n\n @MapGetter(AuthStore.Mapping)\n protected accessRole: AccessRole;\n\n @MapGetter(AppSettingsStore.Mapping)\n protected isPlainUi: boolean;\n\n @MapGetter(LicensingStore.Mapping)\n protected contracts: ServiceMap;\n \n @MapGetter(LicensingStore.Mapping)\n protected licenses: ServiceMap;\n\n @MapGetter(AuthStore.Mapping)\n protected sessionToken: SessionToken;\n\n @MapGetter(OrgsStore.Mapping)\n protected currentOrgHasChildren: boolean;\n\n @MapGetter(OrgsStore.Mapping)\n protected currentOrg: Organization;\n\n @MapGetter(NavigationStore.Mapping)\n protected previousRoute: ConsoleRoute;\n\n @MapGetter(NavigationStore.Mapping)\n protected currentRoute: ConsoleRoute;\n\n @MapGetter(LicensingStore.Mapping)\n protected dimensionArrayParamSerializer: Serializer;\n\n @MapGetter(OrgsStore.Mapping)\n protected orgArrayParamSerializer: Serializer;\n\n @MapGetter(NotificationsOutboxStore.Mapping)\n protected orgLicenseSharingOutbox: LicenseSharingNotification[];\n \n @MapGetter(NotificationsOutboxStore.Mapping)\n protected orgLicenseReturnOutbox: LicenseReturnNotification[];\n\n @MapAction(NotificationsOutboxStore.Mapping)\n protected fetchPendingLicenseExchanges: () => Promise;\n \n @MapAction(LicensingStore.Mapping)\n protected fetchContractById: (payload: FetchByIdPayload) => Promise;\n\n @MapAction(LicensingStore.Mapping)\n protected fetchLicensesByContractId: (payload: FetchLicenseByIdPayload) => Promise;\n\n @MapAction(LicensingStore.Mapping)\n private updateContract: (payload: UpdateContractPayload) => Promise;\n\n @MapAction(NotificationsInboxStore.Mapping)\n protected fetchInbox: () => Promise;\n\n protected error: ConsoleError = null;\n\n protected expandedRows: number[] = [];\n\n protected shouldDisplayTenantColumn: boolean = false;\n protected shouldDisplayOwnerColumn: boolean = false;\n\n protected currentTab: DetailsTab = DetailsTab.Licenses;\n protected notifications: ContractNotificationsMap = {\n expiration: false\n };\n\n protected getPendingExchanges = Execution.create(() => {\n return Promise.all([\n this.fetchInbox(),\n this.fetchPendingLicenseExchanges()\n ]);\n });\n\n protected editContract = Execution\n .create((contract: Contract, notifications: ContractNotificationsMap) => this.updateContract({\n service: this.serviceId,\n data: {\n id: contract.id,\n dto: { expirationNotifications: notifications.expiration }\n }\n }));\n\n protected getContractById = Execution.create(\n (contractId: number) => this.fetchContractById({ \n service: this.serviceId, \n data: contractId \n }));\n \n protected getLicensesByContractId = Execution.create(\n (contractId: number) => this.fetchLicensesByContractId({ \n service: this.serviceId, \n data: contractId\n }));\n\n protected created() {\n if (this.permissions.CanShareLicenses) {\n this.getPendingExchanges.run();\n }\n this.updateLicenseSharingColumns();\n }\n\n protected updateLicenseSharingColumns() {\n this.shouldDisplayTenantColumn = this.currentOrgHasChildren || this.serviceLicenses.some(license => license.isShared && !license.isSharedToOrg(this.currentOrg));\n this.shouldDisplayOwnerColumn = !!this.currentOrg.parentId || this.serviceLicenses.some(license => !license.isOwnedByOrg(this.currentOrg));\n }\n\n protected get isShowingBothSharingColumns(): boolean {\n return this.shouldDisplayOwnerColumn && this.shouldDisplayTenantColumn;\n }\n \n @Watch(\"$route.params.id\", { immediate: true })\n protected async onIdParamChange() {\n this.error = null;\n this.getContractById.reset();\n this.getLicensesByContractId.reset();\n await this.$nextTick();\n \n const contractId = Number(this.$route.params.id);\n if (isNaN(contractId)) {\n const errorMsg = `Invalid contract identifier '${this.$route.params.id}'.`;\n this.error = new ConsoleError(errorMsg, { fatal: true, meta: { contractId: this.$route.params.id } });\n return;\n }\n \n const contract = this.serviceContracts.some(contract => contract.id === contractId);\n if (!contract) {\n await this.getContractById.run(contractId);\n if (!!this.getContractById.error) {\n const errorMsg = `Contract with identifier ${this.$route.params.id} was not found.`;\n this.error = new ConsoleError(errorMsg, { fatal: true, meta: { contractId: this.$route.params.id } });\n return;\n }\n }\n\n const expNotif = this.$route.query.expnotif as string;\n const validExpNotifParam = [\"true\", \"false\"].includes(expNotif);\n if (validExpNotifParam) {\n this.currentTab = DetailsTab.Notifications;\n this.onExpirationNotificationsChange(expNotif === \"true\");\n }\n if (!!this.$route.query.expnotif) {\n const query = Clone(this.$route.query);\n delete query.expnotif;\n this.$router.replace({ query }).catch(e => e);\n }\n\n await this.fetchContractLicenses(contractId);\n }\n\n @Watch(\"contractLicenses\")\n protected async onTableDataChange(data: License[]) {\n this.expandedRows = this.expandedRows.filter(id => data.some(license => license.id === id));\n if (data.length === 1 && this.expandedRows.length === 0) {\n this.expandedRows = [data[0].id];\n }\n await Utils.sleep(100);\n await this.$nextTick();\n this.updateLicenseSharingColumns();\n }\n\n protected get serviceContracts(): Contract[] {\n return this.contracts[this.serviceId] || [];\n }\n\n protected get serviceLicenses(): License[] {\n return this.licenses[this.serviceId] || [];\n }\n\n protected get contract(): Contract {\n const contractId = Number(this.$route.params.id);\n return this.serviceContracts.find(contract => contract.id === contractId);\n }\n\n protected get contractLicenses(): License[] {\n const contractId = Number(this.$route.params.id);\n return this.serviceLicenses.filter(license => license.contractId === contractId);\n }\n\n protected get filteredContractLicenses(): License[] {\n return this.contractLicenses.filter(license => license.meetFilters(this.filters));\n }\n\n protected get firstLoad(): boolean {\n return !this.hasLicenses && this.getLicensesByContractId.loading;\n }\n\n protected get hasLicenses(): boolean {\n return this.contractLicenses.length > 0;\n }\n\n protected toggleExpansion(license: License) {\n const index = this.expandedRows.indexOf(license.id);\n if (index >= 0) {\n this.expandedRows.splice(index, 1);\n } else {\n this.expandedRows = [license.id];\n }\n }\n\n protected get expandedRowIds(): number[] {\n return this.filteredContractLicenses.length === 0 ? [] : this.expandedRows;\n }\n\n protected get currentExpNotificationStep(): number {\n switch (this.contract.status.phase) {\n case LicensingStatusPhase.Active: return 1;\n case LicensingStatusPhase.InGrace: return 3;\n case LicensingStatusPhase.Expired: return 4;\n }\n }\n\n protected clearFilters() {\n this.filters.reset();\n }\n\n protected shouldShowExchangeLoading(license: License): boolean {\n return this.getPendingExchanges.loading\n && !this.getLicenseExchangePending(license);\n }\n\n protected getLicenseExchangePending(license: License) {\n return this.getLicenseSharingPending(license)\n || this.getLicenseReturnPending(license);\n }\n\n protected getLicenseSharingPending(license: License) {\n return this.orgLicenseSharingOutbox.find(noti => noti.isLicenseIncluded(license));\n }\n\n protected getLicenseReturnPending(license: License) {\n return this.orgLicenseReturnOutbox.find(noti => noti.isLicenseIncluded(license));\n }\n\n protected onBackClick() {\n this.$emit(\"back\", this.previousRoute);\n }\n\n @Watch(\"permissions\", {immediate: true, deep: true })\n protected onPermissionsChange() {\n this.currentTab = this.permissions.CanListLicenses \n ? DetailsTab.Licenses\n : DetailsTab.Notifications; \n }\n\n @Watch(\"permissions.CanListLicenses\")\n protected onListLicensesPermissionChange() {\n this.fetchContractLicenses(this.contract?.id);\n } \n\n protected async fetchContractLicenses(contractId: number = Number(this.$route.params.id)) {\n if (this.permissions.CanListLicenses) {\n return this.getLicensesByContractId.run(contractId);\n }\n }\n\n protected async onExpirationNotificationsChange(newValue: boolean) {\n if (this.contract.status.isFinished\n || !this.permissions.CanEditContractNotifications\n || newValue === this.contract.notifications.expiration) {\n return;\n }\n const currentNotif = Clone(this.contract.notifications);\n await this.editContract.run(this.contract, {...currentNotif, expiration: newValue });\n if (!this.editContract.error) {\n Notify.Success({\n title: `Expiration notifications ${newValue ? 'enabled' : 'disabled'}`,\n message: `Notifications on contract expiration has been successfully ${newValue ? 'enabled' : 'disabled'}.`,\n duration: 5000\n });\n } else {\n Notify.Error({\n title: `Expiration notifications error`,\n message: `An error occurred while ${newValue ? 'enabling' : 'disabling'} expiration notifications.`,\n duration: 5000\n });\n }\n }\n\n protected onViewLicenseClick(license: License) {\n this.$emit(\"select\", license);\n }\n\n protected get licenseDimensionsCountMap(): Record {\n return this.filteredContractLicenses.reduce((m, curr) => {\n const dimCount = m[curr.dimension] ?? 0;\n m[curr.dimension] = dimCount + 1;\n return m;\n }, {} as Record);\n }\n\n protected get permissions() {\n return {\n CanEditContractNotifications: this.accessRole.can(this.serviceId, Permission.EditContractNotifications),\n CanEditContract: this.accessRole.can(this.serviceId, Permission.EditContract),\n CanListLicenses: this.accessRole.can(this.serviceId, Permission.ListLicenses),\n CanListHosts: this.accessRole.can(this.serviceId, Permission.ListHosts),\n CanShareLicenses: this.accessRole.can(this.serviceId, Permission.ShareLicenses)\n }\n }\n\n protected get chanShareLicenses(): boolean {\n const canShare = this.currentOrgHasChildren && this.contractLicenses.some(license => license.status.isActiveOrInGrace);\n const canReturnToParent = this.contractLicenses.some(license => license.isSharedToOrg(this.currentOrg));\n const canReturnFromChild = this.contractLicenses.some(license => license.isShared && !license.isSharedToOrg(this.currentOrg));\n return this.permissions.CanShareLicenses && (canShare || canReturnToParent || canReturnFromChild);\n }\n\n protected licenseSlotScope(license: License) {\n return {\n ...this.slotScope,\n license,\n exchangeStatus: {\n loading: this.getPendingExchanges.loading,\n isShared: license.isShared,\n isSharedToCurrentOrg: license.isShared && license.isSharedToOrg(this.currentOrg),\n isPending: !!this.getLicenseExchangePending(license),\n sharing: this.getLicenseSharingPending(license),\n return: this.getLicenseReturnPending(license)\n }\n }\n }\n\n protected get slotScope() {\n return {\n error: this.getContractById.error || this.getLicensesByContractId.error,\n loading: this.getContractById.loading || this.getLicensesByContractId.loading,\n hasRecords: this.hasLicenses,\n data: { \n original: this.serviceLicenses, \n filtered: this.filteredContractLicenses\n }\n }\n }\n\n protected sortByOwner(a: License, b: License): number {\n return a.owner.name.localeCompare(b.owner.name);\n }\n\n protected sortByTenant(a: License, b: License): number {\n return a.tenant?.name.localeCompare(b.tenant?.name) ?? -1;\n }\n\n}","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--13-3!./ContractDetailsView.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--13-3!./ContractDetailsView.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ContractDetailsView.vue?vue&type=template&id=715cfcc5&scoped=true&\"\nimport script from \"./ContractDetailsView.ts?vue&type=script&lang=ts&\"\nexport * from \"./ContractDetailsView.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./ContractDetailsView.vue?vue&type=style&index=0&id=715cfcc5&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"715cfcc5\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!_vm.signedIn)?_c('el-button',{staticClass:\"h-full\",attrs:{\"loading\":_vm.restoringSession || _vm.signingOut || _vm.signingIn,\"size\":\"small\",\"icon\":\"el-icon-user\"},on:{\"click\":function () { return _vm.openAuthDialog(); }}},[(_vm.restoringSession)?_c('span',[_vm._v(\"Restoring\")]):(_vm.signingOut)?_c('span',[_vm._v(\"Signing out\")]):(_vm.signingIn)?_c('span',[_vm._v(\"Signing in\")]):_c('span',[_vm._v(\"Sign in\")])]):_c('el-dropdown',{attrs:{\"trigger\":\"click\"},on:{\"command\":function (action) { return action(); }}},[_c('el-button',{staticClass:\"h-full\",attrs:{\"size\":\"small\",\"icon\":\"el-icon-user\"}},[(!_vm.$mq.sm)?_c('span',{staticClass:\"session-user-name\"},[_vm._v(_vm._s(!_vm.$mq.md ? _vm.sessionUser.fullName : _vm.sessionUser.firstName))]):_vm._e(),_c('i',{staticClass:\"el-icon-arrow-down\",class:_vm.$mq.sm ? 'ml-4' : 'ml-8'})]),_c('el-dropdown-menu',{attrs:{\"slot\":\"dropdown\"},slot:\"dropdown\"},[_c('div',{staticClass:\"session-user-menu\"},[_c('div',{staticClass:\"flex-y items-center p-x-16 pb-8 space-y-6\"},[(_vm.$mq.md)?_c('H4',[_vm._v(_vm._s(_vm.sessionUser.fullName))]):_vm._e(),_c('core.copy-label',{staticClass:\"session-user-email\",attrs:{\"value\":_vm.sessionUser.username}},[_c('span',[_vm._v(_vm._s(_vm.sessionUser.username))])]),(!_vm.currentOrgRole)?_c('el-tag',{staticClass:\"no-org-tag\",class:{ 'not-in-org-setup': !_vm.isInOrganizationSetup },attrs:{\"effect\":\"light\",\"type\":\"warning\",\"size\":\"mini\",\"disable-transitions\":\"\"}},[_c('core.label',{attrs:{\"type\":\"inherit\",\"icon-spacing\":\"4px\",\"icon-size\":\"12px\"}},[_c('i',{staticClass:\"el-icon-warning\",attrs:{\"slot\":\"icon\"},slot:\"icon\"}),_c('span',[_vm._v(\"No organization\")]),(!_vm.isInOrganizationSetup)?_c('el-link',{attrs:{\"type\":\"warning\",\"underline\":false},on:{\"click\":_vm.goToOrganizationSetup}},[_c('el-tag',{staticClass:\"no-org-link-tag ml-8 pl-8\",attrs:{\"size\":\"mini\",\"type\":\"warning\",\"effect\":\"dark\"}},[_c('core.label',{staticClass:\"text-bold\",attrs:{\"type\":\"inherit\",\"icon-size\":\"10px\",\"icon-spacing\":\"2px\",\"icon-position\":\"end\"}},[_c('span',[_vm._v(\"Setup now\")]),_c('i',{staticClass:\"text-bold el-icon-arrow-right\",attrs:{\"slot\":\"icon\"},slot:\"icon\"})])],1)],1):_vm._e()],1)],1):_c('div',{staticClass:\"flex flex-wrap container-x-8 container-y-8 content-center\"},[_c('el-tooltip',{attrs:{\"effect\":\"light\",\"transition\":\"el-zoom-in-bottom\",\"content\":\"Current organization\",\"open-delay\":250,\"placement\":\"top\",\"enterable\":false}},[_c('el-tag',{attrs:{\"effect\":\"dark\",\"type\":\"info\",\"size\":\"mini\",\"disable-transitions\":\"\"}},[_c('i',{staticClass:\"el-icon-office-building mr-4\"}),_c('span',[_vm._v(_vm._s(_vm.currentOrgRole.organization.name))])])],1),_c('el-tooltip',{attrs:{\"effect\":\"light\",\"transition\":\"el-zoom-in-bottom\",\"content\":\"Access role\",\"open-delay\":250,\"placement\":\"top\",\"enterable\":false}},[_c('orgs.org-role-tag',{attrs:{\"role\":_vm.currentOrgRole.role}})],1)],1)],1),_c('el-divider',{staticClass:\"m-y-8\"}),(!!_vm.currentOrgRole && _vm.canSwitchOrg && _vm.$mq.sm)?[_c('orgs.org-switcher',{staticClass:\"p-x-16 p-y-8\",attrs:{\"compact\":\"\"}}),_c('el-divider',{staticClass:\"m-y-8\"})]:_vm._e(),(_vm.$mq.md)?_c('el-dropdown-item',{attrs:{\"icon\":\"el-icon-set-up\",\"disabled\":_vm.signingOut || (!!_vm.currentRoute && _vm.currentRoute.path === '/settings/application'),\"command\":_vm.goToAppSettings}},[_c('span',[_vm._v(\"Application Settings\")])]):_vm._e(),_c('el-dropdown-item',{attrs:{\"icon\":\"el-icon-user\",\"disabled\":_vm.signingOut || (!!_vm.currentRoute && _vm.currentRoute.path === '/settings/account'),\"command\":_vm.goToAccountSettings}},[_c('span',[_vm._v(\"Account settings\")])]),_c('el-divider',{staticClass:\"m-y-8\"}),_c('el-dropdown-item',{attrs:{\"icon\":\"el-icon-switch-button\",\"disabled\":_vm.restoringSession || _vm.signingOut || _vm.signingIn,\"command\":_vm.signOutAndRedirect}},[(_vm.restoringSession)?_c('span',[_vm._v(\"Restoring\")]):(_vm.signingOut)?_c('span',[_vm._v(\"Signing out\")]):(_vm.signingIn)?_c('span',[_vm._v(\"Signing in\")]):_c('span',[_vm._v(\"Sign out\")])])],2)])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import NavigationStore from \"@Core/Store/Navigation/Navigation.store\";\nimport { ConsoleRoute } from \"@Core/Models/ConsoleRoute\";\nimport { Component, MapAction, MapGetter, mixins } from \"types-vue\";\nimport UsersStore from \"@Module/Users/Store/Users.store\";\nimport { User } from \"@Module/Users/Models/User.model\";\nimport OrgsStore from \"@Module/Orgs/Store/Orgs.store\";\nimport { AccessRole } from \"@Module/Auth/Models/Roles/AccessRole.model\";\nimport { OrganizationRole } from \"@Module/Orgs/Models/Roles/OrganizationRole.model\";\nimport { AuthStatus } from \"@Module/Auth/Store/Auth.state\";\nimport AuthStore from \"@Module/Auth/Store/Auth.store\";\nimport SignOutMixin from \"@Module/Auth/Mixins/SignOut.mixin\";\n\n@Component\nexport default class UserMenu extends mixins(SignOutMixin) {\n\n @MapGetter(UsersStore.Mapping)\n protected sessionUser: User;\n\n @MapGetter(AuthStore.Mapping)\n protected accessRole: AccessRole;\n\n @MapGetter(OrgsStore.Mapping)\n protected currentOrgRole: OrganizationRole;\n\n @MapGetter(OrgsStore.Mapping)\n protected canSwitchOrg: boolean;\n\n @MapGetter(NavigationStore.Mapping)\n protected currentRoute: ConsoleRoute;\n\n @MapGetter(AuthStore.Mapping)\n protected authStatus: AuthStatus;\n\n @MapAction(AuthStore.Mapping)\n protected openAuthDialog: (context?: string) => Promise;\n\n protected async signOutAndRedirect() {\n await this.performSignOut();\n this.$router.replace(ConsoleRoute.AuthPath).catch(e => e);\n\n }\n\n protected get isInOrganizationSetup(): boolean {\n return this.currentRoute.path === ConsoleRoute.OrgConfigPath;\n }\n\n protected goToOrganizationSetup() {\n this.$router.replace(ConsoleRoute.OrgConfigPath);\n }\n\n protected goToAppSettings() {\n this.$router.replace(\"/settings/application\").catch(e => e);\n }\n\n protected goToAccountSettings() {\n this.$router.replace(\"/settings/account\").catch(e => e);\n }\n\n\n protected get restoringSession(): boolean {\n return this.authStatus === AuthStatus.RestoringSession;\n }\n\n protected get signingOut(): boolean {\n return this.authStatus === AuthStatus.SigningOut;\n }\n\n protected get signingIn(): boolean {\n return this.authStatus === AuthStatus.SigningIn;\n }\n\n protected get signedIn(): boolean {\n return this.authStatus === AuthStatus.SignedIn;\n }\n\n}","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./UserMenu.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./UserMenu.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./UserMenu.vue?vue&type=template&id=171aafbd&scoped=true&\"\nimport script from \"./UserMenu.ts?vue&type=script&lang=ts&\"\nexport * from \"./UserMenu.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./UserMenu.vue?vue&type=style&index=0&id=171aafbd&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"171aafbd\",\n null\n \n)\n\nexport default component.exports","import { ServiceID } from \"@Service/ServiceID\";\n\nexport interface IResourcePermissionsDto {\n canDownload: boolean;\n}\n\nexport class ResourcePermissions {\n public readonly canDownload: boolean;\n public readonly service: ServiceID;\n\n private constructor(dto: IResourcePermissionsDto, service: ServiceID) {\n this.canDownload = dto.canDownload;\n this.service = service;\n }\n\n public static fromDto(dto: IResourcePermissionsDto, service): ResourcePermissions {\n return new ResourcePermissions(dto, service);\n }\n}","import { IResourcePermissionsDto, ResourcePermissions } from \"../Models/ResourcePermissions.model\";\nimport { ServiceID, ServiceMap, ServicePayload } from \"@Service/ServiceID\";\nimport { Action, Getter, Module, Mutation, VuexModule } from \"types-vue\";\nimport ResourcesApi from \"../API/Resources.api\";\nimport { ResourcesStoreState } from \"./Resources.state\";\nimport { Utils } from \"@Core/Utils/Utils\";\nimport Vue from \"vue\";\nimport { ICreateReleaseDto, Release } from \"../Models/Release.model\";\nimport { ICreatePlatformDto, Platform } from \"../Models/Platform.model\";\nimport { Category } from \"../Models/Categories.model\";\nimport { ICreateResourceDto} from \"../Models/Resource.model\";\nimport { ICreateProductVersionDto, ProductVersion } from \"../Models/ProductVersion.model\";\n\nexport const enum ResourcesStoreAction {\n FetchResourcePermissions = \"fetchResourcePermissions\",\n FetchReleases = \"fetchReleases\",\n fetchProductVersions = \"fetchProductVersions\",\n fetchCategories = \"fetchCategories\",\n SetResourcePermissions = \"setResourcePermissions\",\n AddProductVersion = \"addproductVersion\"\n}\n\nconst enum ResourcesStoreCommit {\n SetResourcePermissions = \"_setResourcePermissions\",\n SetResourcePermissionsMap = \"_setResourcePermissionsMap\",\n SetManageResourcesDialogVisible = \"_setManageResourcesDialogVisible\",\n SetReleases = \"_setReleases\",\n SetCategories = \"_setCategories\",\n SetAllPlatforms = \"_setAllPlatforms\",\n SetAllVersions = \"_setAllVersions\"\n}\n\nexport type SetResourcePermissionsPayload = ServicePayload;\n\n@Module({ namespaced: true })\nexport default class ResourcesStore extends VuexModule implements ResourcesStoreState {\n public static readonly Mapping = Utils.createVuexMappingOptions(\"Resources\");\n\n public _allPlatforms: Platform[] = [];\n public _releases: Release[] = [];\n private _categories: Category[] = [];\n public _allVersions: ProductVersion[] = [];\n public _resourcePermissionsMap: ServiceMap = {};\n public _manageResourcesDialogVisible: boolean = false;\n\n @Getter()\n public allPlatforms(): Platform[] {\n return this._allPlatforms;\n }\n\n @Getter()\n public releases(): Release[] {\n return this._releases;\n }\n\n @Getter()\n public categories(): Category[] {\n return this._categories;\n }\n\n @Getter()\n public allVersions(): ProductVersion[] {\n return this._allVersions;\n }\n\n\n @Mutation()\n protected _setReleases(releases: Release[]) {\n this._releases = releases;\n }\n\n @Mutation()\n protected _setAllPlatforms(platforms: Platform[]) {\n this._allPlatforms = platforms;\n }\n\n\n @Mutation()\n protected _setCategories(categories: Category[]) {\n this._categories = categories;\n }\n\n @Mutation()\n protected _setAllVersions(productVersions: ProductVersion[]) {\n this._allVersions = productVersions;\n }\n\n @Getter()\n public manageResourcesDialogVisible() { \n return this._manageResourcesDialogVisible;\n }\n\n @Getter()\n public resourcePermissionsMap(): ServiceMap {\n return this._resourcePermissionsMap;\n }\n\n @Getter()\n public emoryResourcePermissions(): ResourcePermissions | null {\n return this._resourcePermissionsMap[ServiceID.Emory] || null;\n }\n\n @Getter()\n public connectorResourcePermissions(): ResourcePermissions | null {\n return this._resourcePermissionsMap[ServiceID.Connector] || null;\n }\n\n @Getter()\n public abapSuiteResourcePermissions(): ResourcePermissions | null {\n return this._resourcePermissionsMap[ServiceID.AbapSuite] || null;\n }\n\n @Mutation()\n protected _setManageResourcesDialogVisible(visible: boolean) { \n this._manageResourcesDialogVisible = visible;\n }\n\n @Mutation()\n protected _setResourcePermissionsMap(permissionsMap: ServiceMap) {\n this._resourcePermissionsMap = permissionsMap;\n }\n\n @Mutation()\n protected _setResourcePermissions(permissions: ResourcePermissions) {\n Vue.set(this._resourcePermissionsMap, permissions.service, permissions);\n }\n\n @Action({ commit: ResourcesStoreCommit.SetAllPlatforms })\n public async fetchPlatforms(service: ServiceID): Promise {\n const dtos = await ResourcesApi.getPlatforms(service);\n return dtos.map(Platform.fromDto);\n }\n\n @Action({ commit: ResourcesStoreCommit.SetCategories })\n public async fetchCategories(): Promise {\n const dtos = await ResourcesApi.getCategories();\n return dtos.map(Category.fromDto);\n }\n\n @Action({ commit: ResourcesStoreCommit.SetAllVersions })\n public async fetchProductVersions(service: ServiceID): Promise {\n const dtos = await ResourcesApi.getProductVersions(service);\n return dtos.map(ProductVersion.fromDto);\n }\n\n @Action({ commit: ResourcesStoreCommit.SetManageResourcesDialogVisible })\n public setManageResourcesDialogVisible(visible: boolean): boolean {\n return visible;\n }\n\n @Action({ commit: ResourcesStoreCommit.SetManageResourcesDialogVisible })\n public openManageResourcesDialog(): boolean {\n return true;\n }\n\n @Action()\n protected async createProductVersion(data: ICreateProductVersionDto): Promise {\n const dto = await ResourcesApi.createProductVersion(data);\n return ProductVersion.fromDto(dto);\n }\n\n @Action()\n protected async createPlatform(platform: ICreatePlatformDto): Promise {\n const dto = await ResourcesApi.createPlatform(platform);\n return Platform.fromDto(dto);\n }\n\n @Action()\n protected async createRelease(data: ICreateReleaseDto): Promise {\n const dto = await ResourcesApi.createRelease(data);\n return Release.fromDto(dto);\n }\n\n @Action()\n protected async getUploadLink(data: ICreateResourceDto): Promise {\n const url = await ResourcesApi.getUploadLink(data);\n return url;\n }\n\n @Action({ commit: ResourcesStoreCommit.SetManageResourcesDialogVisible })\n public closeManageResourcesDialog(): boolean {\n return false;\n }\n\n @Action({ commit: ResourcesStoreCommit.SetResourcePermissionsMap })\n public async clearResourcesStore(): Promise> {\n return {};\n }\n\n @Action({ commit: ResourcesStoreCommit.SetResourcePermissions })\n public async fetchResourcePermissions(serviceId: ServiceID): Promise {\n const dto = await ResourcesApi.getPermissions(serviceId);\n return ResourcePermissions.fromDto(dto, serviceId);\n }\n\n @Action({ commit: ResourcesStoreCommit.SetResourcePermissions })\n public async setResourcePermissions(payload: SetResourcePermissionsPayload): Promise {\n return ResourcePermissions.fromDto(payload.data, payload.service);\n }\n\n\n}","import { INotificationDto, Notification, NotificationRef } from \"./Notification.model\";\nimport { IRoleDto, Role } from \"@Module/Auth/Models/Roles/AccessRole.model\";\nimport { Organization } from \"@Module/Orgs/Models/Organization.model\";\n\ninterface IOrgInvitationDetailsDto {\n role: IRoleDto;\n user_id: string;\n}\n\ntype IOrgInvitationNotificationDto = INotificationDto;\n\nexport class OrgInvitationNotification extends Notification {\n\n public readonly organization: Organization;\n public readonly recipient: string;\n public readonly role: Role;\n\n public readonly detailsRemote: IOrgInvitationDetailsDto;\n\n private constructor(dto: IOrgInvitationNotificationDto) {\n super(dto);\n this.role = Role.fromDto(dto.details.role);\n this.recipient = dto.details.user_id;\n this.detailsRemote = dto.details;\n }\n\n public static fromDto(dto: IOrgInvitationNotificationDto): OrgInvitationNotification {\n return new this(dto);\n }\n\n public meetFilters(search: string, roles: Role[]): boolean {\n const text = search?.toLowerCase() || \"\";\n\n if (!!roles && roles.length > 0) {\n const meetsRole = roles.some(r => r.id === this.detailsRemote.role.id);\n if (!meetsRole) return false;\n }\n\n const textMeetsRecipient = this.recipient.toLowerCase().includes(text);\n const textMeetsSender = this.sender.toLowerCase().includes(text);\n const textMeetsRole = this.role.name.toLowerCase().includes(text);\n return super.meetsFilter(search) || textMeetsRecipient || textMeetsSender || textMeetsRole;\n }\n \n public toDto(): INotificationDto {\n return {\n ...super.toDto(),\n details: {\n user_id: this.recipient,\n role: this.role.toDto()\n }\n }\n }\n}\n\nexport interface IOrgInvitationLinkParams {\n email: string;\n orgname: string;\n invitation: string;\n}\n\nexport class OrgInvitationNotificationLink {\n public readonly notificationId: number;\n public readonly email: string;\n public readonly orgName: string;\n \n public accepted: boolean = false;\n public isSignUp: boolean = false;\n\n private constructor(params: IOrgInvitationLinkParams) {\n this.notificationId = parseInt(params.invitation);\n this.orgName = params.orgname;\n this.email = params.email;\n }\n\n public get notificationRef(): NotificationRef {\n return { id: this.notificationId };\n }\n\n public static fromQuery(query: any): OrgInvitationNotificationLink | null {\n if (this.hasOrgInvitationLink(query)) {\n return new OrgInvitationNotificationLink(query);\n } else {\n return null;\n }\n }\n\n public static clearQuery(query: any): any {\n delete query.email;\n delete query.orgname;\n delete query.invitation;\n return query;\n }\n\n public static hasOrgInvitationLink(query: any): query is IOrgInvitationLinkParams {\n if (!query) return false;\n const invitation = query as IOrgInvitationLinkParams;\n return !!invitation.email && !!invitation.orgname && !!invitation.invitation;\n }\n\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('core.columns-layout',{staticClass:\"packages-view\",attrs:{\"show-right\":!_vm.$mq.lg}},[_c('div',[_c('core.title',{staticClass:\"flex-0 title-resources\"},[_vm._t(\"title\",[_c('core.label',{attrs:{\"icon-size\":\"18px\",\"icon-spacing\":\".6rem\"}},[_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"archive-outline\"},slot:\"icon\"}),_c('H1',[_vm._v(\"Documentation\")])],1)])],2),_c('div',{staticClass:\"resource-container\"},[_c('div',{key:\"docs\",staticClass:\"cards-resources\",attrs:{\"label\":\"Documentation\",\"name\":\"docs\"}},_vm._l((_vm.docResources),function(docResource){return _c('div',[_c('core.card',{staticClass:\"card-resource\",attrs:{\"title\":docResource.label}},[_c('core.empty',{attrs:{\"slot\":\"empty\",\"description\":\"There are no resources yet.\"},slot:\"empty\"}),(!!docResource.meta && docResource.meta.download)?_c('el-button',{attrs:{\"disabled\":_vm.disabled,\"type\":\"text\",\"size\":\"mini\"},on:{\"click\":function($event){return _vm.customResourceSelected(docResource)}}},[_vm._v(\"Download\")]):_c('el-button',{staticClass:\"resources-button\",attrs:{\"disabled\":_vm.disabled,\"type\":\"text\"},on:{\"click\":function($event){return _vm.customResourceSelected(docResource)}}},[_vm._v(\"View online\")])],1)],1)}),0)])],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport { ResourcePermissions } from '@Module/Resources/Models/ResourcePermissions.model';\nimport EmoryTrialDialog from '@Service/Emory/Components/TrialDialog/EmoryTrialDialog';\nimport { Permission } from '@Module/Auth/Models/Roles/Permissions.model';\nimport { CustomHubResource } from '@Core/Models/CustomHubResource.model';\nimport { AccessRole } from '@Module/Auth/Models/Roles/AccessRole.model';\nimport { SessionToken } from '@Module/Auth/Models/SessionToken.model';\nimport ResourcesStore from '@Module/Resources/Store/Resources.store';\nimport { Component, MapAction, MapGetter, Watch } from 'types-vue';\nimport { TrialInfo } from '@Module/Trial/Models/TrialInfo.model';\nimport TrialStore from '@Module/Trial/Store/Trial.store';\nimport OrgsStore from '@Module/Orgs/Store/Orgs.store';\nimport AuthStore from '@Module/Auth/Store/Auth.store';\nimport { Execution } from '@Core/Models/Execution';\nimport { ServiceID } from '@Service/ServiceID';\nimport { Notify } from '@Core/Utils/Notify';\nimport Vue from 'vue';\n\nconst enum CustomResourcesType {\n OnlineDocs = \"docs.online\"\n}\n\n@Component\nexport default class EmoryHDocumentation extends Vue {\n\n @MapGetter(AuthStore.Mapping)\n protected sessionToken: SessionToken;\n\n @MapGetter(AuthStore.Mapping)\n protected accessRole: AccessRole;\n\n @MapGetter(OrgsStore.Mapping)\n protected noOrganization: boolean;\n\n @MapGetter(TrialStore.Mapping)\n protected emoryTrialInfo: TrialInfo;\n\n @MapGetter(ResourcesStore.Mapping)\n protected emoryResourcePermissions: ResourcePermissions;\n \n @MapAction(AuthStore.Mapping)\n protected openAuthDialog: (context?: string) => Promise;\n\n @MapAction(TrialStore.Mapping)\n protected fetchTrialInfo: (service: ServiceID) => Promise;\n\n @MapAction(ResourcesStore.Mapping)\n protected fetchResourcePermissions: (service: ServiceID) => Promise;\n\n protected serviceId: ServiceID = ServiceID.Emory;\n\n protected getResPermissions = Execution\n .create(() => this.fetchResourcePermissions(this.serviceId));\n protected getTrialStatus = Execution\n .create(() => this.fetchTrialInfo(this.serviceId));\n\n @Watch(\"sessionToken\", { immediate: true })\n protected async onSessionChange(token: SessionToken) {\n if (!!token && !token.hasExpired && !this.noOrganization) {\n this.getResPermissions.run();\n } else {\n this.getResPermissions.reset();\n }\n }\n\n\n protected get docResources(): CustomHubResource[] {\n return [{ \n id: CustomResourcesType.OnlineDocs, \n label: \"Service Documentation (Online)\",\n meta: { url: `${process.env.VUE_APP_SERVICE_URL_EMORY_DOCS}` }\n }]\n }\n\n protected customResourceSelected(item: CustomHubResource) {\n if (!!item.meta.url) {\n window.open(item.meta.url);\n }\n }\n\n protected signInForDownloads() {\n const ctx = \"Sign into your account to download resources from this service.\";\n this.openAuthDialog(ctx);\n }\n\n protected get downloadsNotAllowed(): boolean {\n return !!this.emoryResourcePermissions && !this.emoryResourcePermissions.canDownload;\n }\n\n protected openIssueManager() {\n window.open(process.env.VUE_APP_SERVICE_URL_ISSUES);\n }\n\n protected get permissions() {\n return {\n CanDownloadOtherPackages: this.accessRole.can(this.serviceId, Permission.DownloadOtherResources)\n }\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./EmoryDocumentation.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./EmoryDocumentation.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./EmoryDocumentation.vue?vue&type=template&id=6eb8e44c&\"\nimport script from \"./EmoryDocumentation.ts?vue&type=script&lang=ts&\"\nexport * from \"./EmoryDocumentation.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./EmoryDocumentation.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"flex flex-wrap container-x-24 container-y-16\"},[_c('core.details',{attrs:{\"spacing\":\"6px\"}},[_c('core.label',{attrs:{\"slot\":\"label\"},slot:\"label\"},[_c('H2',[_vm._v(\"General\")]),_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"information-circle\"},slot:\"icon\"})],1),_c('div',{staticClass:\"flex flex-wrap container-x-16 container-y-16\"},[_c('core.details',{attrs:{\"label\":\"Host Code\"}},[_c('core.copy-label',{attrs:{\"value\":_vm.host.externalId}},[_c('el-tooltip',{attrs:{\"effect\":\"light\",\"placement\":\"top\",\"content\":_vm.host.externalId,\"disabled\":!_vm.hostCode.includes('...'),\"open-delay\":250}},[_c('span',[_vm._v(_vm._s(_vm.hostCode))])])],1)],1)],1)],1),_c('core.details',{attrs:{\"spacing\":\"6px\"}},[_c('core.label',{attrs:{\"slot\":\"label\"},slot:\"label\"},[_c('H2',[_vm._v(\"Validity\")]),_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"timer\"},slot:\"icon\"})],1),_c('div',{staticClass:\"flex flex-wrap container-x-16 container-y-16\"},[_c('core.details',{attrs:{\"label\":\"Creation\"}},[_c('core.date-label',{attrs:{\"date\":_vm.host.creation}})],1),_c('core.details',{attrs:{\"label\":\"Expiration\"}},[_c('core.date-label',{attrs:{\"date\":_vm.host.expiration}})],1)],1)],1),_vm._t(\"default\",null,{\"host\":_vm.host})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Host } from \"@Module/Licensing/Models/Host.model\";\nimport { Component, Prop } from \"types-vue\";\nimport { Utils } from \"@Core/Utils/Utils\";\nimport Vue from \"vue\";\n\n@Component\nexport default class HostSummary extends Vue {\n\n @Prop({ type: Object, required: true })\n protected host: Host;\n\n protected get hostCode(): string {\n if (this.$mq.md) return Utils.smartTrim(this.host.externalId, 12);\n else return Utils.smartTrim(this.host.externalId, 16);\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./HostSummary.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./HostSummary.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./HostSummary.vue?vue&type=template&id=549a10ea&\"\nimport script from \"./HostSummary.ts?vue&type=script&lang=ts&\"\nexport * from \"./HostSummary.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('core.drawer',{attrs:{\"custom-class\":\"filters-drawer\"},scopedSlots:_vm._u([{key:\"reference\",fn:function(ref){\nvar open = ref.open;\nvar close = ref.close;\nvar toggle = ref.toggle;\nreturn _vm._t(\"reference\",[_c('el-button',{attrs:{\"type\":\"text\",\"disabled\":_vm.disabled,\"size\":_vm.size},on:{\"click\":toggle}},[_c('ion-icon',{staticClass:\"mr-6\",attrs:{\"name\":\"funnel\"}}),_c('span',[_vm._v(\"Filters\")])],1)],{\"open\":open,\"close\":close,\"toggle\":toggle})}},{key:\"default\",fn:function(ref){\nvar open = ref.open;\nvar close = ref.close;\nvar toggle = ref.toggle;\nreturn _vm._t(\"default\",null,{\"open\":open,\"close\":close,\"toggle\":toggle})}}],null,true)},[_c('div',{staticClass:\"filters-header flex content-space-between items-center space-x-16\",attrs:{\"slot\":\"title\"},slot:\"title\"},[_c('core.label',{attrs:{\"icon-size\":\"16px\",\"icon-spacing\":\"6px\"}},[_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"funnel\"},slot:\"icon\"}),_c('H1',[_vm._v(_vm._s(_vm.title))])],1),_c('el-button',{attrs:{\"size\":\"mini\",\"type\":\"text\",\"disabled\":_vm.clearDisabled},on:{\"click\":function($event){return _vm.$emit('clear')}}},[_c('span',[_vm._v(\"Clear\")])])],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { UISize } from \"@Service/Settings/Store/AppSettings/AppSettings.state\";\nimport { Component, Prop } from \"types-vue\";\nimport Vue from \"vue\";\n\n@Component\nexport default class FiltersDrawer extends Vue {\n\n @Prop({ type: String, default: \"Filters\" })\n protected title: string;\n\n @Prop({ type: String, default: null })\n protected size: UISize;\n\n @Prop({ type: Boolean, default: false })\n protected clearDisabled: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected disabled: boolean;\n \n}","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./FiltersDrawer.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./FiltersDrawer.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./FiltersDrawer.vue?vue&type=template&id=4e3b61cd&\"\nimport script from \"./FiltersDrawer.ts?vue&type=script&lang=ts&\"\nexport * from \"./FiltersDrawer.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./FiltersDrawer.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import OrgsStore, { InitOrgsPayload, OrgsStoreAction, OrgsStoreGetter } from \"@Module/Orgs/Store/Orgs.store\";\nimport { Action, Getter, Module, Mutation, VuexModule } from \"types-vue\";\nimport { Organization } from \"@Module/Orgs/Models/Organization.model\";\nimport { UsersStoreState } from \"./Users.state\";\nimport { User } from \"../Models/User.model\";\nimport { Utils } from \"@Core/Utils/Utils\";\nimport UsersApi from \"../API/Users.api\";\nimport { ActionContext } from \"vuex\";\nimport Vue from \"vue\";\nimport { Role } from \"@Module/Auth/Models/Roles/AccessRole.model\";\n\nconst enum UsersStoreCookies {\n LastUser = \"users.last-user\"\n}\n\nconst enum UsersStoreCommit {\n SetSessionUser = \"_setSessionUser\",\n SerOrgUsers = \"_setOrgUsers\",\n SetUsers = \"_setUsers\",\n AddUsers = \"_addUsers\",\n AddOrgUsers = \"_addOrgUsers\",\n RemoveAppUser = \"_removeAppUser\",\n RemoveOrgUser = \"_removeOrgUser\"\n}\n\nexport const enum UsersStoreAction {\n InitSessionUser = \"initSessionUser\",\n DeinitSessionUser = \"deinitSessionUser\",\n FetchOrgUsers = \"fetchOrgUsers\"\n}\n\nexport const enum UsersStoreGetter {\n sessionUser = \"sessionUser\"\n}\n\ndeclare type UsersStoreContext = ActionContext;\n\n@Module({ namespaced: true })\nexport default class UsersStore extends VuexModule implements UsersStoreState {\n public static readonly Mapping = Utils.createVuexMappingOptions(\"Users\");\n\n public _sessionUser: User = null;\n public _users: User[] = [];\n public _orgUsers: User[] = [];\n \n @Getter()\n public sessionUser(): User {\n return this._sessionUser;\n }\n\n @Getter()\n public users(): User[] {\n return this._users;\n }\n\n @Getter()\n public orgUsers(): User[] {\n return this._orgUsers;\n }\n\n @Mutation()\n protected _setSessionUser(user: User) {\n this._sessionUser = user;\n if (!!user) {\n Vue.$cookies.set(UsersStoreCookies.LastUser, user.username);\n }\n }\n\n @Mutation()\n protected _setUsers(users: User[]) {\n this._users = users;\n }\n\n @Mutation()\n protected _setOrgUsers(users: User[]) {\n this._orgUsers = users;\n }\n\n @Mutation()\n protected _removeOrgUser(user: User) {\n const index = this._orgUsers.findIndex(u => u.username === user.username);\n if (index !== -1) {\n this._orgUsers.splice(index, 1);\n }\n }\n\n @Mutation()\n protected _removeAppUser(user: User) {\n const index = this._users.findIndex(u => u.username === user.username);\n if (index !== -1) {\n this._users.splice(index, 1);\n }\n }\n\n @Mutation()\n protected _addOrgUsers(users: User[]) {\n for (const newUser of users) {\n const currentUser = this._orgUsers.find(u => u.username === newUser.username);\n if (!!currentUser) {\n Object.assign(currentUser, newUser);\n } else {\n this._orgUsers.push(newUser);\n }\n }\n }\n\n @Mutation()\n protected _addUsers(users: User[]) {\n for (const newUser of users) {\n const currentUser = this._users.find(u => u.username === newUser.username);\n if (!!currentUser) {\n Object.assign(currentUser, newUser);\n } else {\n this._users.push(newUser);\n }\n }\n }\n\n @Action({ useContext: true, commit: UsersStoreCommit.SerOrgUsers })\n public async fetchOrgUsers(ctx: UsersStoreContext): Promise {\n const currentOrg: Organization = OrgsStore.Mapping.rootGetter(OrgsStoreGetter.CurrentOrg)(ctx);\n const dtos = await UsersApi.getUsers(currentOrg);\n return dtos.map(User.fromDto);\n }\n\n @Action({ commit: UsersStoreCommit.SetUsers })\n public async fetchUsers(): Promise {\n const dtos = await UsersApi.getUsers();\n return dtos.map(User.fromDto);\n }\n\n @Action({ commit: UsersStoreCommit.AddUsers })\n public async fetchUser(username: string): Promise {\n const dto = await UsersApi.getUser(username);\n return [User.fromDto(dto)];\n }\n\n @Action({ useContext: true, commit: UsersStoreCommit.RemoveAppUser })\n public async deleteUser(ctx: UsersStoreContext, user: User): Promise {\n await UsersApi.deleteUser(user.username);\n return user;\n }\n\n @Action({ commit: UsersStoreCommit.AddUsers })\n public async createUser(user: User): Promise {\n const userDto = await UsersApi.createUser(user.toDto());\n return [User.fromDto(userDto)];\n }\n\n @Action({ commit: UsersStoreCommit.AddUsers })\n public async updateUser(user: User): Promise {\n const userDto = await UsersApi.updateUser(user.toDto());\n return [User.fromDto(userDto)];\n }\n\n @Action({ useContext: true, commit: UsersStoreCommit.AddOrgUsers })\n public async updateOrgUserRole(ctx: UsersStoreContext, user: User): Promise {\n const currentOrg: Organization = OrgsStore.Mapping.rootGetter(OrgsStoreGetter.CurrentOrg)(ctx);\n const userDto = await UsersApi.updateOrgUserRole(user, currentOrg);\n return [User.fromDto(userDto)];\n }\n\n @Action({ useContext: true, commit: UsersStoreCommit.RemoveOrgUser })\n public async removeUserFromCurrentOrg(ctx: UsersStoreContext, user: User): Promise {\n const currentOrg: Organization = OrgsStore.Mapping.rootGetter(OrgsStoreGetter.CurrentOrg)(ctx);\n await UsersApi.removeUserFromOrg(user, currentOrg);\n return user;\n }\n\n @Action({ useContext: true })\n public async clearUsersStore(ctx: UsersStoreContext): Promise {\n ctx.commit(UsersStoreCommit.SerOrgUsers, []);\n ctx.commit(UsersStoreCommit.SetUsers, []);\n }\n\n @Action({ useContext: true, commit: UsersStoreCommit.SetSessionUser })\n public async initSessionUser(ctx: UsersStoreContext, username: string): Promise {\n const userDto = await UsersApi.getUser(username);\n const user = User.fromDto(userDto);\n \n const previousUsername = Vue.$cookies.get(UsersStoreCookies.LastUser);\n\n // Init user orgs\n const initUserOrgs = OrgsStore.Mapping.rootAction(OrgsStoreAction.InitOrgs);\n const initUserOrgsPayload: InitOrgsPayload = { user, userDidChange: previousUsername !== user.username };\n await initUserOrgs(ctx, initUserOrgsPayload);\n\n return user;\n }\n\n @Action({ useContext: true, commit: UsersStoreCommit.SetSessionUser })\n public async deinitSessionUser(ctx: UsersStoreContext, expired: boolean): Promise {\n // Deinit user orgs\n const deinitUserOrgs = OrgsStore.Mapping.rootAction(OrgsStoreAction.DeinitOrgs);\n await deinitUserOrgs(ctx, expired);\n\n return null;\n }\n\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!!_vm.currentOrgRole && !!_vm.defaultOrgRole && _vm.canSwitchOrg)?_c('div',{staticClass:\"org-switcher space-y-16\"},[_c('core.details',[_c('core.label',{attrs:{\"slot\":\"label\",\"icon-size\":\"18px\",\"icon-y-offset\":\"2px\"},slot:\"label\"},[_c('H1',[_vm._v(\"Organization switch\")]),_c('i',{staticClass:\"el-icon-office-building\",attrs:{\"slot\":\"icon\"},slot:\"icon\"})],1),_c('span',[_vm._v(\"Changes the organization you are working on.\")])],1),_c('div',{staticClass:\"pos-relative\"},[(!!_vm.currentOrgRoleParent)?_c('el-tooltip',{attrs:{\"effect\":\"light\",\"placement\":\"top\",\"enterable\":false,\"transition\":\"el-fade-in\"}},[_c('span',{staticClass:\"flex items-center space-x-4\",attrs:{\"slot\":\"content\"},slot:\"content\"},[_c('span',[_vm._v(\"Switch to parent: \")]),_c('orgs.org-label',{staticClass:\"text-semibold\",attrs:{\"org\":_vm.currentOrgRoleParent.organization}})],1),_c('el-button',{staticClass:\"pos-absolute go-to-parent-btn\",attrs:{\"size\":\"mini\",\"type\":\"text\",\"icon\":\"el-icon-upload2\"},on:{\"click\":function($event){return _vm.onOrgRoleSelected(_vm.currentOrgRoleParent)}}})],1):_vm._e(),_c('orgs.org-role-selector',{ref:\"orgRoleSelector\",staticClass:\"org-role-selector w-full\",attrs:{\"value\":_vm.currentOrgRole,\"default-expand-all\":\"\"},on:{\"select\":_vm.onOrgRoleSelected}})],1),_c('core.alert',{attrs:{\"type\":_vm.currentOrgRole.isMain ? 'info' : 'warning',\"closable\":false,\"show-icon\":false,\"plain\":\"\"}},[_c('div',{staticClass:\"flex space-x-16 content-space-between items-center mb-8\",attrs:{\"slot\":\"title\"},slot:\"title\"},[_c('H3',[_vm._v(\"Current Organization\")]),_c('el-tag',{attrs:{\"size\":\"tiny\",\"type\":_vm.currentOrgRole.isMain ? '' : 'warning',\"effect\":\"dark\"}},[(_vm.currentOrgRole.isMain)?_c('span',[_vm._v(\"Default\")]):_c('span',[_vm._v(\"Overwrite\")])])],1),_c('orgs.org-role-summary',{staticClass:\"current-org-role-summary\",attrs:{\"org-role\":_vm.currentOrgRole}}),(!_vm.currentOrgRole.isMain)?_c('el-tooltip',{attrs:{\"slot\":\"footer\",\"effect\":\"light\",\"placement\":\"right\",\"transition\":\"el-fade-in\",\"enterable\":false},slot:\"footer\"},[_c('orgs.org-label',{attrs:{\"slot\":\"content\",\"org\":_vm.defaultOrgRole.organization},slot:\"content\"}),_c('el-button',{attrs:{\"icon\":\"el-icon-top-right\",\"size\":\"mini\"},on:{\"click\":function($event){return _vm.onOrgRoleSelected(_vm.defaultOrgRole)}}},[_c('span',[_vm._v(\"Switch to default organization\")])])],1):_vm._e()],1),(_vm.orgRolesHistory.length > 0)?_c('div',{staticClass:\"space-y-8\"},[_c('div',{staticClass:\"flex items-center content-space-between\"},[_c('H3',[_vm._v(\"Organization History\")]),_c('small',{staticClass:\"text-disabled text-uppercase\"},[_vm._v(\"Last \"+_vm._s(_vm.orgsHistoryMaxSize)+\" records\")])],1),_c('core.list',{staticClass:\"orgs-history-list\",attrs:{\"data\":_vm.orgRolesHistory,\"label-key-path\":\"organization.name\",\"description-key-path\":_vm.compact ? undefined : 'organization.uuid',\"compact\":!_vm.compact,\"spacing\":_vm.compact ? '6px' : undefined},on:{\"select\":_vm.onOrgRoleSelected},scopedSlots:_vm._u([{key:\"accessory-right\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('orgs.org-role-tag',{attrs:{\"type\":\"info\",\"size\":\"tiny\",\"role\":item.role}}),_c('i',{staticClass:\"el-icon-top-right\"})]}}],null,false,4014802549)})],1):_vm._e()],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { OrganizationRole } from \"@Module/Orgs/Models/Roles/OrganizationRole.model\";\nimport OrgsStore, { MAX_ORGS_HISTORY_SIZE } from \"@Module/Orgs/Store/Orgs.store\";\nimport { Component, MapAction, MapGetter, mixins, Prop } from \"types-vue\";\nimport { Organization } from \"@Module/Orgs/Models/Organization.model\";\nimport OrgRoleSelector from \"../OrgRoleSelector/OrgRoleSelector\";\nimport OrgSwitchMixin from \"@Module/Orgs/Mixins/OrgSwitch.mixin\";\n\n@Component\nexport default class OrgSwitcher extends mixins(OrgSwitchMixin) {\n\n @Prop({ type: Boolean, default: false })\n protected compact: boolean;\n\n @MapGetter(OrgsStore.Mapping)\n protected defaultOrgRole: OrganizationRole;\n\n @MapGetter(OrgsStore.Mapping)\n protected canSwitchOrg: boolean;\n \n @MapGetter(OrgsStore.Mapping)\n protected orgRolesHistory: OrganizationRole[];\n\n @MapGetter(OrgsStore.Mapping)\n protected currentOrgRole: OrganizationRole;\n\n @MapGetter(OrgsStore.Mapping)\n protected currentOrgRoleParent: OrganizationRole;\n\n @MapGetter(OrgsStore.Mapping)\n protected orgRoles: OrganizationRole[];\n\n @MapAction(OrgsStore.Mapping)\n protected removeOrgFromOrgRolesHistory: (org: Organization) => Promise;\n\n protected orgsHistoryMaxSize: number = MAX_ORGS_HISTORY_SIZE;\n\n protected mockedOrgRole: OrganizationRole = null;\n\n protected created() {\n this.mockedOrgRole = Object.assign({}, this.currentOrgRole);\n }\n\n public blur() {\n (this.$refs.orgRoleSelector as OrgRoleSelector).blur();\n }\n\n protected async onOrgRoleSelected(orgRole: OrganizationRole) {\n if (this.currentOrgRole.organization.id === orgRole.organization.id) { return; }\n this.$emit(\"select\", orgRole);\n this.switchOrgRole(orgRole);\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./OrgSwitcher.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./OrgSwitcher.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OrgSwitcher.vue?vue&type=template&id=10936b3a&\"\nimport script from \"./OrgSwitcher.ts?vue&type=script&lang=ts&\"\nexport * from \"./OrgSwitcher.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./OrgSwitcher.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"flex flex-wrap container-x-16 container-y-16\"},[_c('core.details',{attrs:{\"label\":\"Expiration\"}},[_c('core.label',{attrs:{\"icon-spacing\":\"4px\",\"type\":_vm.contract.hasExpirationNotifEnabled ? 'primary' : 'disabled'}},[(_vm.contract.hasExpirationNotifEnabled)?_c('span',[_vm._v(\"Enabled\")]):_c('span',[_vm._v(\"Disabled\")]),_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":_vm.contract.hasExpirationNotifEnabled ? 'notifications-outline' : 'notifications-off-outline'},slot:\"icon\"})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Contract } from \"@Module/Licensing/Models/Contract.model\";\nimport { Component, Prop } from \"types-vue\";\nimport Vue from \"vue\";\n\n@Component\nexport default class ContractNotificationsSummary extends Vue {\n\n @Prop({ type: Object, required: true })\n protected contract: Contract;\n\n @Prop({ type: Boolean, default: false })\n protected expand: boolean;\n \n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./ContractNotificationsSummary.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./ContractNotificationsSummary.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ContractNotificationsSummary.vue?vue&type=template&id=00b36eba&\"\nimport script from \"./ContractNotificationsSummary.ts?vue&type=script&lang=ts&\"\nexport * from \"./ContractNotificationsSummary.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export enum ServiceID {\n Console = \"console\",\n Emory = \"emory\",\n Connector = \"nimbus\",\n AbapSuite = \"abap-suite\",\n Amis = \"amis\",\n}\n\nexport namespace ServiceID {\n \n export const All: ServiceID[] = [ServiceID.Emory, ServiceID.Amis, ServiceID.AbapSuite];\n export const WithLicensing: ServiceID[] = [ServiceID.Emory, ServiceID.AbapSuite];\n export const ForReports: ServiceID[] = [ServiceID.Emory, ServiceID.AbapSuite];\n\n export function nameOf(service: ServiceID) {\n switch (service) {\n case ServiceID.Emory: return \"Backup\";\n case ServiceID.AbapSuite: return \"Suite\";\n case ServiceID.Amis: return \"Pre-installed SAP\";\n }\n }\n}\n\nexport interface ServicePayload {\n readonly service: ServiceID;\n readonly data: T;\n}\n\nexport interface OptionalServicePayload {\n readonly service: ServiceID;\n readonly data?: T;\n}\n\nexport type ServiceMap = {\n [serviceId in ServiceID]?: T;\n}\n\n","import { Action, Getter, Module, Mutation, VuexModule } from \"types-vue\";\nimport { LegalStoreState } from \"./Legal.state\";\nimport { Utils } from \"@Core/Utils/Utils\";\n\nconst enum LegalStoreCommit {\n SetDataProtectionDialogVisible = \"_setDataProtectionDialogVisible\"\n}\n\n@Module({ namespaced: true })\nexport default class LegalStore extends VuexModule implements LegalStoreState {\n public static readonly Mapping = Utils.createVuexMappingOptions(\"Legal\");\n \n public _dataProtectionDialogVisible: boolean = false;\n\n @Getter()\n public dataProtectionDialogVisible() { \n return this._dataProtectionDialogVisible;\n }\n\n @Mutation()\n protected _setDataProtectionDialogVisible(visible: boolean) { \n this._dataProtectionDialogVisible = visible;\n }\n\n @Action({ commit: LegalStoreCommit.SetDataProtectionDialogVisible })\n public setDataProtectionDialogVisible(visible: boolean): boolean {\n return visible;\n }\n\n @Action({ commit: LegalStoreCommit.SetDataProtectionDialogVisible })\n public openDataProtectionDialog(): boolean {\n return true;\n }\n\n @Action({ commit: LegalStoreCommit.SetDataProtectionDialogVisible })\n public closeDataProtectionDialog(): boolean {\n return false;\n }\n \n}","import { IBackupDto } from \"../Backup.model\";\nimport { BackupObject } from \"../BackupObject.model\";\nimport { BackupAwsCloudProvider } from \"./BackupAwsCloudProvider.model\";\nimport { BackupAzureCloudProvider } from \"./BackupAzureCloudProvider.model\";\nimport { BackupGCloudCloudProvider } from \"./BackupGCloudCloudProvider.model\";\n\nexport enum CloudProviderType {\n AWS = \"AWS\",\n Azure = \"Azure\",\n GCloud = \"GCloud\"\n}\n\nexport namespace CloudProviderType {\n export const All = [ CloudProviderType.AWS, CloudProviderType.Azure, CloudProviderType.GCloud ];\n\n export function nameOf(origin: CloudProviderType): string {\n switch (origin) {\n case CloudProviderType.AWS: return \"Amazon Web Services\";\n case CloudProviderType.Azure: return \"Microsoft Azure\";\n case CloudProviderType.GCloud: return \"Google Cloud Platform\"\n }\n }\n}\n\nexport interface BackupCloudProvider {\n readonly location: string;\n readonly path: string;\n readonly encryption?: string;\n readonly encryptionKeyName?: string;\n readonly providerName: string;\n\n buildLocationUrl(object?: BackupObject): string;\n}\n\nexport namespace BackupCloudProvider {\n\n export class Factory {\n public static fromDto(dto: IBackupDto) {\n switch (dto.type as CloudProviderType) {\n case CloudProviderType.AWS: \n return BackupAwsCloudProvider.fromDto(dto);\n case CloudProviderType.Azure:\n return BackupAzureCloudProvider.fromDto(dto);\n case CloudProviderType.GCloud:\n return BackupGCloudCloudProvider.fromDto(dto);\n }\n }\n }\n}","import { BackupCloudProvider, CloudProviderType } from \"./BackupCloudProvider.model\";\nimport { BackupObject } from \"../BackupObject.model\";\nimport { IBackupDto } from \"../Backup.model\";\nimport { Utils } from \"@Core/Utils/Utils\";\n\nexport class BackupAwsCloudProvider implements BackupCloudProvider {\n private static BaseUrl: string = \"https://s3.console.aws.amazon.com\";\n\n public readonly location: string;\n public readonly path: string;\n public readonly encryption?: string;\n public readonly encryptionKeyName?: string;\n\n public readonly region: string;\n\n public static fromDto(dto: IBackupDto): BackupAwsCloudProvider {\n return new BackupAwsCloudProvider(dto);\n }\n\n protected constructor(dto: IBackupDto) {\n this.location = dto.location_name;\n this.path = dto.location_path;\n this.encryption = dto.encryption_type;\n this.encryptionKeyName = dto.encryption_key;\n this.region = dto.region;\n }\n\n public get providerName(): string {\n return CloudProviderType.nameOf(CloudProviderType.AWS);\n }\n\n public buildLocationUrl(object?: BackupObject): string {\n let url = BackupAwsCloudProvider.BaseUrl;\n if (!!this.location) { url += `/s3/${!!object ? 'object' : 'buckets'}/${this.location}`; }\n const path = object?.remotePath || this.path;\n if (!!path) { url += `/${path}${!!object ? '' : '/'}`; }\n if (!!this.region) { url += `?region=${this.region}`; }\n return Utils.sanitizeUrl(url);\n }\n}","import { BackupCloudProvider, CloudProviderType } from \"./BackupCloudProvider.model\";\nimport { BackupObject } from \"../BackupObject.model\";\nimport { IBackupDto } from \"../Backup.model\";\n\nexport class BackupAzureCloudProvider implements BackupCloudProvider {\n public readonly location: string;\n public readonly path: string;\n public readonly encryption?: string;\n public readonly encryptionKeyName?: string;\n\n public static fromDto(dto: IBackupDto): BackupAzureCloudProvider {\n return new BackupAzureCloudProvider(dto);\n }\n\n protected constructor(dto: IBackupDto) {\n this.location = dto.location_name;\n this.path = dto.location_path;\n this.encryption = dto.encryption_type;\n this.encryptionKeyName = dto.encryption_key;\n }\n\n public get providerName(): string {\n return CloudProviderType.nameOf(CloudProviderType.Azure);\n }\n\n public buildLocationUrl(object?: BackupObject): string {\n return null;\n }\n}","import { BackupCloudProvider, CloudProviderType } from \"./BackupCloudProvider.model\";\nimport { BackupObject } from \"../BackupObject.model\";\nimport { IBackupDto } from \"../Backup.model\";\n\nexport class BackupGCloudCloudProvider implements BackupCloudProvider {\n public readonly location: string;\n public readonly path: string;\n public readonly encryption?: string;\n public readonly encryptionKeyName?: string;\n\n public readonly region: string;\n\n public static fromDto(dto: IBackupDto): BackupGCloudCloudProvider {\n return new BackupGCloudCloudProvider(dto);\n }\n\n protected constructor(dto: IBackupDto) {\n this.location = dto.location_name;\n this.path = dto.location_path;\n this.encryption = dto.encryption_type;\n this.encryptionKeyName = dto.encryption_key;\n this.region = dto.region;\n }\n\n public get providerName(): string {\n return CloudProviderType.nameOf(CloudProviderType.GCloud);\n }\n\n public buildLocationUrl(object?: BackupObject): string {\n return null;\n }\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"flex flex-wrap container-x-16 container-y-16\"},[(!_vm.expand)?_c('core.details',{attrs:{\"label\":\"Status\",\"spacing\":\"3px\"}},[_c('licensing.licensing-status-tag',{attrs:{\"status\":_vm.license.status}})],1):_vm._e(),(!_vm.expand)?_c('core.details',{attrs:{\"label\":\"Dimension\",\"spacing\":\"3px\"}},[_c('el-tag',{attrs:{\"size\":\"mini\",\"effect\":\"dark\",\"type\":\"info\"}},[_vm._v(_vm._s(_vm.license.dimension))])],1):_vm._e(),_c('core.details',{attrs:{\"label\":\"License Code\"}},[_c('core.copy-label',{attrs:{\"value\":_vm.license.externalId}},[_c('el-tooltip',{attrs:{\"effect\":\"light\",\"placement\":\"top\",\"content\":_vm.license.externalId,\"disabled\":!_vm.licenseCode.includes('...'),\"open-delay\":500}},[_c('span',{staticClass:\"text-uppercase\"},[_vm._v(_vm._s(_vm.licenseCode))])])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { License } from \"@Module/Licensing/Models/License.model\";\nimport { Prop } from \"vue-property-decorator\";\nimport { Utils } from \"@Core/Utils/Utils\";\nimport { Component } from \"types-vue\";\nimport Vue from \"vue\";\n\n@Component\nexport default class LicenseGeneralSummary extends Vue {\n\n @Prop({ type: Object, required: true })\n protected license: License;\n\n @Prop({ type: Boolean, default: false })\n protected expand: boolean;\n\n protected get licenseCode(): string {\n if (this.$mq.md) return Utils.smartTrim(this.license.externalId, 8);\n else return Utils.smartTrim(this.license.externalId, 10);\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./LicenseGeneralSummary.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./LicenseGeneralSummary.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LicenseGeneralSummary.vue?vue&type=template&id=0e914aaf&\"\nimport script from \"./LicenseGeneralSummary.ts?vue&type=script&lang=ts&\"\nexport * from \"./LicenseGeneralSummary.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Header.vue?vue&type=style&index=1&id=3fb85024&lang=scss&scoped=true&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Label.vue?vue&type=style&index=0&id=a0892492&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-select',{ref:\"select\",staticClass:\"org-role-selector\",attrs:{\"size\":_vm.size,\"disabled\":_vm.orgRoles.length === 0 || _vm.loading || _vm.disabled,\"placeholder\":_vm.placeholder,\"value\":_vm.value,\"value-key\":\"organization.id\",\"multiple\":_vm.multiple,\"clearable\":_vm.clearable,\"autocomplete\":\"none\",\"auto-complete\":\"none\",\"filterable\":\"\",\"collapse-tags\":_vm.collapseTags,\"filter-method\":_vm.onSelectFilterChange,\"popper-class\":\"org-role-selector-dropdown\"},on:{\"visible-change\":_vm.onVisibleChange,\"blur\":function (e) { return _vm.$emit('blur', e); },\"change\":_vm.onSelectChange,\"clear\":_vm.onSelectClear},nativeOn:{\"!keydown\":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"up\",38,$event.key,[\"Up\",\"ArrowUp\"])){ return null; }return _vm.onKeyDown($event)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"down\",40,$event.key,[\"Down\",\"ArrowDown\"])){ return null; }return _vm.onKeyDown($event)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.onKeyDown($event)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"right\",39,$event.key,[\"Right\",\"ArrowRight\"])){ return null; }if('button' in $event && $event.button !== 2){ return null; }return _vm.onKeyDown($event)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"left\",37,$event.key,[\"Left\",\"ArrowLeft\"])){ return null; }if('button' in $event && $event.button !== 0){ return null; }return _vm.onKeyDown($event)}]}},[(!_vm.multiple || (!_vm.visibleDropdown && _vm.hasNoValue))?_c('span',{class:_vm.size === 'mini' || _vm.size === 'small' ? 'ml-4' : 'ml-6',attrs:{\"slot\":\"prefix\"},slot:\"prefix\"},[_vm._t(\"prefix\",[_c('i',{class:_vm.loading ? 'el-icon-loading' : 'el-icon-office-building'})])],2):_vm._e(),_vm._l((_vm.orgRoles),function(orgRole){return _c('el-option',{key:orgRole.organization.id,staticStyle:{\"display\":\"none\"},attrs:{\"label\":orgRole.organization.name,\"value\":orgRole,\"disabled\":true}})}),_c('orgs.org-role-tree',{ref:\"tree\",staticClass:\"tree\",attrs:{\"value\":_vm.value,\"data\":_vm.treeData,\"compact\":_vm.compact,\"multiple\":_vm.multiple,\"no-data-text\":_vm.noDataText,\"no-match-text\":_vm.noMatchText,\"disabled-items\":_vm.disabledItems,\"default-expand-all\":_vm.defaultExpandAll,\"include-no-access-roles\":_vm.includeNoAccessRoles,\"child-inset\":_vm.childInset,\"show-role\":_vm.showRole,\"no-expand\":_vm.noExpand},on:{\"change\":_vm.onTreeOrgRolesChange},nativeOn:{\"!focus\":function($event){return _vm.focus($event)}},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return _vm._t(\"default\",null,null,scope)}}],null,true)},[_vm._t(\"empty\",null,{\"slot\":\"empty\"})],2)],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { OrganizationRole } from \"@Module/Orgs/Models/Roles/OrganizationRole.model\";\nimport { UISize } from \"@Service/Settings/Store/AppSettings/AppSettings.state\";\nimport { Component, MapGetter, Prop, Watch } from \"types-vue\";\nimport OrgsStore from \"@Module/Orgs/Store/Orgs.store\";\nimport OrgRoleTree from \"../OrgRoleTree/OrgRoleTree\";\nimport { ElSelect } from \"element-ui/types/select\";\nimport { Utils } from \"@Core/Utils/Utils\";\nimport Vue from \"vue\";\n\n@Component\nexport default class OrgRoleSelector extends Vue {\n\n @Prop({ type: [Object, Array], default: null })\n protected value: OrganizationRole | OrganizationRole[];\n\n @Prop({ type: Array })\n protected data: OrganizationRole[];\n\n @Prop({ type: Boolean, default: false })\n protected childInset: boolean;\n\n @Prop({ type: Boolean })\n protected includeNoAccessRoles: boolean;\n\n @Prop({ type: String })\n protected noDataText: string;\n\n @Prop({ type: String })\n protected noMatchText: string;\n\n @Prop({ type: Boolean, default: false })\n protected disabled: boolean;\n\n @Prop({ type: String, default: null })\n protected size: UISize;\n\n @Prop({ type: Boolean, default: false })\n protected multiple: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected clearable: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected collapseTags: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected compact: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected loading: boolean;\n\n @Prop({ type: Boolean, default: true })\n protected showRole: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected defaultExpandAll: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected noExpand: boolean;\n\n @Prop({ type: String, default: \"Select an organization\" })\n protected placeholder: string;\n\n @Prop({ type: Array, default: () => [] })\n protected disabledItems: OrganizationRole[];\n\n @MapGetter(OrgsStore.Mapping)\n protected orgRoles: OrganizationRole[];\n\n @MapGetter(OrgsStore.Mapping)\n protected orgRolesHierarchy: OrganizationRole[];\n\n protected searchText: string = null;\n protected visibleDropdown: boolean = false;\n \n protected selection: OrganizationRole | OrganizationRole[] = null;\n\n @Watch(\"value\", { immediate: true })\n protected onValuePropChange(newValue: OrganizationRole | OrganizationRole[]) {\n this.selection = newValue;\n }\n\n protected async onSelectionChange(selection: OrganizationRole | OrganizationRole[]) {\n const newValue = selection || (this.multiple ? [] : null);\n \n this.$emit(\"input\", newValue);\n this.$emit(\"select\", newValue);\n this.$emit(\"change\", newValue);\n\n this.searchText = null;\n if (!this.multiple) {\n await Utils.sleep(0);\n await this.$nextTick();\n this.blur();\n }\n }\n\n protected get treeData(): OrganizationRole[] {\n return this.data || this.orgRolesHierarchy;\n }\n \n protected getOrgRoleTree(): OrgRoleTree | undefined {\n return this.$refs.tree as OrgRoleTree;\n }\n\n protected async onSelectFilterChange(text: string) {\n const tree = this.getOrgRoleTree();\n this.searchText = text || null;\n tree.filterTree(text);\n if (!this.searchText) {\n const element = tree.getSelectedTreeItem();\n if (!element) { return; }\n this.scrollToTreeItem(element);\n const orgId = parseInt(element.dataset.orgId);\n await this.$nextTick();\n tree.setHighlight(orgId);\n }\n }\n\n protected get hasNoValue(): boolean {\n if (!this.value) { \n return true; \n } else if (Array.isArray(this.value)) { \n return this.value.length === 0;\n } else {\n return false;\n }\n }\n \n protected async onVisibleChange(visible: boolean) {\n this.visibleDropdown = visible;\n if (visible) {\n const tree = this.getOrgRoleTree();\n const treeItem = tree.getSelectedTreeItem();\n if (!!treeItem) {\n tree.highlightSelectedTreeItem();\n this.scrollToTreeItem(treeItem);\n } else {\n tree.highlightFirstTreeItem();\n const firstTreeItem = tree.getFirstTreeItem();\n this.scrollToTreeItem(firstTreeItem);\n }\n } else {\n await Utils.sleep(200);\n this.searchText = null;\n this.getOrgRoleTree()?.filterTree();\n if (!this.value) {\n this.selection = null;\n }\n }\n }\n\n public focus() {\n (this.$refs.select as ElSelect).focus();\n }\n\n public blur() {\n (this.$refs.select as ElSelect).blur();\n }\n\n protected async scrollToTreeItem(treeItem: HTMLElement, options: ScrollToOptions = {}) {\n options.behavior ??= \"auto\";\n await this.$nextTick();\n const scroll: Element = (this.$refs.select as any).$refs.popper.$el.querySelector('.el-select-dropdown__wrap');\n if (!!scroll && !!treeItem) {\n const scrollOffset = (treeItem.offsetTop + treeItem.clientHeight) - (scroll.clientHeight / 2);\n scroll.scroll({ top: scrollOffset, ...options });\n }\n }\n\n protected async onKeyDown(event: KeyboardEvent) {\n const tree = this.getOrgRoleTree();\n\n if (event.key === \"Enter\") {\n tree.selectCurrentTreeItem();\n return;\n } else if (event.key === \"ArrowRight\") {\n tree.setCurrentTreeItemExpand(true);\n return;\n } else if (event.key === \"ArrowLeft\") {\n tree.setCurrentTreeItemExpand(false);\n return;\n }\n\n if (event.key === \"ArrowUp\") {\n tree.navigateTreeItems(\"prev\");\n } else if (event.key === \"ArrowDown\") {\n tree.navigateTreeItems(\"next\");\n }\n await this.$nextTick();\n const treeItem = tree.getCurrentTreeItem();\n this.scrollToTreeItem(treeItem, { behavior: \"smooth\" });\n }\n\n protected onSelectChange(selection: OrganizationRole | OrganizationRole[]) {\n this.selection = selection;\n this.onSelectionChange(selection);\n }\n\n protected onTreeOrgRolesChange(selection: OrganizationRole | OrganizationRole[]) {\n this.onSelectionChange(selection);\n }\n\n protected onSelectClear() {\n this.onSelectionChange(null);\n }\n\n protected get isMini() {\n return this.size === \"mini\"\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./OrgRoleSelector.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./OrgRoleSelector.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OrgRoleSelector.vue?vue&type=template&id=020f298e&scoped=true&\"\nimport script from \"./OrgRoleSelector.ts?vue&type=script&lang=ts&\"\nexport * from \"./OrgRoleSelector.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./OrgRoleSelector.vue?vue&type=style&index=0&lang=scss&\"\nimport style1 from \"./OrgRoleSelector.vue?vue&type=style&index=1&id=020f298e&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"020f298e\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AuthPage.vue?vue&type=style&index=0&id=7e1ad39c&lang=scss&scoped=true&\"","export const enum ExportFormat {\n CSV = \"csv\",\n XLS = \"xls\"\n}","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConsoleHub.vue?vue&type=style&index=1&id=c6c27fea&lang=scss&scoped=true&\"","import { DirectiveBinding } from \"vue/types/options\";\nimport { DirectiveOptions } from \"vue/types/umd\";\nimport { VNode } from \"vue/types/vnode\";\n\nexport namespace VueClickOutside {\n export const Name = \"click-outside\";\n export const Definition: DirectiveOptions = {\n bind: (el: HTMLElement & { clickOutsideEvent: (event: any) => void }, binding: DirectiveBinding, vnode: VNode): void => {\n el.clickOutsideEvent = function(event: any) {\n // here I check that click was outside the el and his childrens\n if (!(el == event.target || el.contains(event.target))) {\n // and if it did, call method provided in attribute value\n vnode.context[binding.expression](event);\n }\n };\n document.body.addEventListener(\"click\", el.clickOutsideEvent);\n },\n unbind: (el: HTMLElement & { clickOutsideEvent: (event: any) => void }) => {\n document.body.removeEventListener(\"click\", el.clickOutsideEvent);\n }\n };\n}","export namespace Capitalize {\n export const name = \"capitalize\";\n export const filter = (value: any) => {\n if (!value) return '';\n value = value.toString();\n return value.charAt(0).toUpperCase() + value.slice(1);\n }\n}","import pluralize from 'pluralize';\n\nexport namespace Pluralize {\n export const name = \"pluralize\";\n export const filter = (value: any, quantity: number) => {\n return pluralize(value, quantity);\n }\n}\n","const requireModule = require.context('../../Services', true, /router\\.ts$/);\nlet modules: any = [];\n\nrequireModule.keys().forEach((filename: string) => {\n const content = requireModule(filename).default || requireModule(filename)\n modules = [\n ...modules,\n ...content\n ]\n});\n\nexport default modules;","import Vue from 'vue';\nimport VueRouter, { RouteConfig } from 'vue-router';\nimport modulesRoutes from './modules';\n\nVue.use(VueRouter);\n\nconst routes: Array = [\n {\n path: '/',\n name: 'App',\n redirect: { name: \"cxlink\" }\n },\n ...modulesRoutes\n];\n\nconst router = new VueRouter({\n routes,\n mode: 'hash'\n});\n\nexport default router;\n","const requireModule = require.context('../../', true, /\\.store\\.ts$/);\nconst modules: any = {};\n\nrequireModule.keys().forEach((filename: string) => {\n const moduleName = filename\n .split('/')\n .reverse()[0]\n .replace('.store.ts', '')\n modules[moduleName] = requireModule(filename).default || requireModule(filename);\n});\n\nexport default modules;","\nimport Vue from 'vue';\nimport Vuex, { Store } from 'vuex';\nimport modules from './modules';\n\nVue.use(Vuex);\n\nconst store = new Store({\n state: {},\n modules\n});\n\nexport default store;","export enum LogLevel {\n Trace, Debug, Info, Warn, Error\n}\n\nexport interface LogStyle {\n foreground: string;\n background: string;\n}\n\nexport interface LoggerConfig {\n logLevel?: LogLevel,\n prependLevel?: boolean;\n style?: LogStyle;\n prefix?: string;\n}","export const enum RunningMode {\n Local = \"local\",\n Development = \"development\",\n Production = \"production\"\n}\n\nexport class Env {\n\n public static get RunningMode(): RunningMode {\n return process.env.VUE_APP_ENV as RunningMode;\n }\n\n public static get isLocal(): boolean { return Env.RunningMode === RunningMode.Local; }\n public static get isDevelopment(): boolean { return Env.RunningMode === RunningMode.Development; }\n public static get isProduction(): boolean { return Env.RunningMode === RunningMode.Production; }\n\n}","import { LoggerConfig, LogLevel } from './LoggerConfig';\nimport DeepMerge from \"lodash.merge\";\nimport { Env } from '../Utils/Env';\n\nexport class Logger {\n public static readonly default: Logger = Logger.create();\n public static sharedConfig: LoggerConfig = {} as LoggerConfig;\n private static defaultConfig: LoggerConfig = {\n logLevel: Env.isDevelopment || Env.isLocal\n ? LogLevel.Debug \n : LogLevel.Error,\n prependLevel: true\n };\n\n private readonly config: LoggerConfig;\n\n private get mergedConfig(): LoggerConfig {\n return DeepMerge(Logger.defaultConfig, this.config, Logger.sharedConfig);\n }\n\n public get logLevel(): LogLevel {\n return this.mergedConfig.logLevel;\n }\n\n private constructor(config: LoggerConfig = Logger.defaultConfig) {\n this.config = config;\n }\n\n public static create(config?: LoggerConfig): Logger {\n return new Logger(config);\n }\n\n public trace(message?: any, ...params: any[]): void {\n this.log(LogLevel.Trace, message, ...params);\n }\n\n public debug(message?: any, ...params: any[]): void {\n this.log(LogLevel.Debug, message, ...params);\n }\n\n public info(message?: any, ...params: any[]): void {\n this.log(LogLevel.Info, message, ...params);\n }\n\n public warning(message?: any, ...params: any[]): void {\n this.log(LogLevel.Warn, message, ...params);\n }\n\n public error(message?: any, ...params: any[]): void {\n this.log(LogLevel.Error, message, ...params);\n }\n\n private log(level: LogLevel, message?: any, ...params: any[]): void {\n if (!console) return;\n const config = this.mergedConfig;\n if (level < config.logLevel) return;\n let logMessage = !!config.prependLevel ? `[${LogLevel[level]}] ${message}` : message;\n logMessage = !!config.prefix ? `${config.prefix} ${logMessage}` : logMessage;\n let logParams = params;\n if (level === LogLevel.Error) {\n console.error(logMessage, ...logParams);\n } else if (level === LogLevel.Warn) {\n console.warn(logMessage, ...logParams);\n } else {\n const logStyle = !!config.style ? `background:${config.style.background};color:${config.style.foreground};` : undefined;\n logMessage = !!logStyle ? `%c${logMessage}` : logMessage;\n logParams = !!logStyle ? [logStyle, ...params] : params;\n if (level === LogLevel.Info) {\n console.info(logMessage, ...logParams);\n } else {\n console.debug(logMessage, ...logParams);\n }\n }\n }\n\n}","import { Vue } from 'types-vue'\nimport { Logger } from '../Log/Logger';\n\nconst requireModule = require.context('../../', true, /\\.vue$/);\n\nconst kebabize = (str: string) => {\n return str.split('').map((letter, idx) => {\n return letter.toUpperCase() === letter\n ? `${idx !== 0 ? '-' : ''}${letter.toLowerCase()}`\n : letter;\n }).join('');\n}\n\nrequireModule.keys()\n .filter(fileName => fileName.includes('/Components/'))\n .map(filename => {\n const separateFileName = filename.split('/').filter(part => part !== \"Components\");\n const componentname = separateFileName.pop().split('.')[0];\n const modulename = (['Modules', 'Services'].includes(separateFileName[1]))\n ? separateFileName[2] // es un modulo/servicio\n : separateFileName[1]; // es el core\n return { filename, modulename, componentname }\n })\n .forEach(({ filename, modulename, componentname }) => {\n const component = requireModule(filename).default || requireModule(filename);\n const modName = kebabize(modulename).toLowerCase();\n const cmpName = kebabize(componentname).toLowerCase();\n // const cmpTag = !cmpName.startsWith(modName) ? `${modName}-${cmpName}` : cmpName;\n const cmpTag = `${modName}.${cmpName}`;\n Logger.default.debug(`[√] Loaded component '${filename}' as '${cmpTag}'`);\n Vue.component(cmpTag, component);\n });","import { VueClickOutside } from './Directives/ClickOutside';\nimport BrowserDetect from \"vue-browser-detect-plugin\";\nimport locale from 'element-ui/lib/locale/lang/en'\nimport VueProgressBar from 'vue-progressbar';\nimport VueCookies from 'vue-cookies';\nimport ElementUI from 'element-ui';\nimport DayJS from \"dayjs\";\nimport RelativeTime from \"dayjs/plugin/relativeTime\";\nimport LocalizedFormat from \"dayjs/plugin/localizedFormat\";\nimport Duration from \"dayjs/plugin/duration\";\nimport UTC from \"dayjs/plugin/utc\";\nimport AxiosRetry from 'axios-retry';\nimport MQ from 'vue-match-media';\nimport VueHotkey from 'v-hotkey';\nimport \"reflect-metadata\";\n\nimport { Capitalize } from './Filters/Capitalize';\nimport { Pluralize } from \"./Filters/Pluralize\";\n\nimport Router from './Router';\nimport Store from './Store';\nimport App from './App.vue';\nimport Vue from 'vue';\n\nimport './Styles/header.css';\nimport './Styles/element/index.scss';\nimport './Styles/index.scss';\n\nimport './Components';\nimport AppConfig from './AppConfig';\nimport AxiosAPI from './API/AxiosAPI';\nimport { Env } from './Utils/Env';\n\nAxiosRetry(AxiosAPI.axios, { \n retries: 3, \n retryDelay: AxiosRetry.exponentialDelay \n});\n\nVue.config.ignoredElements = [\"ion-icon\"];\nVue.config.productionTip = false;\nVue.$router = Router;\nVue.$ENV = Env;\n\nVue.directive(VueClickOutside.Name, VueClickOutside.Definition);\n\nVue.filter(Capitalize.name, Capitalize.filter);\nVue.filter(Pluralize.name, Pluralize.filter);\n\nVue.prototype.$ENV = Env;\nVue.use(ElementUI, { locale, size: \"large\" });\nVue.prototype.$ELEMENT = AppConfig;\nVue.use(VueCookies);\nVue.use(VueHotkey);\nVue.use(BrowserDetect);\nVue.use(MQ);\nVue.use(VueProgressBar, { position: \"absolute\" });\n\n\nDayJS.extend(RelativeTime);\nDayJS.extend(LocalizedFormat);\nDayJS.extend(Duration);\nDayJS.extend(UTC);\n\nnew Vue({\n router: Router,\n store: Store,\n render: (h) => h(App),\n mq: {\n xs: \"screen and (max-width: 480px)\",\n sm: \"screen and (max-width: 640px)\",\n md: \"screen and (max-width: 768px)\",\n lg: \"screen and (max-width: 1124px)\",\n xl: \"screen and (max-width: 1536px)\",\n xxl: \"screen and (min-width: 1700px)\"\n }\n} as any).$mount('#app');\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('core.layout',{staticClass:\"license-details-view\"},[_c('core.query-param',{attrs:{\"name\":\"expand\",\"type\":\"number-array\"},model:{value:(_vm.expandedRows),callback:function ($$v) {_vm.expandedRows=$$v},expression:\"expandedRows\"}}),_c('core.query-param',{attrs:{\"name\":\"search\",\"delay\":400},model:{value:(_vm.filters.search),callback:function ($$v) {_vm.$set(_vm.filters, \"search\", $$v)},expression:\"filters.search\"}}),_c('core.query-param',{attrs:{\"name\":\"sid\",\"type\":\"string-array\"},model:{value:(_vm.filters.sIds),callback:function ($$v) {_vm.$set(_vm.filters, \"sIds\", $$v)},expression:\"filters.sIds\"}}),_c('core.query-param',{attrs:{\"name\":\"hostname\",\"type\":\"string-array\"},model:{value:(_vm.filters.hostnames),callback:function ($$v) {_vm.$set(_vm.filters, \"hostnames\", $$v)},expression:\"filters.hostnames\"}}),_c('core.query-param',{attrs:{\"name\":\"version\",\"type\":\"string-array\"},model:{value:(_vm.filters.versions),callback:function ($$v) {_vm.$set(_vm.filters, \"versions\", $$v)},expression:\"filters.versions\"}}),(!!_vm.license && _vm.permissions.CanRegisterHosts && _vm.canOperateWithLicense)?_c('licensing.host-registration-dialog',{ref:\"hostRegistrationDialog\",attrs:{\"service-id\":_vm.serviceId}}):_vm._e(),_c('div',{staticClass:\"space-y-16\"},[_c('div',{staticClass:\"flex items-center\"},[_c('core.title',{attrs:{\"allow-navigation\":!!_vm.previousRoute},on:{\"back\":function($event){return _vm.$router.back()}}},[_c('core.label',{attrs:{\"icon-size\":\"18px\",\"icon-spacing\":\".5rem\"}},[_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"reader-outline\"},slot:\"icon\"}),_c('H1',[_vm._v(\"License Details\")])],1)],1),(!!_vm.license)?_c('div',{staticClass:\"flex-1 flex content-end space-x-8\"},[(_vm.permissions.CanListContracts && _vm.isOwnedByCurrentOrg)?_c('el-button',{attrs:{\"type\":\"default\",\"size\":\"small\"},on:{\"click\":function($event){return _vm.viewContract(_vm.license)}}},[_c('span',{staticClass:\"space-x-8 flex items-center\"},[_c('ion-icon',{attrs:{\"name\":\"receipt-outline\"}}),_c('span',[_vm._v(\"View license contract\")])],1)]):_vm._e(),(_vm.permissions.CanRegisterHosts && _vm.canOperateWithLicense)?_c('el-button',{attrs:{\"disabled\":!_vm.license.hasAvailability,\"size\":\"small\",\"type\":\"primary\"},on:{\"click\":function($event){return _vm.$refs.hostRegistrationDialog.open(_vm.license)}}},[_c('span',{staticClass:\"space-x-6 flex items-center\"},[_c('ion-icon',{attrs:{\"name\":\"link-outline\"}}),_c('span',[_vm._v(\"Register a host\")])],1)]):_vm._e()],1):_vm._e()],1),(_vm.getLicenseById.loading)?_c('core.loading',{attrs:{\"label\":\"Fetching license...\"}}):_vm._e(),(!!_vm.error)?_c('div',[(_vm.error.isFatal)?_c('core.redirect-alert',{attrs:{\"redirect-target\":_vm.currentRoute.service.path,\"title\":\"Fatal error\",\"description\":_vm.error.message}}):_c('core.alert',{attrs:{\"type\":\"error\",\"title\":\"License error\",\"description\":_vm.error.message,\"closable\":false}})],1):(!!_vm.license)?_c('div',{staticClass:\"space-y-16\"},[_c('core.card',{staticClass:\"flex-1\",attrs:{\"bordered\":_vm.isPlainUi}},[_c('licensing.license-summary',{attrs:{\"license\":_vm.license}})],1),(_vm.permissions.CanListHosts)?_c('div',{staticClass:\"space-y-8 pt-4\"},[_c('core.label',[_c('H2',[_vm._v(\"Hosts\")]),_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"grid-outline\"},slot:\"icon\"})],1),_c('div',{staticClass:\"flex pt-4 space-x-16\"},[_c('div',{staticClass:\"host-table-col flex-1 space-y-16\"},[_c('core.card',{attrs:{\"bordered\":_vm.isPlainUi,\"no-padding\":\"\"}},[_c('div',{staticClass:\"flex flex-wrap container-x-16 container-y-16 p-x-16 pt-16\"},[_c('el-input',{staticClass:\"free-text-filter flex-1\",attrs:{\"disabled\":!_vm.hasHosts,\"prefix-icon\":\"el-icon-search\",\"placeholder\":\"Search license hosts\",\"clearable\":\"\"},model:{value:(_vm.filters.search),callback:function ($$v) {_vm.$set(_vm.filters, \"search\", $$v)},expression:\"filters.search\"}}),(_vm.$mq.lg)?_c('core.filters-drawer',{attrs:{\"clear-disabled\":!_vm.filters.isFiltering},on:{\"clear\":_vm.clearFilters}},[_c('licensing.host-filters-panel',{staticClass:\"host-filters-col\",attrs:{\"data\":_vm.licenseHosts,\"disabled\":!_vm.hasHosts,\"service-id\":_vm.serviceId},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return _vm._t(\"host-filters\",null,null,scope)}}],null,true),model:{value:(_vm.filters),callback:function ($$v) {_vm.filters=$$v},expression:\"filters\"}})],1):_vm._e()],1),_c('el-table',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.unregisterLicenseHost.loading),expression:\"unregisterLicenseHost.loading\"}],attrs:{\"data\":_vm.filteredLicenseHosts,\"row-key\":\"id\",\"empty-text\":\" \",\"tooltip-effect\":\"light\",\"expand-row-keys\":_vm.expandedRowIds},on:{\"expand-change\":_vm.toggleExpansion,\"row-click\":_vm.toggleExpansion}},[(!_vm.hasHosts && !_vm.getLicenseById.loading)?_c('core.empty',{attrs:{\"slot\":\"empty\"},slot:\"empty\"},[_c('span',[_vm._v(\"This license has no registered hosts.\")]),_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"grid-outline\"},slot:\"icon\"}),(_vm.permissions.CanRegisterHosts && _vm.canOperateWithLicense)?_c('el-button',{attrs:{\"size\":\"small\",\"disabled\":!_vm.license.hasAvailability,\"type\":\"primary\"},on:{\"click\":function($event){return _vm.$refs.hostRegistrationDialog.open(_vm.license)}}},[_c('span',{staticClass:\"space-x-6 flex items-center\"},[_c('ion-icon',{attrs:{\"name\":\"link-outline\"}}),_c('span',[_vm._v(\"Register a host\")])],1)]):_vm._e()],1):(_vm.filteredLicenseHosts.length === 0 && !_vm.getLicenseById.loading)?_c('core.empty',{attrs:{\"slot\":\"empty\"},slot:\"empty\"},[_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"grid-outline\"},slot:\"icon\"}),_c('div',{staticClass:\"flex-y space-y-16 items-center\"},[_c('span',[_vm._v(\"No host meets your filtering criteria.\")]),_c('el-button',{staticClass:\"w-max-content\",attrs:{\"size\":\"small\",\"icon\":\"el-icon-delete\"},on:{\"click\":_vm.clearFilters}},[_c('span',[_vm._v(\"Clear filters\")])])],1)],1):_vm._e(),_c('el-table-column',{attrs:{\"type\":\"expand\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar row = ref.row;\nreturn _c('div',{staticClass:\"space-y-16\"},[_c('div',{staticClass:\"flex items-center content-space-between\"},[_c('H2',[_vm._v(\"Host #H\"+_vm._s(row.id))])],1),_c('div',{staticClass:\"space-y-16\"},[_c('licensing.host-summary',{attrs:{\"host\":row}},[_vm._t(\"extension\",null,{\"host\":row},_vm.slotScope)],2),(_vm.canOperateWithLicense && (_vm.permissions.CanRecoverLicenseFile || _vm.permissions.CanUnregisterHosts))?_c('div',{staticClass:\"flex items-center content-space-between\"},[(_vm.permissions.CanRecoverLicenseFile && !row.hasExpired)?_c('el-button',{attrs:{\"size\":\"small\",\"loading\":_vm.recoverLicense.loading,\"icon\":\"el-icon-download\",\"type\":\"primary\"},on:{\"click\":function($event){return _vm.recoverLicenseFile(row)}}},[(_vm.recoverLicense.loading)?_c('span',[_vm._v(\"Recovering license file...\")]):_c('span',[_vm._v(\"Recover license file\")])]):_vm._e(),(_vm.permissions.CanUnregisterHosts)?_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"danger\",\"loading\":_vm.unregisterLicenseHost.loading},on:{\"click\":function($event){return _vm.unregisterExistingHost(row)}}},[_c('ion-icon',{staticClass:\"mr-6\",attrs:{\"name\":\"unlink-outline\"}}),_c('span',[_vm._v(\"Unregister host\")])],1):_vm._e()],1):_vm._e()],1)])}}],null,true)}),_c('el-table-column',{attrs:{\"prop\":\"hostname\",\"label\":\"Hostname\",\"sortable\":_vm.hasHosts,\"min-width\":\"145\",\"show-overflow-tooltip\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar row = ref.row;\nreturn _c('el-tag',{staticClass:\"w-max-full\",attrs:{\"size\":\"mini\",\"disable-transitions\":\"\",\"closable\":_vm.permissions.CanUnregisterHosts && _vm.canOperateWithLicense},on:{\"close\":function($event){return _vm.unregisterExistingHost(row)}}},[_c('core.label',{staticClass:\"w-full text-ellipsis\",attrs:{\"value\":row.hostname,\"icon-spacing\":\"4px\"}},[_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"link-outline\"},slot:\"icon\"})],1)],1)}}],null,false,3518344653)}),_c('el-table-column',{attrs:{\"prop\":\"sid\",\"label\":\"SID\",\"sortable\":_vm.hasHosts,\"min-width\":\"145\",\"show-overflow-tooltip\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar row = ref.row;\nreturn _c('el-tag',{staticClass:\"w-max-full\",attrs:{\"size\":\"mini\",\"effect\":\"dark\",\"type\":\"info\",\"disable-transitions\":\"\"}},[_c('span',{staticClass:\"text-ellipsis\"},[_vm._v(_vm._s(row.sid))])])}}],null,false,1720042794)}),(!_vm.$mq.md)?_c('el-table-column',{attrs:{\"prop\":\"creation\",\"label\":\"Creation\",\"sortable\":_vm.hasHosts,\"sort-method\":function (a, b) { return a.creation.diff(b.creation); },\"min-width\":\"145\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar row = ref.row;\nreturn _c('core.date-label',{attrs:{\"format\":\"MM/DD/YY HH:mm\",\"date\":row.creation}})}}],null,false,1657272821)}):_vm._e(),_c('el-table-column',{attrs:{\"prop\":\"expiration\",\"label\":\"Expiration\",\"sortable\":_vm.hasHosts,\"sort-method\":function (a, b) { return a.expiration.diff(b.expiration); },\"min-width\":\"145\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar row = ref.row;\nreturn _c('core.date-label',{attrs:{\"format\":\"MM/DD/YY HH:mm\",\"date\":row.expiration}})}}],null,false,655360663)}),_vm._t(\"columns\",null,null,_vm.slotScope)],2)],1)],1),(!_vm.$mq.lg)?_c('div',{staticClass:\"flex-none space-y-16\"},[_c('div',{staticClass:\"host-filters-col\"},[_c('core.filters-collapse',{attrs:{\"filtering\":_vm.filters.isFiltering,\"bordered\":_vm.isPlainUi,\"disabled\":!_vm.filters.isFiltering},on:{\"clear\":_vm.clearFilters}},[_c('licensing.host-filters-panel',{attrs:{\"data\":_vm.licenseHosts,\"disabled\":!_vm.hasHosts,\"service-id\":_vm.serviceId},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return _vm._t(\"host-filters\",null,null,scope)}}],null,true),model:{value:(_vm.filters),callback:function ($$v) {_vm.filters=$$v},expression:\"filters\"}})],1)],1)]):_vm._e()])],1):_vm._e()],1):_vm._e()],1),_vm._t(\"default\",null,null,_vm.slotScope)],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import LicensingStore, { FetchLicenseByIdPayload, UnregisterHostPayload } from \"@Module/Licensing/Store/Licensing.store\";\nimport { LicenseSharingNotification } from \"@Module/Notifications/Models/LicenseSharingNotification.model\";\nimport { LicenseReturnNotification } from \"@Module/Notifications/Models/LicenseReturnNotification.model\";\nimport NotificationsOutboxStore from \"@Module/Notifications/Store/NotificationsOutbox.store\";\nimport NotificationsInboxStore from \"@Module/Notifications/Store/NotificationsInbox.store\";\nimport AppSettingsStore from \"@Service/Settings/Store/AppSettings/AppSettings.store\";\nimport { Component, MapAction, MapGetter, mixins, Prop, Watch } from \"types-vue\";\nimport { Permission } from \"@Module/Auth/Models/Roles/Permissions.model\";\nimport { HostFilters } from \"@Module/Licensing/Models/HostFilters.model\";\nimport { AccessRole } from \"@Module/Auth/Models/Roles/AccessRole.model\";\nimport NavigationStore from \"@Core/Store/Navigation/Navigation.store\";\nimport { Organization } from \"@Module/Orgs/Models/Organization.model\";\nimport { License } from \"@Module/Licensing/Models/License.model\";\nimport FileDownloadMixin from \"@Core/Mixins/FileDownload.mixin\";\nimport LicensingApi from \"@Module/Licensing/API/Licensing.api\";\nimport { ServiceID, ServiceMap } from \"@Service/ServiceID\";\nimport { Host } from \"@Module/Licensing/Models/Host.model\";\nimport { ConsoleError } from \"@Core/Errors/ConsoleError\";\nimport { ConsoleRoute } from \"@Core/Models/ConsoleRoute\";\nimport AuthStore from \"@Module/Auth/Store/Auth.store\";\nimport OrgsStore from \"@Module/Orgs/Store/Orgs.store\";\nimport { Execution } from \"@Core/Models/Execution\";\nimport { Notify } from \"@Core/Utils/Notify\";\n\n@Component\nexport default class LicenseDetailsView extends mixins(FileDownloadMixin) {\n\n @Prop({ type: String, required: true })\n protected serviceId: ServiceID;\n\n @Prop({ type: Object, default: () => HostFilters.create() })\n protected filters: HostFilters;\n \n @MapGetter(NavigationStore.Mapping)\n protected previousRoute: ConsoleRoute;\n\n @MapGetter(NavigationStore.Mapping)\n protected currentRoute: ConsoleRoute;\n\n @MapGetter(AppSettingsStore.Mapping)\n protected isPlainUi: boolean;\n \n @MapGetter(LicensingStore.Mapping)\n protected licenses: ServiceMap;\n\n @MapGetter(AuthStore.Mapping)\n protected accessRole: AccessRole;\n\n @MapGetter(OrgsStore.Mapping)\n protected currentOrg: Organization;\n\n @MapGetter(NotificationsOutboxStore.Mapping)\n protected orgLicenseSharingOutbox: LicenseSharingNotification[];\n \n @MapGetter(NotificationsOutboxStore.Mapping)\n protected orgLicenseReturnOutbox: LicenseReturnNotification[];\n\n @MapAction(LicensingStore.Mapping)\n protected fetchLicenseById: (payload: FetchLicenseByIdPayload) => Promise;\n \n @MapAction(LicensingStore.Mapping)\n protected unregisterHost: (payload: UnregisterHostPayload) => Promise;\n\n @MapAction(NotificationsOutboxStore.Mapping)\n protected fetchPendingLicenseExchanges: () => Promise;\n\n @MapAction(NotificationsInboxStore.Mapping)\n protected fetchInbox: () => Promise;\n\n protected error: ConsoleError = null;\n protected expandedRows: number[] = [];\n \n \n protected recoverLicense = Execution.create(LicensingApi.recoverLicenseFile, LicensingApi);\n protected getLicenseById = Execution.create(\n (licenseId: number) => this.fetchLicenseById({\n service: this.serviceId,\n data: licenseId\n }));\n\n protected unregisterLicenseHost = Execution.create(\n (hostId: number) => this.unregisterHost({ \n service: this.serviceId, \n data: hostId\n }));\n\n protected getPendingExchanges = Execution.create(() => {\n return Promise.all([\n this.fetchInbox(),\n this.fetchPendingLicenseExchanges()\n ]);\n });\n\n protected created() {\n if (this.permissions.CanShareLicenses) {\n this.getPendingExchanges.run();\n }\n }\n\n @Watch(\"licenseHosts\")\n protected onTableDataChange(data: Host[]) {\n this.expandedRows = this.expandedRows.filter(id => data.some(host => host.id === id));\n if (data.length === 1 && this.expandedRows.length === 0) {\n this.expandedRows = [data[0].id];\n }\n }\n\n protected get serviceLicenses(): License[] {\n return this.licenses[this.serviceId] || [];\n }\n\n protected get license(): License {\n const licenseId = Number(this.$route.params.id);\n return this.serviceLicenses.find(license => license.id === licenseId);\n }\n\n protected get licenseHosts(): Host[] {\n return this.license?.hosts || [];\n }\n\n protected get filteredLicenseHosts(): Host[] {\n return this.licenseHosts.filter(host => host.meetFilters(this.filters));\n }\n\n protected get hasHosts(): boolean {\n return (this.license?.hostCount ?? 0) > 0;\n }\n\n protected get hasMoreThanOneHost(): boolean {\n return (this.license?.hostCount ?? 0) > 1;\n }\n\n protected clearFilters() {\n this.filters.reset();\n }\n\n protected get canOperateWithLicense(): boolean {\n return !this.license.isShared || this.license.isSharedToOrg(this.currentOrg);\n } \n\n protected get isOwnedByCurrentOrg(): boolean {\n return this.license?.isOwnedByOrg(this.currentOrg) ?? false;\n }\n\n protected get licenseExchangePending() {\n return this.licenseSharingPending || this.licenseReturnPending\n }\n\n protected get licenseSharingPending() {\n return !!this.license \n ? this.orgLicenseSharingOutbox.find(noti => noti.isLicenseIncluded(this.license))\n : null;\n }\n\n protected get licenseReturnPending() {\n return !!this.license \n ? this.orgLicenseReturnOutbox.find(noti => noti.isLicenseIncluded(this.license))\n : null;\n }\n\n protected get expandedRowIds(): number[] {\n return this.expandedRows\n .filter(id => this.filteredLicenseHosts.some(h => h.id === id));\n }\n \n protected toggleExpansion(host: Host) {\n const index = this.expandedRows.indexOf(host.id);\n if (index >= 0) {\n this.expandedRows.splice(index, 1);\n } else {\n this.expandedRows = [host.id];\n }\n }\n\n protected async unregisterExistingHost(host: Host) { \n try {\n await this.$confirm(`Are you sure you want to unregister the selected host (${host.hostname}) from this license?`, \"Unregister confirmation\", {\n confirmButtonText: \"Unregister host\",\n cancelButtonText: 'Cancel',\n type: 'warning'\n });\n } catch { return; }\n\n await this.unregisterLicenseHost.run(host.id);\n if (!!this.unregisterLicenseHost.error) {\n Notify.Error({ title: \"Unregistration Error\", message: this.unregisterLicenseHost.error.message });\n } else {\n Notify.Success({ title: \"Unregistration Success\", message: \"Your host has been successfully unregistered.\" });\n }\n }\n\n protected viewContract(license: License) {\n this.$emit(\"select-contract\", license);\n }\n\n protected async recoverLicenseFile(host: Host) {\n const licenseRecovery = await this.recoverLicense.run(host.id, this.serviceId);\n if (!!this.recoverLicense.error) {\n Notify.Error({\n title: \"License recovering error\",\n message: this.recoverLicense.error.message,\n duration: 3000\n });\n } else {\n this.downloadFile(host.externalId, licenseRecovery.hostContent);\n }\n }\n\n @Watch(\"$route.params.id\", { immediate: true })\n protected async onParamsOrSessionChange() {\n this.error = null;\n this.getLicenseById.reset();\n await this.$nextTick();\n \n const licenseId = Number(this.$route.params.id);\n if (isNaN(licenseId)) {\n const errorMsg = `Invalid license identifier '${this.$route.params.id}'.`;\n this.error = new ConsoleError(errorMsg, { fatal: true, meta: { licenseId: this.$route.params.id } });\n return;\n }\n \n const license = this.serviceLicenses.some(license => license.id === licenseId);\n if (!license) {\n await this.getLicenseById.run(licenseId);\n if (!!this.getLicenseById.error) {\n const errorMsg = `License with identifier ${this.$route.params.id} was not found.`;\n this.error = new ConsoleError(errorMsg, { fatal: true, meta: { licenseId: this.$route.params.id } });\n return;\n }\n }\n }\n\n protected get permissions() {\n return {\n CanListContracts: this.accessRole.can(this.serviceId, Permission.ListContracts),\n CanListLicenses: this.accessRole.can(this.serviceId, Permission.ListLicenses),\n CanListHosts: this.accessRole.can(this.serviceId, Permission.ListHosts),\n CanRegisterHosts: this.accessRole.can(this.serviceId, Permission.RegisterHost),\n CanUnregisterHosts: this.accessRole.can(this.serviceId, Permission.UnregisterHost),\n CanRecoverLicenseFile: this.accessRole.can(this.serviceId, Permission.RecoverLicenseFile),\n CanShareLicenses: this.accessRole.can(this.serviceId, Permission.ShareLicenses)\n }\n }\n\n protected get slotScope() {\n return {\n license: this.license,\n error: this.getLicenseById.error,\n loading: this.getLicenseById.loading,\n hasRecords: this.hasHosts,\n exchangeStatus: {\n isPending: !!this.licenseExchangePending,\n sharing: this.licenseSharingPending,\n return: this.licenseReturnPending\n },\n data: { \n original: this.licenseHosts, \n filtered: this.filteredLicenseHosts\n }\n }\n }\n\n}","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--13-3!./LicenseDetailsView.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--13-3!./LicenseDetailsView.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LicenseDetailsView.vue?vue&type=template&id=48ad64ed&scoped=true&\"\nimport script from \"./LicenseDetailsView.ts?vue&type=script&lang=ts&\"\nexport * from \"./LicenseDetailsView.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./LicenseDetailsView.vue?vue&type=style&index=0&id=48ad64ed&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"48ad64ed\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TrialCounter.vue?vue&type=style&index=1&id=69466f9d&lang=scss&scoped=true&\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DimensionSelectorOption.vue?vue&type=style&index=0&id=4fa70d03&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-popover',{staticClass:\"dimension-slot\",attrs:{\"popper-class\":\"dimensions-list-popover\",\"width\":\"250\",\"title\":\"Trial Dimensions\",\"placement\":\"bottom-start\",\"transition\":\"el-zoom-in-bottom\",\"disabled\":_vm.disabled || !_vm.hasDimensions || _vm.isSingleOption},model:{value:(_vm.popoverVisible),callback:function ($$v) {_vm.popoverVisible=$$v},expression:\"popoverVisible\"}},[_c('core.card',{attrs:{\"slot\":\"reference\",\"selectable\":!_vm.disabled && !_vm.isSingleOption,\"selected\":!!_vm.value,\"no-padding\":\"\",\"bordered\":\"\",\"dashed\":\"\"},slot:\"reference\"},[_c('div',{staticClass:\"slot-content flex items-center content-center full\",class:_vm.slotClass},[_c('transition',{attrs:{\"name\":\"el-zoom-in-top\"}},[(!!_vm.value)?_c('ion-icon',{staticClass:\"check-corner\",attrs:{\"name\":\"bag-check\"}}):_vm._e()],1),_c('el-skeleton',{attrs:{\"loading\":_vm.loading,\"animated\":\"\"}},[_c('div',{staticClass:\"space-y-4\",attrs:{\"slot\":\"template\"},slot:\"template\"},[_c('el-skeleton-item',{staticStyle:{\"width\":\"90px\"},attrs:{\"variant\":\"h3\"}}),_c('div',{staticStyle:{\"line-height\":\"normal\",\"width\":\"130px\"}},[_c('el-skeleton-item',{attrs:{\"variante\":\"caption\"}}),_c('el-skeleton-item',{attrs:{\"variante\":\"caption\"}})],1)],1),_c('div',{staticClass:\"space-y-4\"},[_c('H3',[_vm._v(_vm._s(!!_vm.value ? _vm.value.name : 'License Slot'))]),_c('div',{staticClass:\"slot-description\"},[_vm._v(_vm._s(!!_vm.value ? _vm.value.description : 'Select a dimension'))])],1)])],1)]),_c('core.list',{staticClass:\"dimensions-list\",attrs:{\"data\":_vm.dimensions},on:{\"select\":_vm.onDimensionSelected},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar item = ref.item;\nreturn _c('div',{},[_c('H4',[_vm._v(_vm._s(item.name))]),_c('span',{staticClass:\"slot-description\"},[_vm._v(_vm._s(item.description))])],1)}}])})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Dimension } from \"@Module/Licensing/Models/Dimension.model\";\nimport { Component, Prop, Watch } from \"types-vue\";\nimport Vue from \"vue\";\n\n@Component\nexport default class TrialDimensionSlot extends Vue {\n\n @Prop({ type: Number, required: true })\n protected index: number;\n\n @Prop({ type: Array, required: true })\n protected dimensions: Dimension[];\n\n @Prop({ type: Boolean, default: false })\n protected disabled: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected loading: boolean;\n\n protected value: Dimension = null;\n protected popoverVisible: boolean = false;\n\n @Watch(\"dimensions\", { immediate: true })\n protected onDimensionsChange(dimensions: Dimension[]) {\n if (dimensions.length === 1) {\n this.onDimensionSelected(dimensions[0]);\n }\n }\n\n protected get slotClass() {\n return {\n \"is-disabled\": this.disabled || this.loading,\n \"is-fulfilled\": !!this.value\n }\n }\n\n protected get hasDimensions(): boolean {\n return this.dimensions.length > 0;\n }\n\n protected get isSingleOption(): boolean {\n return this.dimensions.length === 1;\n }\n\n protected onDimensionSelected(dim: Dimension) {\n this.value = dim;\n this.$emit(\"select\", this.index, dim);\n this.popoverVisible = false;\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./TrialDimensionSlot.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./TrialDimensionSlot.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TrialDimensionSlot.vue?vue&type=template&id=54de4d2d&scoped=true&\"\nimport script from \"./TrialDimensionSlot.ts?vue&type=script&lang=ts&\"\nexport * from \"./TrialDimensionSlot.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./TrialDimensionSlot.vue?vue&type=style&index=0&lang=scss&\"\nimport style1 from \"./TrialDimensionSlot.vue?vue&type=style&index=1&id=54de4d2d&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"54de4d2d\",\n null\n \n)\n\nexport default component.exports","import { AbstractCookie, CookieOptions } from \"@Core/Models/Cookies/AbstractCookie.model\";\nimport { OpUnitType as DayJsUnit } from \"dayjs\";\n\nexport interface ExpirationThreshold {\n amount: number;\n unit: DayJsUnit;\n}\n\nexport class ExpirationThresholdCookie extends AbstractCookie {\n\n public static create(name: string, options?: CookieOptions) {\n return new ExpirationThresholdCookie(name, options);\n }\n\n protected parseCookie(value: any, options: CookieOptions): ExpirationThreshold | null {\n return !!value ? value : options.default;\n }\n\n}","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReleasesCollapse.vue?vue&type=style&index=0&id=cbca32c6&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('core.columns-layout',{staticClass:\"licenses-view\",attrs:{\"show-right\":!_vm.$mq.lg}},[(_vm.permissions.CanExportSummary)?_c('licensing.export-licensing-summary-dialog',{ref:\"exportLicensingSummaryDialog\",attrs:{\"service-id\":_vm.serviceId}}):_vm._e(),(_vm.chanShareLicenses)?_c('licensing.license-transfer-dialog',{ref:\"licenseTransferDialog\",attrs:{\"service-id\":_vm.serviceId,\"licenses\":_vm.serviceLicenses}}):_vm._e(),_c('core.query-param',{attrs:{\"name\":\"expand\",\"type\":\"number-array\"},model:{value:(_vm.expandedRows),callback:function ($$v) {_vm.expandedRows=$$v},expression:\"expandedRows\"}}),_c('core.query-param',{attrs:{\"name\":\"search\",\"delay\":400},model:{value:(_vm.filters.search),callback:function ($$v) {_vm.$set(_vm.filters, \"search\", $$v)},expression:\"filters.search\"}}),_c('core.query-param',{attrs:{\"name\":\"status\",\"type\":\"string-array\"},model:{value:(_vm.filters.status),callback:function ($$v) {_vm.$set(_vm.filters, \"status\", $$v)},expression:\"filters.status\"}}),_c('core.query-param',{attrs:{\"name\":\"avail\",\"type\":\"boolean\"},model:{value:(_vm.filters.withAvailability),callback:function ($$v) {_vm.$set(_vm.filters, \"withAvailability\", $$v)},expression:\"filters.withAvailability\"}}),_c('core.query-param',{attrs:{\"name\":\"onlyhosts\",\"type\":\"boolean\"},model:{value:(_vm.filters.onlyWithHosts),callback:function ($$v) {_vm.$set(_vm.filters, \"onlyWithHosts\", $$v)},expression:\"filters.onlyWithHosts\"}}),_c('core.query-param',{attrs:{\"name\":\"product\",\"serializer\":_vm.dimensionArrayParamSerializer},model:{value:(_vm.filters.dimensions),callback:function ($$v) {_vm.$set(_vm.filters, \"dimensions\", $$v)},expression:\"filters.dimensions\"}}),_c('core.query-param',{attrs:{\"name\":\"tenant\",\"serializer\":_vm.orgArrayParamSerializer},model:{value:(_vm.filters.tenants),callback:function ($$v) {_vm.$set(_vm.filters, \"tenants\", $$v)},expression:\"filters.tenants\"}}),_c('core.query-param',{attrs:{\"name\":\"owner\",\"serializer\":_vm.orgArrayParamSerializer},model:{value:(_vm.filters.owners),callback:function ($$v) {_vm.$set(_vm.filters, \"owners\", $$v)},expression:\"filters.owners\"}}),_c('core.query-param',{attrs:{\"name\":\"hsearch\",\"delay\":400},model:{value:(_vm.filters.hosts.search),callback:function ($$v) {_vm.$set(_vm.filters.hosts, \"search\", $$v)},expression:\"filters.hosts.search\"}}),_c('core.query-param',{attrs:{\"name\":\"sid\",\"type\":\"string-array\"},model:{value:(_vm.filters.hosts.sIds),callback:function ($$v) {_vm.$set(_vm.filters.hosts, \"sIds\", $$v)},expression:\"filters.hosts.sIds\"}}),_c('core.query-param',{attrs:{\"name\":\"hostname\",\"type\":\"string-array\"},model:{value:(_vm.filters.hosts.hostnames),callback:function ($$v) {_vm.$set(_vm.filters.hosts, \"hostnames\", $$v)},expression:\"filters.hosts.hostnames\"}}),_c('core.query-param',{attrs:{\"name\":\"version\",\"type\":\"string-array\"},model:{value:(_vm.filters.hosts.versions),callback:function ($$v) {_vm.$set(_vm.filters.hosts, \"versions\", $$v)},expression:\"filters.hosts.versions\"}}),_c('div',{staticClass:\"space-y-16\"},[_c('div',{staticClass:\"flex items-center space-x-8\"},[_c('core.title',{staticClass:\"flex-0\"},[_vm._t(\"title\",[_c('core.label',{attrs:{\"icon-size\":\"18px\",\"icon-spacing\":\".5rem\"}},[_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"reader-outline\"},slot:\"icon\"}),_c('H1',[_vm._v(\"Licenses\")])],1)],null,_vm.slotScope)],2),_c('div',{staticClass:\"flex-1 flex space-x-8 content-end\"},[(_vm.permissions.CanExportSummary)?_c('el-button',{attrs:{\"size\":\"small\",\"icon\":\"el-icon-download\",\"disabled\":!_vm.hasLicenses || _vm.getLicenses.loading},on:{\"click\":function($event){return _vm.$refs.exportLicensingSummaryDialog.open()}}},[_c('span',[_vm._v(\"Export summary\")])]):_vm._e(),(_vm.chanShareLicenses)?_c('el-button',{attrs:{\"disabled\":_vm.firstLoad,\"size\":\"small\",\"type\":\"primary\",\"icon\":\"el-icon-sort\"},on:{\"click\":function($event){return _vm.$refs.licenseTransferDialog.open()}}},[_c('span',[_vm._v(\"License sharing\")])]):_vm._e(),_vm._t(\"controls\",null,null,_vm.slotScope)],2)],1),(!_vm.$mq.sm)?_c('licensing.licensing-status-breakdown',{attrs:{\"status\":_vm.serviceLicenseStatus,\"loading\":_vm.getLicenses.loading,\"bordered\":_vm.isPlainUi}}):_vm._e(),(!!_vm.getLicenses.error)?_c('core.alert',{attrs:{\"type\":\"error\",\"title\":\"Licenses Error\",\"description\":_vm.getLicenses.error.message,\"closable\":false}},[_c('el-button',{attrs:{\"slot\":\"footer\",\"size\":\"mini\",\"icon\":\"el-icon-refresh-right\",\"type\":\"default\"},on:{\"click\":function($event){return _vm.getLicenses.run()}},slot:\"footer\"},[_vm._v(\"Try again\")])],1):_c('core.card',{attrs:{\"bordered\":_vm.isPlainUi,\"no-padding\":\"\"}},[_c('div',{staticClass:\"flex container-x-8 container-y-8 flex-wrap pt-16 p-x-16\"},[_c('el-input',{staticClass:\"free-text-filter flex-1\",attrs:{\"disabled\":!_vm.hasLicenses,\"prefix-icon\":\"el-icon-search\",\"placeholder\":\"Search licenses\",\"clearable\":\"\"},model:{value:(_vm.filters.search),callback:function ($$v) {_vm.$set(_vm.filters, \"search\", $$v)},expression:\"filters.search\"}}),(_vm.$mq.lg)?_c('core.filters-drawer',{attrs:{\"title\":\"License filters\",\"disabled\":_vm.firstLoad,\"clear-disabled\":!_vm.filters.isFiltering},on:{\"clear\":_vm.clearFilters}},[_c('div',{staticClass:\"licenses-summary space-y-16\"},[_c('licensing.license-filters-panel',{attrs:{\"disabled\":!_vm.hasLicenses,\"service-id\":_vm.serviceId},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return _vm._t(\"host-filters\",null,null,scope)}}],null,true),model:{value:(_vm.filters),callback:function ($$v) {_vm.filters=$$v},expression:\"filters\"}}),(_vm.$mq.sm)?_c('span',[_c('el-divider',{staticClass:\"mb-24\"},[_vm._v(\"Summary\")])],1):_vm._e(),(_vm.$mq.sm)?_c('licensing.licensing-status-breakdown',{attrs:{\"status\":_vm.serviceLicenseStatus,\"loading\":_vm.getLicenses.loading,\"bordered\":\"\"}}):_vm._e(),_c('el-divider',{staticClass:\"mt-0\"}),_c('licensing.next-expirations-collapse',{attrs:{\"data\":_vm.filteredLicenses,\"cookie\":_vm.expThresholdCookie,\"loading\":_vm.firstLoad,\"bordered\":\"\",\"compact\":\"\"},on:{\"select\":_vm.onViewLicenseClick},scopedSlots:_vm._u([{key:\"empty\",fn:function(ref){\nvar thresholdLabel = ref.thresholdLabel;\nreturn _c('core.empty',{attrs:{\"compact\":\"\"}},[_c('ion-icon',{staticClass:\"mb-4\",attrs:{\"slot\":\"icon\",\"name\":\"calendar\"},slot:\"icon\"}),_c('span',[_vm._v(\"No license expirations for the next \"+_vm._s(thresholdLabel)+\".\")])],1)}},{key:\"default\",fn:function(ref){\nvar item = ref.item;\nreturn _c('licensing.license-list-row',{key:item.id,attrs:{\"license\":item}})}}],null,false,2165509135)})],1)]):_vm._e()],1),_c('el-table',{ref:\"table\",attrs:{\"data\":_vm.filteredLicenses,\"empty-text\":\" \",\"tooltip-effect\":\"light\",\"default-sort\":{ prop: 'status.phase', order: 'ascending' },\"row-key\":\"id\",\"expand-row-keys\":_vm.expandedRowIds},on:{\"expand-change\":_vm.toggleExpansion,\"row-click\":_vm.toggleExpansion}},[(_vm.firstLoad)?_c('core.loading',{attrs:{\"slot\":\"empty\",\"label\":\"Fetching licenses...\",\"height\":\"7.2rem\"},slot:\"empty\"}):(!_vm.hasLicenses && !_vm.getLicenses.loading)?_vm._t(\"empty\",[_c('core.empty',{attrs:{\"description\":\"You have no licenses.\"}},[_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"receipt-outline\"},slot:\"icon\"})],1)],{\"slot\":\"empty\"},_vm.slotScope):(_vm.filteredLicenses.length === 0 && !_vm.getLicenses.loading)?_c('core.empty',{attrs:{\"slot\":\"empty\"},slot:\"empty\"},[_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"reader-outline\"},slot:\"icon\"}),_c('div',{staticClass:\"flex-y space-y-16 items-center\"},[_c('span',[_vm._v(\"No license meets your filtering criteria.\")]),_c('el-button',{staticClass:\"w-max-content\",attrs:{\"size\":\"small\",\"icon\":\"el-icon-delete\"},on:{\"click\":_vm.clearFilters}},[_c('span',[_vm._v(\"Clear filters\")])])],1)],1):_vm._e(),_c('el-table-column',{attrs:{\"type\":\"expand\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar row = ref.row;\nreturn _c('div',{staticClass:\"space-y-16\"},[_c('H2',[_vm._v(\"License #L\"+_vm._s(row.id))]),_vm._t(\"expand\",[_c('licensing.license-summary',{attrs:{\"license\":row,\"expand\":\"\"}},[_c('div',{staticClass:\"space-x-8\"},[_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"primary\",\"icon\":\"el-icon-more\"},on:{\"click\":function($event){return _vm.onViewLicenseClick(row)}}},[_c('span',[_vm._v(\"View license details\")])]),(_vm.permissions.CanListContracts\n && row.isOwnedByOrg(_vm.currentOrg))?_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"text\"},on:{\"click\":function($event){return _vm.onViewContractClick(row)}}},[_c('span',{staticClass:\"space-x-8 flex items-center\"},[_c('ion-icon',{attrs:{\"name\":\"receipt-outline\"}}),_c('span',[_vm._v(\"View license contract\")])],1)]):_vm._e()],1)])],null,_vm.licenseSlotScope(row))],2)}}],null,true)}),_c('el-table-column',{attrs:{\"prop\":\"status.phase\",\"label\":\"Status\",\"sortable\":_vm.hasLicenses,\"min-width\":\"85\",\"show-overflow-tooltip\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\n var row = ref.row;\nreturn _c('licensing.licensing-status-tag',{staticClass:\"w-max-full\",attrs:{\"status\":row.status}})}}])}),(_vm.isServiceEmory && _vm.permissions.CanListHosts && _vm.shouldDisplayHostsColumns)?_c('el-table-column',{attrs:{\"label\":_vm.$mq.xl ? 'Ver.' : 'Version',\"min-width\":_vm.$mq.xl ? 90 : 105,\"show-overflow-tooltip\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\n var row = ref.row;\nreturn (_vm.licenseHasHosts(row) && _vm.getClientVersion(row) !== '')?_c('el-tag',{staticClass:\"w-max-full\",attrs:{\"size\":\"mini\",\"effect\":\"dark\",\"type\":\"info\"}},[_c('span',{staticClass:\"text-ellipsis\"},[_vm._v(_vm._s(_vm.getClientVersion(row)))])]):_vm._e()}}],null,true)}):_vm._e(),(_vm.isServiceEmory && _vm.permissions.CanListHosts && _vm.shouldDisplayHostsColumns)?_c('el-table-column',{attrs:{\"prop\":\"hosts\",\"sortable\":_vm.hasLicenses,\"label\":_vm.$mq.xl ? 'Host' : 'Hostname',\"min-width\":_vm.$mq.xl ? 90 : 105,\"show-overflow-tooltip\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\n var row = ref.row;\nreturn (_vm.licenseHasHosts(row) && _vm.getHostName(row) !== '')?_c('el-tag',{staticClass:\"w-max-full\",attrs:{\"size\":\"mini\",\"effect\":\"dark\",\"type\":\"info\",\"disable-transitions\":\"\"}},[_c('span',{staticClass:\"text-ellipsis\"},[_vm._v(_vm._s(_vm.getHostName(row)))])]):_vm._e()}}],null,true)}):_vm._e(),(!_vm.isServiceEmory)?_c('el-table-column',{attrs:{\"prop\":\"dimension\",\"label\":_vm.$mq.xl ? 'Dimen.' : 'Dimension',\"sortable\":_vm.hasLicenses,\"min-width\":_vm.$mq.xl ? 90 : 105,\"show-overflow-tooltip\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\n var row = ref.row;\nreturn _c('el-tag',{staticClass:\"w-max-full\",attrs:{\"size\":\"mini\",\"effect\":\"dark\",\"type\":\"info\",\"disable-transitions\":\"\"}},[_c('span',{staticClass:\"text-ellipsis\"},[_vm._v(_vm._s(row.dimension))])])}}],null,false,3412886276)}):_vm._e(),(!_vm.$mq.md && !_vm.isShowingBothSharingColumns && !_vm.isServiceEmory)?_c('el-table-column',{attrs:{\"prop\":\"creation\",\"label\":\"Creation\",\"sortable\":_vm.hasLicenses,\"sort-method\":function (a, b) { return a.creation.diff(b.creation); },\"min-width\":\"105\",\"show-overflow-tooltip\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\n var row = ref.row;\nreturn _c('core.date-label',{staticClass:\"w-max-full\",attrs:{\"date\":row.creation,\"format\":\"MM/DD/YYYY HH:mm\",\"icon-size\":\"12px\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\n var date = ref.date;\nreturn _c('span',{staticClass:\"text-ellipsis\"},[_vm._v(_vm._s(_vm._f(\"capitalize\")(date.fromNow())))])}},{key:\"tooltip\",fn:function(ref){\n var formattedDate = ref.formattedDate;\nreturn _c('span',{},[_vm._v(_vm._s(formattedDate))])}}],null,false,333792252)})}}],null,false,2129725008)}):_vm._e(),_c('el-table-column',{attrs:{\"prop\":\"expiration\",\"label\":_vm.$mq.xl ? 'Exp.' : 'Expiration',\"sortable\":_vm.hasLicenses,\"sort-method\":function (a, b) { return a.expiration.diff(b.expiration); },\"min-width\":_vm.$mq.xl ? 95 : 115,\"show-overflow-tooltip\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\n var row = ref.row;\nreturn _c('core.date-label',{staticClass:\"w-max-full\",attrs:{\"date\":row.expiration,\"format\":\"MM/DD/YYYY HH:mm\",\"icon-size\":\"12px\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\n var date = ref.date;\nreturn _c('span',{staticClass:\"text-ellipsis\"},[_vm._v(_vm._s(_vm._f(\"capitalize\")(date.fromNow())))])}},{key:\"tooltip\",fn:function(ref){\n var formattedDate = ref.formattedDate;\nreturn _c('span',{},[_vm._v(_vm._s(formattedDate))])}}])})}}])}),(_vm.shouldDisplayOwnerColumn)?_c('el-table-column',{attrs:{\"prop\":\"owner\",\"label\":\"Owner\",\"sortable\":_vm.hasLicenses,\"sort-method\":_vm.sortByOwner,\"min-width\":\"110\",\"show-overflow-tooltip\":\"\"},scopedSlots:_vm._u([{key:\"header\",fn:function(ref){\n var column = ref.column;\nreturn _c('core.label',{attrs:{\"icon-spacing\":\"4px\",\"icon-position\":\"end\",\"icon-y-offset\":\"2px\",\"type\":\"inherit\"}},[_c('span',[_vm._v(_vm._s(column.label))]),_c('el-tooltip',{attrs:{\"slot\":\"icon\",\"effect\":\"light\",\"placement\":\"top\",\"transition\":\"el-zoom-in-bottom\",\"content\":\"The organization that owns the license.\"},slot:\"icon\"},[_c('ion-icon',{attrs:{\"name\":\"information-circle-outline\"}})],1)],1)}},{key:\"default\",fn:function(ref){\n var row = ref.row;\nreturn _c('licensing.license-exchange-status-cell',{attrs:{\"license\":row,\"owner-cell\":true,\"loading\":_vm.getPendingExchanges.loading}})}}],null,false,2206117618)}):_vm._e(),(_vm.shouldDisplayTenantColumn)?_c('el-table-column',{attrs:{\"prop\":\"tenant\",\"label\":\"Tenant\",\"sortable\":_vm.hasLicenses,\"sort-method\":_vm.sortByTenant,\"min-width\":\"110\",\"show-overflow-tooltip\":\"\"},scopedSlots:_vm._u([{key:\"header\",fn:function(ref){\n var column = ref.column;\nreturn _c('core.label',{attrs:{\"icon-spacing\":\"4px\",\"icon-position\":\"end\",\"icon-y-offset\":\"2px\",\"type\":\"inherit\"}},[_c('span',[_vm._v(_vm._s(column.label))]),_c('el-tooltip',{attrs:{\"slot\":\"icon\",\"effect\":\"light\",\"placement\":\"top\",\"transition\":\"el-zoom-in-bottom\",\"content\":\"The organization that has the usufruct of the license.\"},slot:\"icon\"},[_c('ion-icon',{attrs:{\"name\":\"information-circle-outline\"}})],1)],1)}},{key:\"default\",fn:function(ref){\n var row = ref.row;\nreturn _c('licensing.license-exchange-status-cell',{attrs:{\"license\":row,\"owner-cell\":false,\"loading\":_vm.getPendingExchanges.loading}})}}],null,false,3836943699)}):_vm._e(),(_vm.permissions.CanListHosts)?_vm._t(\"table-columns\",[_c('el-table-column',{attrs:{\"prop\":\"usagePercentage\",\"label\":\"Use\",\"sortable\":_vm.hasLicenses,\"min-width\":\"68\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\n var row = ref.row;\nreturn _c('licensing.license-usage-progress',{staticClass:\"mb-8\",attrs:{\"license\":row}})}}],null,false,2788251185)})],null,_vm.slotScope):_vm._e(),_c('el-table-column',{attrs:{\"width\":\"50\",\"show-overflow-tooltip\":\"\",\"header-align\":\"right\"},scopedSlots:_vm._u([{key:\"header\",fn:function(ref){\n var $index = ref.$index;\nreturn _c('transition',{attrs:{\"name\":\"el-fade-in\"}},[(_vm.getLicenses.loading)?_c('i',{key:$index,staticClass:\"el-icon-loading table-loading-indicator\"}):_vm._e()])}},{key:\"default\",fn:function(ref){\n var row = ref.row;\nreturn _c('el-tooltip',{attrs:{\"content\":\"View license details\",\"effect\":\"light\",\"placement\":\"top\",\"open-delay\":500,\"enterable\":false}},[_c('el-button',{staticClass:\"details-button\",attrs:{\"size\":\"mini\",\"type\":\"text\",\"circle\":\"\"},on:{\"click\":function($event){return _vm.onViewLicenseClick(row)}}},[_c('ion-icon',{attrs:{\"name\":\"arrow-forward-outline\"}})],1)],1)}}])})],2)],1)],1),_c('div',{staticClass:\"licenses-summary space-y-16\",attrs:{\"slot\":\"right\"},slot:\"right\"},[_c('core.filters-collapse',{attrs:{\"filtering\":_vm.filters.isFiltering,\"bordered\":_vm.isPlainUi,\"disabled\":!_vm.filters.isFiltering},on:{\"clear\":_vm.clearFilters}},[_c('licensing.license-filters-panel',{attrs:{\"disabled\":!_vm.hasLicenses,\"service-id\":_vm.serviceId},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return _vm._t(\"host-filters\",null,null,scope)}}],null,true),model:{value:(_vm.filters),callback:function ($$v) {_vm.filters=$$v},expression:\"filters\"}})],1),_c('licensing.next-expirations-collapse',{attrs:{\"data\":_vm.filteredLicenses,\"bordered\":_vm.isPlainUi,\"cookie\":_vm.expThresholdCookie,\"loading\":_vm.firstLoad,\"compact\":\"\"},on:{\"select\":_vm.onViewLicenseClick},scopedSlots:_vm._u([{key:\"empty\",fn:function(ref){\n var thresholdLabel = ref.thresholdLabel;\nreturn _c('core.empty',{attrs:{\"compact\":\"\"}},[_c('ion-icon',{staticClass:\"mb-4\",attrs:{\"slot\":\"icon\",\"name\":\"calendar\"},slot:\"icon\"}),_c('span',[_vm._v(\"No license expirations for the next \"+_vm._s(thresholdLabel)+\".\")])],1)}},{key:\"default\",fn:function(ref){\n var item = ref.item;\nreturn _c('licensing.license-list-row',{key:item.id,attrs:{\"license\":item}})}}])})],1),_vm._t(\"default\",null,null,_vm.slotScope)],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Execution } from \"@Core/Models/Execution\";\nimport { SessionToken } from \"@Module/Auth/Models/SessionToken.model\";\nimport AuthStore from \"@Module/Auth/Store/Auth.store\";\nimport { License } from \"@Module/Licensing/Models/License.model\";\nimport { LicensingStatus } from \"@Module/Licensing/Models/LicensingStatus.model\";\nimport LicensingStore, { FetchLicensesPayload } from \"@Module/Licensing/Store/Licensing.store\";\nimport { ServiceID, ServiceMap } from \"@Service/ServiceID\";\nimport AppSettingsStore from \"@Service/Settings/Store/AppSettings/AppSettings.store\";\nimport { Component, MapAction, MapGetter, mixins, Watch } from \"types-vue\";\nimport { Permission } from \"@Module/Auth/Models/Roles/Permissions.model\";\nimport { AccessRole } from \"@Module/Auth/Models/Roles/AccessRole.model\";\nimport { Prop } from \"vue-property-decorator\";\nimport { LicenseFilters } from \"@Module/Licensing/Models/LicenseFilters.model\";\nimport { ExpirationThresholdCookie } from \"@Module/Licensing/Models/ExpirationThreshold.model\";\nimport { Host } from \"@Module/Licensing/Models/Host.model\";\nimport { Serializer } from \"@Core/Components/QueryParam/QueryParam\";\nimport { Dimension } from \"@Module/Licensing/Models/Dimension.model\";\nimport OrgsStore from \"@Module/Orgs/Store/Orgs.store\";\nimport { Organization } from \"@Module/Orgs/Models/Organization.model\";\nimport { Utils } from \"@Core/Utils/Utils\";\nimport OrgSwitchMixin from \"@Module/Orgs/Mixins/OrgSwitch.mixin\";\nimport NotificationsOutboxStore from \"@Module/Notifications/Store/NotificationsOutbox.store\";\nimport { LicenseSharingNotification } from \"@Module/Notifications/Models/LicenseSharingNotification.model\";\nimport { LicenseReturnNotification } from \"@Module/Notifications/Models/LicenseReturnNotification.model\";\nimport NotificationsInboxStore from \"@Module/Notifications/Store/NotificationsInbox.store\";\n\nconst enum LicensesCookie {\n ExpThreshold = \"console.licenses.exp-threshold\",\n}\n\n@Component\nexport default class LicensesView extends mixins(OrgSwitchMixin) {\n\n @Prop({ type: String, required: true })\n protected serviceId: ServiceID;\n\n @Prop({ type: Object, default: () => LicenseFilters.create() })\n protected filters: LicenseFilters;\n\n @MapGetter(OrgsStore.Mapping)\n protected currentOrg: Organization;\n\n @MapGetter(OrgsStore.Mapping)\n protected currentOrgHasChildren: boolean;\n\n @MapGetter(OrgsStore.Mapping)\n protected orgArrayParamSerializer: Serializer;\n\n @MapGetter(AuthStore.Mapping)\n protected accessRole: AccessRole;\n\n @MapGetter(AppSettingsStore.Mapping)\n protected isPlainUi: boolean;\n\n @MapGetter(AuthStore.Mapping)\n protected sessionToken: SessionToken;\n\n @MapGetter(LicensingStore.Mapping)\n protected licenses: ServiceMap;\n\n @MapGetter(LicensingStore.Mapping)\n protected dimensionArrayParamSerializer: Serializer;\n\n @MapGetter(NotificationsOutboxStore.Mapping)\n protected orgLicenseSharingOutbox: LicenseSharingNotification[];\n \n @MapGetter(NotificationsOutboxStore.Mapping)\n protected orgLicenseReturnOutbox: LicenseReturnNotification[];\n\n @MapAction(NotificationsOutboxStore.Mapping)\n protected fetchPendingLicenseExchanges: () => Promise;\n\n @MapAction(LicensingStore.Mapping)\n protected fetchAllLicenses: (payload: FetchLicensesPayload) => Promise;\n\n @MapAction(NotificationsInboxStore.Mapping)\n protected fetchInbox: () => Promise;\n\n protected shouldDisplayTenantColumn: boolean = false;\n protected shouldDisplayOwnerColumn: boolean = false;\n protected shouldDisplayHostsColumns: boolean = false;\n\n protected expandedRows: number[] = [];\n\n protected expThresholdCookie = ExpirationThresholdCookie.create(LicensesCookie.ExpThreshold, { \n default: { amount: 15, unit: \"days\" } \n });\n\n protected get serviceLicenses(): License[] {\n return this.licenses[this.serviceId] || [];\n }\n\n protected get serviceLicenseStatus(): LicensingStatus[] {\n return this.filteredLicenses.map(l => l.status);\n }\n \n protected getLicenses = Execution.create(() => this.fetchAllLicenses({ service: this.serviceId }));\n protected getPendingExchanges = Execution.create(() => {\n return Promise.all([\n this.fetchInbox(),\n this.fetchPendingLicenseExchanges()\n ]);\n });\n\n protected get isServiceEmory(): boolean {\n return this.serviceId === ServiceID.Emory\n }\n\n protected created() {\n if (this.permissions.CanShareLicenses) {\n this.getPendingExchanges.run();\n }\n this.updateLicenseSharingColumns();\n }\n\n protected updateLicenseSharingColumns() {\n this.shouldDisplayTenantColumn = this.currentOrgHasChildren || this.serviceLicenses.some(license => license.isShared && !license.isSharedToOrg(this.currentOrg));\n this.shouldDisplayOwnerColumn = !!this.currentOrg.parentId || this.serviceLicenses.some(license => !license.isOwnedByOrg(this.currentOrg));\n }\n\n protected get isShowingBothSharingColumns(): boolean {\n return this.shouldDisplayOwnerColumn && this.shouldDisplayTenantColumn;\n }\n\n @Watch(\"sessionToken\", { immediate: true })\n protected async onSessionChange(token: SessionToken) {\n if (!!token && !token.hasExpired) {\n this.getLicenses.run();\n } else {\n this.getLicenses.reset();\n }\n }\n\n @Watch(\"serviceLicenses\")\n protected async onTableDataChange(data: License[]) {\n this.expandedRows = this.expandedRows.filter(id => data.some(license => license.id === id));\n if (data.length === 1 && this.expandedRows.length === 0) {\n this.expandedRows = [data[0].id];\n }\n await Utils.sleep(100);\n await this.$nextTick();\n this.updateLicenseSharingColumns();\n\n this.shouldDisplayHostsColumns = false\n this.serviceLicenses.forEach(license => {\n if (license.hosts.length > 0) {\n this.shouldDisplayHostsColumns = true\n }\n })\n }\n\n protected get filteredLicenses(): License[] {\n return this.serviceLicenses.filter(license => license.meetFilters(this.filters));\n }\n\n protected get allFilteredLicenseHosts(): Host[] {\n return this.filteredLicenses.map(license => license.hosts).flat();\n }\n\n protected get hasLicenses(): boolean {\n return this.serviceLicenses.length > 0;\n }\n\n protected get firstLoad(): boolean {\n return !this.hasLicenses && this.getLicenses.loading;\n }\n\n protected clearFilters() {\n this.filters.reset();\n }\n\n protected shouldShowExchangeLoading(license: License): boolean {\n return this.getPendingExchanges.loading\n && !this.getLicenseExchangePending(license);\n }\n\n protected hasHosts(): boolean {\n let hasHosts: boolean = false\n this.serviceLicenses.forEach(license => {\n if (license.hosts.length > 0) {\n hasHosts = true\n }\n })\n return hasHosts\n }\n\n protected licenseHasHosts(license: License): boolean {\n return license.hosts.length > 0\n }\n \n protected getHostName(license: License): string {\n return license.hosts.length > 0 ? license.hosts[0].hostname : \"No Host\"\n }\n\n protected getClientVersion(license: License): string {\n return license.hosts.length > 0 ? license.hosts[0].clientVersion : \"No version info\"\n }\n\n\n\n protected getLicenseExchangePending(license: License) {\n return this.getLicenseSharingPending(license) \n || this.getLicenseReturnPending(license);\n }\n\n protected getLicenseSharingPending(license: License) {\n return this.orgLicenseSharingOutbox.find(noti => noti.isLicenseIncluded(license));\n }\n\n protected getLicenseReturnPending(license: License) {\n return this.orgLicenseReturnOutbox.find(noti => noti.isLicenseIncluded(license));\n }\n\n protected toggleExpansion(license: License) {\n const index = this.expandedRows.indexOf(license.id);\n if (index >= 0) {\n this.expandedRows.splice(index, 1);\n } else {\n this.expandedRows = [license.id];\n }\n }\n\n protected get expandedRowIds(): number[] {\n return this.expandedRows\n .filter(id => this.filteredLicenses.some(l => l.id === id));\n }\n\n protected onViewLicenseClick(license: License) {\n this.$emit(\"select\", license);\n }\n\n protected onViewContractClick(license: License) {\n this.$emit(\"select-contract\", license);\n }\n\n protected licenseSlotScope(license: License) {\n return {\n ...this.slotScope,\n license,\n exchangeStatus: {\n loading: this.getPendingExchanges.loading,\n isShared: license.isShared,\n isSharedToCurrentOrg: license.isShared && license.isSharedToOrg(this.currentOrg),\n isPending: !!this.getLicenseExchangePending(license),\n sharing: this.getLicenseSharingPending(license),\n return: this.getLicenseReturnPending(license)\n }\n }\n }\n\n protected get slotScope() {\n return {\n error: this.getLicenses.error,\n loading: this.getLicenses.loading,\n hasRecords: this.hasLicenses,\n data: { \n original: this.serviceLicenses, \n filtered: this.filteredLicenses\n }\n }\n }\n\n protected get permissions() {\n return {\n CanExportSummary: this.accessRole.can(this.serviceId, Permission.ExportLicensingSummary),\n CanListContracts: this.accessRole.can(this.serviceId, Permission.ListContracts),\n CanListHosts: this.accessRole.can(this.serviceId, Permission.ListHosts),\n CanShareLicenses: this.accessRole.can(this.serviceId, Permission.ShareLicenses)\n }\n }\n\n protected get chanShareLicenses(): boolean {\n const canShare = this.currentOrgHasChildren && this.serviceLicenses.some(license => license.status.isActiveOrInGrace);\n const canReturnToParent = this.serviceLicenses.some(license => license.isSharedToOrg(this.currentOrg));\n const canReturnFromChild = this.serviceLicenses.some(license => license.isShared && !license.isSharedToOrg(this.currentOrg));\n return this.permissions.CanShareLicenses && (canShare || canReturnToParent || canReturnFromChild);\n }\n\n protected sortByOwner(a: License, b: License): number {\n return a.owner.name.localeCompare(b.owner.name);\n }\n\n protected sortByTenant(a: License, b: License): number {\n return a.tenant?.name.localeCompare(b.tenant?.name) ?? -1;\n }\n\n}","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--13-3!./LicensesView.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--13-3!./LicensesView.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LicensesView.vue?vue&type=template&id=fd7b6836&scoped=true&\"\nimport script from \"./LicensesView.ts?vue&type=script&lang=ts&\"\nexport * from \"./LicensesView.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./LicensesView.vue?vue&type=style&index=0&id=fd7b6836&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"fd7b6836\",\n null\n \n)\n\nexport default component.exports","import { ServiceID } from \"@Service/ServiceID\";\nimport { Console } from \"vue-router\";\n\nimport ServiceViewport from \"@Core/Components/ServiceViewport/ServiceViewport.vue\";\nimport Viewport from \"@Core/Components/Viewport/Viewport.vue\";\n\nimport EmoryHub from './Views/Hub/EmoryHub.vue';\nimport EmoryContracts from './Views/Contracts/EmoryContracts.vue';\nimport EmoryContractDetails from './Views/ContractDetails/EmoryContractDetails.vue';\nimport EmoryLicenseDetails from './Views/LicenseDetails/EmoryLicenseDetails.vue';\nimport EmoryLicenses from './Views/Licenses/EmoryLicenses.vue';\nimport EmoryBackupHistory from './Views/BackupHistory/EmoryBackupHistory.vue';\nimport EmoryBackupDetails from './Views/BackupDetails/EmoryBackupDetails.vue';\nimport EmoryPackages from \"./Views/Packages/EmoryPackages.vue\";\nimport EmoryDocumentation from \"./Views/Documentation/EmoryDocumentation.vue\";\n\nconst routes: Console.RouteConfig[] = [\n {\n path: \"/backup\",\n name: \"backup\",\n component: ServiceViewport,\n redirect: { name: \"backup-home\" },\n meta: {\n authRequired: true,\n appInfo: {\n version: \"2.5.0\",\n serviceId: ServiceID.Emory,\n summary: \"CxLink Backup is a cutting-edge cloud-native solution designed to protect your business-critical data. It offers comprehensive functionalities including backups, restores, system copies, and disaster recovery, all with robust multi-cloud support across AWS, Azure, and Google Cloud. As a SAP-certified solution, CxLink Backup seamlessly integrates with the most common enterprise databases, including all SAP databases, ensuring reliability and efficiency for your data management needs.\",\n purchaseMethods: [\n { label: \"AWS Marketplace\", url: process.env.VUE_APP_MARKETPLACE_URL_EMORY },\n { label: \"Contact us by email\", url: `mailto:${process.env.VUE_APP_CONTACT_EMAIL}` } \n ]\n },\n menu: {\n label: ServiceID.nameOf(ServiceID.Emory),\n groupId: \"service\",\n icon: {\n type: \"custom\",\n name: \"icons/backup.svg\"\n }\n }\n },\n children: [\n {\n path: \"home\",\n name: \"backup-home\",\n component: EmoryHub,\n meta: {\n authRequired: true,\n menu: {\n label: \"Home\",\n icon: {\n type: \"ion-icon\",\n name: \"bookmark\"\n }\n }\n }\n },\n {\n path: \"/backup/licensing\",\n name: \"backup-licensing\",\n component: Viewport,\n redirect: { name: \"backup-contracts\" },\n meta: {\n authRequired: true,\n breadcrumb: {\n hidden: true\n },\n menu: {\n label: \"Licensing\",\n icon: {\n type: \"ion-icon\",\n name: \"id-card\"\n }\n }\n },\n children: [\n {\n path: \"/backup/contracts\",\n name: \"backup-contracts\",\n component: EmoryContracts,\n meta: {\n authRequired: true,\n permissions: \"emory:ListContracts\",\n menu: {\n label: \"Contracts\",\n icon: {\n type: \"ion-icon\",\n name: \"receipt-outline\"\n }\n }\n }\n },\n {\n path: \"/backup/contracts/:id\",\n name: \"backup-contract-details\",\n component: EmoryContractDetails,\n meta: {\n authRequired: true,\n permissions: \"emory:ListContracts\",\n breadcrumb: {\n prependPaths: [\"/backup/contracts\"]\n },\n menu: {\n hidden: true,\n selectionPath: \"/backup/contracts\",\n label: \"Contract Details\",\n icon: {\n type: \"ion-icon\",\n name: \"receipt-outline\"\n }\n }\n }\n },\n {\n path: \"/backup/licenses\",\n name: \"backup-licenses\",\n component: EmoryLicenses,\n meta: {\n authRequired: true,\n permissions: \"emory:ListLicenses\",\n menu: {\n label: \"Licenses\",\n icon: {\n type: \"ion-icon\",\n name: \"reader-outline\"\n }\n }\n }\n },\n {\n path: \"/backup/licenses/:id\",\n name: \"backup-license-details\",\n component: EmoryLicenseDetails,\n meta: {\n authRequired: true,\n permissions: \"emory:ListLicenses\",\n breadcrumb: {\n prependPaths: [\"/backup/licenses\"]\n },\n menu: {\n hidden: true,\n selectionPath: \"/backup/licenses\",\n label: \"License Details\",\n icon: {\n type: \"ion-icon\",\n name: \"reader-outline\"\n }\n }\n }\n }\n ]\n },\n {\n path: \"resources\",\n name: \"backup-resources\",\n component: Viewport,\n redirect: { name: \"backup-downloads\", append: false},\n meta: {\n authRequired: true,\n breadcrumb: {\n hidden: true\n },\n menu: {\n label: \"Resources\",\n icon: {\n type: \"ion-icon\",\n name: \"library-outline\"\n }\n }\n },\n children: [\n {\n path: \"/backup/downloads\",\n name: \"backup-packages\",\n component: EmoryPackages,\n meta: {\n authRequired: true,\n permissions: \"emory:DownloadPackages\",\n menu: {\n label: \"Downloads\",\n icon: {\n type: \"ion-icon\",\n name: \"archive-outline\"\n }\n }\n }\n },\n ]\n },\n {\n path: \"history\",\n name: \"backup-history\",\n component: EmoryBackupHistory,\n meta: {\n authRequired: true,\n permissions: \"emory:ListBackups\",\n menu: {\n label: \"Backup History\",\n icon: {\n type: \"ion-icon\",\n name: \"file-tray-full\"\n }\n }\n }\n }, \n {\n path: \"history/:id\",\n name: \"backup-details\",\n component: EmoryBackupDetails,\n meta: {\n authRequired: true,\n permissions: \"emory:ListBackups\",\n breadcrumb: {\n prependPaths: [\"/backup/history\"]\n },\n menu: {\n hidden: true,\n selectionPath: \"/backup/history\",\n label: \"Backup Details\",\n icon: {\n type: \"ion-icon\",\n name: \"file-tray-full\"\n }\n }\n }\n }\n ]\n }\n];\n\nexport default routes\n","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LicenseTransferDialog.vue?vue&type=style&index=0&lang=scss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-popover',{attrs:{\"placement\":\"top\",\"title\":_vm.title,\"content\":_vm.description,\"transition\":\"el-zoom-in-bottom\",\"width\":\"300\",\"open-delay\":250,\"trigger\":\"hover\"}},[_c('core.card',{staticClass:\"feature-card\",class:_vm.cardClass,attrs:{\"slot\":\"reference\",\"bordered\":_vm.isPlainUi,\"selectable\":\"\",\"no-padding\":\"\"},slot:\"reference\"},[_c('div',{staticClass:\"icon-wrap flex items-center content-center\"},[_vm._t(\"icon\")],2)]),_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import AppSettingsStore from \"@Service/Settings/Store/AppSettings/AppSettings.store\";\nimport { Component, MapGetter, Prop } from \"types-vue\";\nimport Vue from \"vue\";\n\n@Component\nexport default class FeatureCard extends Vue {\n\n @Prop({ type: String, required: true })\n protected title: string;\n \n @Prop({ type: String, default: null })\n protected description: string;\n\n @MapGetter(AppSettingsStore.Mapping)\n protected isPlainUi: boolean;\n\n protected cardClass() {\n return {\n \"is-plain\": this.isPlainUi\n }\n }\n\n}","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./FeatureCard.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./FeatureCard.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./FeatureCard.vue?vue&type=template&id=5583d2fe&scoped=true&\"\nimport script from \"./FeatureCard.ts?vue&type=script&lang=ts&\"\nexport * from \"./FeatureCard.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./FeatureCard.vue?vue&type=style&index=0&id=5583d2fe&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5583d2fe\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-dialog',{staticClass:\"dialog\",attrs:{\"visible\":_vm.isVisible,\"title\":_vm.title,\"width\":_vm.width,\"top\":_vm.top,\"custom-class\":_vm.customDialogClass,\"fullscreen\":_vm.fullscreen,\"modal\":_vm.modal,\"modal-append-to-body\":_vm.modalAppendToBody,\"append-to-body\":_vm.appendToBody,\"lock-scroll\":_vm.lockScroll,\"close-on-click-modal\":_vm.closeOnClickModal,\"close-on-press-escape\":_vm.closeOnPressEscape,\"show-close\":_vm.showClose,\"center\":_vm.center,\"before-close\":_vm.closeGuard},on:{\"open\":_vm.onOpen,\"opened\":function($event){return _vm.$emit('opened')},\"close\":function($event){return _vm.$emit('close')},\"closed\":_vm.onClosed}},[(_vm.shouldRender)?[_vm._t(\"title\",null,{\"slot\":\"title\",\"success\":_vm.success,\"cancel\":_vm.cancel}),_vm._t(\"default\",null,{\"success\":_vm.success,\"cancel\":_vm.cancel}),_vm._t(\"footer\",null,{\"slot\":\"footer\",\"success\":_vm.success,\"cancel\":_vm.cancel})]:_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Vue from \"vue\";\nimport { Component, Prop, Watch } from \"types-vue\";\n\nconst enum DialogResult {\n Cancel = \"cancel\",\n Success = \"success\"\n}\n\n@Component\nexport default class Dialog extends Vue{\n\n @Prop({ type: Boolean, default: false })\n protected visible: boolean;\n\n @Prop({ type: String, default: null })\n protected title: string;\n\n @Prop({ type: String, default: null })\n protected width: string;\n\n @Prop({ type: String, default: \"15vh\" })\n protected top: string;\n\n @Prop({ type: String, default: null })\n protected customClass: string;\n\n @Prop({ type: Boolean, default: false })\n protected fullscreen: boolean;\n \n @Prop({ type: Boolean, default: true })\n protected modal: boolean;\n \n @Prop({ type: Boolean, default: true })\n protected modalAppendToBody: boolean;\n \n @Prop({ type: Boolean, default: false })\n protected appendToBody: boolean;\n \n @Prop({ type: Boolean, default: true })\n protected lockScroll: boolean;\n \n @Prop({ type: Boolean, default: true })\n protected closeOnClickModal: boolean;\n \n @Prop({ type: Boolean, default: true })\n protected closeOnPressEscape: boolean;\n\n @Prop({ type: Boolean, default: true })\n protected showClose: boolean;\n\n @Prop({ type: Function, default: (close: Function) => close() })\n protected beforeClose: (close: () => void) => void;\n \n @Prop({ type: Boolean, default: false })\n protected center: boolean;\n \n @Prop({ type: Boolean, default: false })\n protected destroyOnClose: boolean;\n\n protected result: DialogResult = null;\n protected isVisible: boolean = false;\n\n protected opened: boolean = false;\n\n private resolve: (success: boolean) => void = () => {};\n\n @Watch(\"visible\", { immediate: true })\n protected onVisiblePropChange(visible: boolean) {\n this.isVisible = visible;\n }\n\n @Watch(\"isVisible\")\n protected onVisibilityChange(visible: boolean) {\n this.$emit(\"update:visible\", visible);\n if (visible) {\n this.result = null;\n }\n }\n\n public async open(): Promise {\n this.isVisible = true;\n return new Promise(resolve => {\n this.resolve = resolve;\n });\n }\n\n public markAsCancel() {\n this.result = DialogResult.Cancel;\n }\n\n public cancel(force: boolean = false) {\n this.markAsCancel();\n if (force) {\n this.resolvePromise();\n this.isVisible = false;\n } else {\n this.closeGuard(() => {\n this.isVisible = false;\n });\n }\n }\n\n public markAsSuccess() {\n this.result = DialogResult.Success;\n }\n \n public success(force: boolean = false) {\n this.markAsSuccess();\n if (force) {\n this.resolvePromise();\n this.isVisible = false;\n } else {\n this.closeGuard(() => {\n this.isVisible = false;\n });\n }\n }\n\n protected closeGuard(close: () => void) {\n this.beforeClose(() => {\n this.resolvePromise();\n this.isVisible = false;\n close();\n });\n }\n\n protected resolvePromise() {\n const isSuccess = this.result === DialogResult.Success;\n this.resolve(isSuccess);\n this.$emit(\"resolve\", isSuccess);\n }\n\n protected onOpen() {\n this.opened = true;\n this.$emit(\"open\");\n }\n\n protected onClosed() {\n this.opened = false;\n this.$emit(\"closed\");\n }\n\n protected get shouldRender(): boolean {\n return !this.destroyOnClose ? true : this.opened;\n }\n\n public get isOpened(): boolean {\n return this.opened;\n }\n\n public get customDialogClass(): string {\n const cls = [this.customClass || \"\"];\n cls.push(!this.showClose ? \"is-close-hidden\" : \"\");\n return cls.join(\" \");\n }\n}","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./Dialog.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./Dialog.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Dialog.vue?vue&type=template&id=48df34f5&\"\nimport script from \"./Dialog.ts?vue&type=script&lang=ts&\"\nexport * from \"./Dialog.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"space-y-16\"},[_c('el-form',{attrs:{\"label-width\":\"110px\",\"label-position\":\"right\"}},[_c('el-select',{staticClass:\"w-full\",attrs:{\"disabled\":!_vm.productVersions || _vm.productVersions.length === 0 || _vm.disabled,\"value\":_vm.value,\"placeholder\":_vm.placeholder,\"placeholder\":\"Select a version\",\"filterable\":\"\",\"default-first-option\":\"\"},on:{\"change\":_vm.onVersionSelected}},[_c('ion-icon',{staticClass:\"ml-4\",staticStyle:{\"font-size\":\"16px\"},attrs:{\"slot\":\"prefix\",\"name\":\"cube-outline\"},slot:\"prefix\"}),_vm._l((_vm.productVersions),function(version){return _c('el-option',{key:version.name,attrs:{\"label\":version.description,\"value\":version.id}})}),_c('core.empty',{attrs:{\"slot\":\"empty\",\"description\":\"No version meets your filtering criteria.\"},slot:\"empty\"},[_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"cube-outline\"},slot:\"icon\"})],1)],2)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, MapAction, MapGetter, Prop, Watch } from \"types-vue\";\nimport { ServiceID } from \"@Service/ServiceID\";\nimport Vue from \"vue\";\nimport { ProductVersion } from \"@Module/Resources/Models/ProductVersion.model\";\n\n@Component\nexport default class ProductVersionSelector extends Vue {\n\n @Prop({ type: String, default: \"Pick a ProductVersion\" })\n protected placeholder: string;\n\n @Prop({ type: Number, default: null })\n protected value: Number;\n\n @Prop({ type: [Object, Array], default: null })\n protected productVersions: ProductVersion[];\n\n @Prop({ type: String, default: null })\n protected serviceId: ServiceID;\n\n @Prop({ type: Boolean, default: false })\n protected disabled: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected allowBrowsing: boolean;\n \n protected searchText: string = null;\n\n protected onVersionSelected(version: Number): void {\n const selectedVersion = version || null;\n this.$emit(\"input\", selectedVersion);\n this.$emit(\"update:value\", selectedVersion);\n this.$emit(\"select\", selectedVersion);\n this.$emit(\"change\", selectedVersion);\n this.searchText = null;\n } \n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./ProductVersionSelector.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./ProductVersionSelector.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProductVersionSelector.vue?vue&type=template&id=2d3da2b3&\"\nimport script from \"./ProductVersionSelector.ts?vue&type=script&lang=ts&\"\nexport * from \"./ProductVersionSelector.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"license-list-row flex items-center space-x-8 w-full\",class:_vm.rowClass},[_vm._t(\"prefix\"),_c('div',{staticClass:\"flex-1 text-ellipsis space-y-4\"},[_c('div',{staticClass:\"flex items-center text-semibold text-ellipsis space-x-8\"},[_c('licensing.licensing-status-tag',{staticClass:\"status-tag\",attrs:{\"status\":_vm.license.status,\"size\":\"tiny\"}}),_c('small',{staticClass:\"text-ellipsis\"},[_c('span',[_vm._v(\"#L\"+_vm._s(_vm.license.id))]),_c('el-divider',{staticClass:\"id-separator\",attrs:{\"direction\":\"vertical\"}}),_c('span',[_vm._v(_vm._s(_vm.license.externalId))])],1)],1),_c('div',{staticClass:\"flex items-center flex-wrap container-x-16 container-y-4\"},[(_vm.license.status.isExpired)?_c('small',[_vm._v(\"Expired \"),_c('core.date-label',{attrs:{\"date\":_vm.license.expiration,\"label-type\":_vm.disabled ? 'inherit' : 'primary'}})],1):(_vm.license.status.isCancelled)?_c('small',[_vm._v(\"Cancelled \"),_c('core.date-label',{attrs:{\"date\":_vm.license.expiration,\"label-type\":_vm.disabled ? 'inherit' : 'primary'}})],1):_c('small',[_vm._v(\"Expires on \"),_c('core.date-label',{attrs:{\"date\":_vm.license.expiration,\"label-type\":_vm.disabled ? 'inherit' : 'primary',\"format\":\"MM/DD/YY HH:mm\"}})],1),_c('licensing.license-usage-progress',{staticClass:\"flex-1\",staticStyle:{\"min-width\":\"4rem\"},attrs:{\"license\":_vm.license}})],1)]),_c('el-tag',{attrs:{\"size\":\"tiny\",\"effect\":_vm.selected ? 'light' : 'dark',\"type\":_vm.selected ? '' : 'info',\"disable-transitions\":\"\"}},[_c('span',[_vm._v(_vm._s(_vm.license.dimension))])]),_vm._t(\"suffix\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { License } from \"@Module/Licensing/Models/License.model\";\nimport { Component, Prop } from \"types-vue\";\nimport Vue from \"vue\";\n\n@Component\nexport default class LicenseListRow extends Vue {\n\n @Prop({ type: Object, required: true })\n protected license: License;\n\n @Prop({ type: Boolean, default: false })\n protected selected: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected disabled: boolean;\n\n protected get rowClass() {\n return {\n \"is-disabled\": this.disabled\n }\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./LicenseListRow.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./LicenseListRow.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LicenseListRow.vue?vue&type=template&id=281451f1&scoped=true&\"\nimport script from \"./LicenseListRow.ts?vue&type=script&lang=ts&\"\nexport * from \"./LicenseListRow.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./LicenseListRow.vue?vue&type=style&index=0&id=281451f1&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"281451f1\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('core.dialog',{ref:\"dialog\",attrs:{\"top\":\"7vh\",\"width\":\"45.5rem\",\"close-on-click-modal\":!_vm.requestTrial.loading,\"close-on-press-escape\":!_vm.requestTrial.loading,\"show-close\":!_vm.requestTrial.loading,\"before-close\":_vm.closeGuard},on:{\"open\":_vm.onOpen,\"closed\":_vm.onClosed},scopedSlots:_vm._u([{key:\"footer\",fn:function(ref){\nvar success = ref.success;\nvar cancel = ref.cancel;\nreturn _c('div',{staticClass:\"space-x-16\"},[(_vm.isInConfigurationStep)?_c('el-button',{attrs:{\"type\":\"text\",\"disabled\":_vm.requestTrial.loading},on:{\"click\":cancel}},[_vm._v(\"Not now\")]):_vm._e(),(_vm.isInConfigurationStep)?_c('el-button',{attrs:{\"type\":\"primary\",\"disabled\":!_vm.isSelectionFulfilled,\"loading\":_vm.requestTrial.loading},on:{\"click\":_vm.startTrial}},[(!_vm.requestTrial.loading)?_c('span',[_vm._v(\"Start trial period\")]):_c('span',[_vm._v(\"Requesting\")])]):_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":success}},[_vm._v(\"Close\")])],1)}}])},[_vm._t(\"title\",[_c('core.label',{attrs:{\"slot\":\"title\",\"icon-size\":\"16px\"},slot:\"title\"},[_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"flask\"},slot:\"icon\"}),_c('H1',[_vm._v(\"Trial Period\")])],1)],{\"slot\":\"title\"}),_c('div',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.requestTrial.loading),expression:\"requestTrial.loading\"}],staticClass:\"trial-dialog\",attrs:{\"element-loading-text\":\"Requesting trial...\"}},[(_vm.isInConfigurationStep)?_c('div',{staticClass:\"space-y-16\"},[_c('trial.trial-summary',{attrs:{\"slots\":_vm.slots,\"duration\":_vm.duration}}),(_vm.getTrialDimensions.error)?_c('core.alert',{attrs:{\"type\":\"error\",\"closable\":false,\"title\":\"Trial dimensions error\",\"description\":_vm.getTrialDimensions.error.message,\"plain\":\"\"}},[_c('el-button',{attrs:{\"slot\":\"footer\",\"icon\":\"el-icon-refresh-right\",\"type\":\"default\",\"size\":\"mini\"},on:{\"click\":function($event){return _vm.fetchTrialDimensions()}},slot:\"footer\"},[_vm._v(\"Try again\")])],1):_c('trial.trial-dimensions-selector',{attrs:{\"slots\":_vm.slots,\"dimensions\":_vm.availableDimensions,\"loading\":_vm.getTrialDimensions.loading,\"disabled\":_vm.getTrialDimensions.loading},on:{\"select\":_vm.onDimensionUnitsChange}}),_c('transition',{attrs:{\"name\":\"el-zoom-in-top\"}},[(!!_vm.requestTrial.error)?_c('core.alert',{attrs:{\"type\":\"error\",\"closable\":false,\"title\":\"Trial request error\",\"description\":_vm.requestTrial.error.message,\"plain\":\"\"}},[_c('el-button',{attrs:{\"slot\":\"footer\",\"icon\":\"el-icon-refresh-right\",\"type\":\"default\",\"size\":\"mini\"},on:{\"click\":function($event){return _vm.startTrial()}},slot:\"footer\"},[_vm._v(\"Try again\")])],1):_vm._e()],1)],1):_vm._t(\"default\",[_c('div',{staticClass:\"space-y-16\"},[_c('core.alert',{attrs:{\"type\":\"success\",\"title\":\"Trial Period Started\",\"description\":\"Your trial period has been successfully activated.\",\"closable\":false,\"plain\":\"\"}},[_c('core.details',{attrs:{\"slot\":\"footer\",\"label\":\"Expiration\"},slot:\"footer\"},[_c('core.date-label',{attrs:{\"date\":_vm.trialInfo.expiration}})],1)],1)],1)])],2)],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Duration as DayJsDuration } from \"dayjs/plugin/duration\";\nimport { Prop } from \"vue-property-decorator\";\nimport { ServiceID } from \"@Service/ServiceID\";\nimport { Component, MapAction } from \"types-vue\";\nimport Vue from \"vue\";\nimport { Dimension, IDimensionUnits } from \"@Module/Licensing/Models/Dimension.model\";\nimport { TrialInfo } from \"@Module/Trial/Models/TrialInfo.model\";\nimport Dialog from \"@Core/Components/Dialog/Dialog\";\nimport { Execution } from \"@Core/Models/Execution\";\nimport TrialApi from \"@Module/Trial/API/Trial.api\";\nimport TrialStore, { TrialRequestPayload } from \"@Module/Trial/Store/Trial.store\";\n\nconst enum TrialStep {\n Configuration = \"configuration\",\n NextSteps = \"next-steps\"\n}\n\n@Component\nexport default class TrialDialog extends Vue {\n\n @Prop({ type: String, required: true })\n protected serviceId: ServiceID;\n\n @Prop({ type: Object, required: true })\n protected duration: DayJsDuration;\n\n @Prop({ type: Number, required: true })\n protected slots: number;\n\n @Prop({ type: Boolean, default: false })\n protected skipNextSteps: boolean;\n\n @MapAction(TrialStore.Mapping)\n private requestTrialStart: (payload: TrialRequestPayload) => Promise;\n\n protected step: TrialStep = TrialStep.Configuration;\n protected trialInfo: TrialInfo = null;\n protected availableDimensions: Dimension[] = [];\n protected dimensionUnits: IDimensionUnits[] = [];\n\n protected getTrialDimensions = Execution.create(\n () => TrialApi.getTrialDimensions(this.serviceId)\n );\n\n protected requestTrial = Execution.create(\n (units: IDimensionUnits[]) => this.requestTrialStart({\n service: this.serviceId,\n data: units\n })\n );\n\n public open(): Promise {\n return (this.$refs.dialog as Dialog).open();\n }\n\n public onOpen() {\n this.fetchTrialDimensions();\n }\n\n public onClosed() {\n this.step = TrialStep.Configuration;\n this.availableDimensions = [];\n this.dimensionUnits = [];\n this.requestTrial.reset();\n this.getTrialDimensions.reset();\n }\n\n protected async fetchTrialDimensions() {\n const dtos = await this.getTrialDimensions.run();\n if (!this.getTrialDimensions.error) {\n this.availableDimensions = dtos.map(Dimension.fromDto);\n }\n }\n\n protected get isInConfigurationStep(): boolean {\n return this.step === TrialStep.Configuration;\n }\n\n protected onDimensionUnitsChange(unitsMap: Record) {\n this.dimensionUnits = Object.keys(unitsMap)\n .reduce((arr, dimName) => {\n const units = unitsMap[dimName];\n arr.push({ dimension: dimName, units });\n return arr;\n }, [] as IDimensionUnits[]);\n }\n\n protected get isSelectionFulfilled(): boolean {\n const currDimUnits = this.dimensionUnits\n .reduce((total, dimUnit) => total + dimUnit.units, 0);\n return this.slots === currDimUnits;\n }\n \n protected async startTrial() {\n this.requestTrial.reset();\n this.trialInfo = await this.requestTrial.run(this.dimensionUnits);\n if (!this.requestTrial.error && this.trialInfo?.isActive) {\n if (this.skipNextSteps) {\n const dialog = this.$refs.dialog as Dialog;\n dialog.success();\n } else {\n this.step = TrialStep.NextSteps;\n }\n }\n }\n\n protected async closeGuard(close: VoidFunction) {\n if (this.requestTrial.loading) { return; }\n const dialog = this.$refs.dialog as Dialog;\n if (this.isInConfigurationStep) {\n dialog.markAsCancel();\n } else {\n dialog.markAsSuccess();\n }\n close();\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./TrialDialog.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./TrialDialog.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TrialDialog.vue?vue&type=template&id=4fafe84e&scoped=true&\"\nimport script from \"./TrialDialog.ts?vue&type=script&lang=ts&\"\nexport * from \"./TrialDialog.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./TrialDialog.vue?vue&type=style&index=0&id=4fafe84e&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4fafe84e\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"amis-report-view\"},[(_vm.permissions.CanListFinancialInfo)?_c('core.card',[_c('div',{staticClass:\"header-container\",attrs:{\"slot\":\"header\"},slot:\"header\"},[_c('div',{staticClass:\"year-selector\"},[_c('i',{staticClass:\"el-icon-arrow-left\",attrs:{\"slot\":\"icon\"},on:{\"click\":function($event){return _vm.previousYear()}},slot:\"icon\"}),_c('h3',[_vm._v(\"Year \"+_vm._s(this.year))]),_c('i',{staticClass:\"el-icon-arrow-right\",attrs:{\"slot\":\"icon\"},on:{\"click\":function($event){return _vm.nextYear()}},slot:\"icon\"})]),(_vm.permissions.CanAddFinancialInfo)?_c('core.superadmin-button',{attrs:{\"size\":\"small\"},on:{\"click\":function($event){return _vm.openFInfoEditor()}}},[_c('span',[_vm._v(\"Add financial info\")])]):_vm._e()],1),_c('el-table',{staticClass:\"table-container\",staticStyle:{\"width\":\"100%\"},attrs:{\"data\":_vm.formattedFInfo}},[_c('el-table-column',{attrs:{\"prop\":\"Month\",\"label\":\"Date\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('span',[_vm._v(_vm._s(scope.row.month))])]}}],null,false,3617326326)}),_c('el-table-column',{attrs:{\"prop\":\"amount\",\"label\":\"Amount\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('span',[_vm._v(_vm._s(scope.row.fInfo.amount + ' €'))])]}}],null,false,1497051819)}),_c('el-table-column',{attrs:{\"prop\":\"type\",\"label\":\"Type\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('span',[_vm._v(_vm._s(scope.row.fInfo.type))])]}}],null,false,2345033208)}),_c('el-table-column',{attrs:{\"prop\":\"project\",\"label\":\"Project\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('span',[_vm._v(_vm._s(scope.row.fInfo.project))])]}}],null,false,1002125781)}),(_vm.permissions.CanEditFinancialInfo)?_c('el-table-column',{attrs:{\"prop\":\"edit\",\"label\":\"Edit\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-button',{on:{\"click\":function($event){return _vm.openFInfoEditor(scope.row.fInfo)}}},[_c('ion-icon',{attrs:{\"name\":\"create\"}})],1)]}}],null,false,300734828)}):_vm._e()],1)],1):_vm._e(),_c('reports.financial-info-dialog',{ref:\"financialInfoDialog\"})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import ReportsStore from \"@Module/Reports/Store/Reports.store\";\nimport { Component, MapAction, MapGetter, Watch, mixins} from \"types-vue\";\nimport { ContractOrigin } from \"@Module/Licensing/Models/ContractOrigin\";\nimport { ServiceID } from \"@Service/ServiceID\";\nimport DayJS from \"dayjs\";\nimport { Permission } from \"@Module/Auth/Models/Roles/Permissions.model\";\nimport AppSettingsStore from \"@Service/Settings/Store/AppSettings/AppSettings.store\";\nimport AuthStore from \"@Module/Auth/Store/Auth.store\";\nimport { AccessRole } from \"@Module/Auth/Models/Roles/AccessRole.model\";\nimport FileDownloadMixin from \"@Core/Mixins/FileDownload.mixin\";\nimport { FInfo, FormattedfInfo, IfInfoDto } from \"@Module/Reports/Models/FinancialInfo.model\";\nimport AmisDialog from \"@Module/Reports/Components/AmisDialog/AmisDialog.vue\";\nimport FinancialInfoDialog from \"../FinancialInfoDialog/FinancialInfoDialog.vue\";\n\n@Component\nexport default class FinancialInfoReport extends mixins(FileDownloadMixin) {\n\n @MapGetter(AppSettingsStore.Mapping)\n protected isPlainUi: boolean;\n\n @MapGetter(ReportsStore.Mapping)\n protected fInfo: FInfo[];\n\n @MapGetter(AuthStore.Mapping)\n protected accessRole: AccessRole;\n\n\n @MapGetter(ReportsStore.Mapping)\n protected currentYear: number;\n \n @MapAction(ReportsStore.Mapping)\n protected fetchFInfo: (year: number) => Promise;\n\n @MapAction(ReportsStore.Mapping)\n protected setCurrentYear: (year: number) => void;\n\n protected serviceId: ServiceID = ServiceID.Console;\n protected year: number = new Date().getFullYear();\n protected formattedFInfo: FormattedfInfo[] = [];\n\n\n protected mounted() {\n if (this.permissions.CanListFinancialInfo) {\n this.fetchFInfo(this.year);\n this.formattedFInfo = this.transformDates(this.fInfo);\n } \n }\n\n @Watch(\"fInfo\")\n protected onFInfoChange() {\n this.formattedFInfo = this.transformDates(this.fInfo);\n }\n\n protected transformDates(fInfo: FInfo[]): FormattedfInfo[] {\n return fInfo.map((info) => {\n return {\n id: info.id,\n month: DayJS(info.date).format(\"MMMM\"),\n fInfo: info,\n amount: info.amount,\n type: info.type,\n project: info?.project\n };\n });\n }\n\n protected originName(origin: ContractOrigin): string {\n return ContractOrigin.nameOf(origin);\n }\n\n protected previousYear() {\n if (this.year > 2021) {\n this.year--;\n this.currentYear = this.year;\n this.fetchFInfo(this.year);\n }\n }\n\n protected nextYear() {\n if (this.year < new Date().getFullYear()) {\n this.year++;\n this.currentYear = this.year;\n this.fetchFInfo(this.year);\n\n } \n }\n\n protected openFInfoEditor(ami?: FInfo) {\n const isEdit = ami? true : false;\n const targetAmi = ami || FInfo.create();\n (this.$refs.financialInfoDialog as FinancialInfoDialog).open(targetAmi, isEdit);\n }\n\n protected get permissions() {\n return {\n CanAddFinancialInfo: this.accessRole.can(this.serviceId, Permission.AddFinancialInfo),\n CanListFinancialInfo: this.accessRole.can(this.serviceId, Permission.ListFinancialInfo),\n CanEditFinancialInfo: this.accessRole.can(this.serviceId, Permission.EditFinancialInfo)\n }\n }\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./FinancialInfoReport.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./FinancialInfoReport.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./FinancialInfoReport.vue?vue&type=template&id=31b6fdf3&scoped=true&\"\nimport script from \"./FinancialInfoReport.ts?vue&type=script&lang=ts&\"\nexport * from \"./FinancialInfoReport.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./FinancialInfoReport.vue?vue&type=style&index=0&id=31b6fdf3&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"31b6fdf3\",\n null\n \n)\n\nexport default component.exports","import { LicenseFilters } from \"@Module/Licensing/Models/LicenseFilters.model\";\nimport { AbapSuiteHostFilters } from \"./AbapSuiteHostFilters.model\";\n\nexport class AbapSuiteLicenseFilters extends LicenseFilters {\n\n public hosts: AbapSuiteHostFilters;\n\n protected initialize() {\n super.initialize();\n this.hosts = AbapSuiteHostFilters.create();\n }\n\n public static create(): AbapSuiteLicenseFilters {\n return new AbapSuiteLicenseFilters();\n }\n\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('core.columns-layout',{staticClass:\"packages-view\",attrs:{\"show-right\":!_vm.$mq.lg}},[_c('div',[_c('core.title',{staticClass:\"flex-0 title-resources\"},[_vm._t(\"title\",[_c('core.label',{attrs:{\"icon-size\":\"18px\",\"icon-spacing\":\".6rem\"}},[_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"archive-outline\"},slot:\"icon\"}),_c('H1',[_vm._v(\"Downloads\")])],1)])],2),_c('core.card',{staticClass:\"service-resources h-content\"},[_c('div',{staticClass:\"resource-downloader\"},[(_vm.permissions.CanDownloadPackages)?_c('div',{key:\"packages\",attrs:{\"label\":\"Downloads\",\"name\":\"packages\"}},[(!_vm.sessionToken)?_c('core.alert',{attrs:{\"title\":\"Members only access\",\"description\":\"This feature is restricted to members. In order to download resources you must sign into your account.\",\"type\":\"warning\",\"closable\":false,\"floating\":\"\",\"plain\":\"\"}},[_c('el-button',{attrs:{\"slot\":\"footer\",\"icon\":\"el-icon-user\",\"type\":\"default\",\"size\":\"mini\"},on:{\"click\":_vm.signInForDownloads},slot:\"footer\"},[_vm._v(\"Sign in\")])],1):_vm._e(),(!!_vm.fetchPlatforms.error)?_c('core.alert',{attrs:{\"title\":\"Release resources error\",\"description\":_vm.fetchPlatforms.error.message,\"type\":\"error\",\"closable\":false,\"plain\":\"\"}},[_c('el-button',{attrs:{\"slot\":\"footer\",\"type\":\"default\",\"size\":\"mini\"},on:{\"click\":_vm.fetchSelectedReleaseResources},slot:\"footer\"},[_vm._v(\"Try again\")])],1):_vm._e(),_c('div',{staticClass:\"all-resources h-content\"},[(_vm.downloadsNotAllowed && _vm.permissions.CanDownloadPackages)?_c('core.alert',{staticClass:\"no-leave-el-transition alert\",attrs:{\"title\":\"Active contract required\",\"description\":\"In order to being able to download resources from this service, an active contract is required.\",\"type\":\"warning\",\"closable\":false,\"plain\":\"\"}}):_vm._e(),(_vm.allPlatforms.length > 0 )?_c('div',_vm._l((_vm.allPlatforms),function(platform){return _c('div',[_c('h2',[_vm._v(_vm._s(platform.description))]),_vm._l((platform.releases),function(release){return _c('div',[_c('resources.releases-collapse',{attrs:{\"plain\":\"\",\"default-collapsed\":\"\",\"title\":release.description,\"release\":release}},[(!release.resources)?_c('core.empty',{attrs:{\"slot\":\"empty\",\"description\":\"There are no downloads for this release yet\"},slot:\"empty\"},[_c('i',{staticClass:\"el-icon-box\",attrs:{\"slot\":\"icon\"},slot:\"icon\"})]):_c('resources.resources-list',{attrs:{\"disabled\":_vm.getResPermissions.loading || _vm.downloadsNotAllowed,\"resources\":release.resources,\"serviceId\":_vm.serviceId}})],1)],1)}),(platform.releases.length === 0)?_c('div',[_c('core.empty',{attrs:{\"slot\":\"empty\",\"description\":\"There are no downloads for this release yet\"},slot:\"empty\"},[_c('i',{staticClass:\"el-icon-box\",attrs:{\"slot\":\"icon\"},slot:\"icon\"})])],1):_vm._e()],2)}),0):_vm._e(),(_vm.permissions.CanAddResources)?_c('core.superadmin-button',{attrs:{\"size\":\"small\"},on:{\"click\":_vm.openManageResourcesDialog}},[_c('span',[_vm._v(\"Manage Resources\")])]):_vm._e(),_c('resources.manage-resources-dialog',{attrs:{\"all-platforms\":_vm.allPlatforms,\"serviceId\":_vm.serviceId}})],1)],1):_vm._e()])])],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport { ResourcePermissions } from '@Module/Resources/Models/ResourcePermissions.model';\nimport { Permission } from '@Module/Auth/Models/Roles/Permissions.model';\nimport { CustomHubResource } from '@Core/Models/CustomHubResource.model';\nimport { AccessRole } from '@Module/Auth/Models/Roles/AccessRole.model';\nimport { SessionToken } from '@Module/Auth/Models/SessionToken.model';\nimport ResourcesStore from '@Module/Resources/Store/Resources.store';\nimport { Component, MapAction, MapGetter, Watch } from 'types-vue';\nimport OrgsStore from '@Module/Orgs/Store/Orgs.store';\nimport AuthStore from '@Module/Auth/Store/Auth.store';\nimport { Execution } from '@Core/Models/Execution';\nimport { ServiceID } from '@Service/ServiceID';\nimport Vue from 'vue';\nimport { Platform } from '@Module/Resources/Models/Platform.model';\n\nconst enum CustomResourcesType {\n OnlineDocs = \"docs.online\"\n} \n\n@Component\nexport default class EmoryPackages extends Vue {\n\n @MapGetter(AuthStore.Mapping)\n protected sessionToken: SessionToken;\n\n @MapGetter(AuthStore.Mapping)\n protected accessRole: AccessRole;\n\n @MapGetter(OrgsStore.Mapping)\n protected noOrganization: boolean;\n\n @MapGetter(ResourcesStore.Mapping)\n protected allPlatforms: Platform[];\n\n @MapGetter(ResourcesStore.Mapping)\n protected emoryResourcePermissions: ResourcePermissions;\n \n @MapAction(AuthStore.Mapping)\n protected openAuthDialog: (context?: string) => Promise;\n\n @MapAction(ResourcesStore.Mapping)\n protected fetchResourcePermissions: (service: ServiceID) => Promise;\n\n @MapAction(ResourcesStore.Mapping)\n protected openManageResourcesDialog: () => Promise;\n\n @MapAction(ResourcesStore.Mapping)\n protected closeManageResourcesDialog: () => Promise;\n\n @MapAction(ResourcesStore.Mapping)\n protected fetchPlatforms: (serviceId: ServiceID) => Promise;\n\n protected serviceId: ServiceID = ServiceID.Emory;\n\n protected getResPermissions = Execution\n .create(() => this.fetchResourcePermissions(this.serviceId));\n @Watch(\"sessionToken\", { immediate: true })\n protected async onSessionChange(token: SessionToken) {\n if (!!token && !token.hasExpired && !this.noOrganization) {\n this.getResPermissions.run();\n this.fetchPlatforms(this.serviceId);\n } else {\n this.getResPermissions.reset();\n this.fetchPlatforms(this.serviceId);\n }\n }\n\n protected get otherResources(): CustomHubResource[] { \n return [] \n }\n\n protected customResourceSelected(item: CustomHubResource) {\n if (!!item.meta.url) {\n window.open(item.meta.url);\n }\n }\n\n protected signInForDownloads() {\n const ctx = \"Sign into your account to download resources from this service.\";\n this.openAuthDialog(ctx);\n }\n\n protected openIssueManager() {\n window.open(process.env.VUE_APP_SERVICE_URL_ISSUES);\n }\n\n protected get permissions() {\n return {\n CanDownloadPackages: this.accessRole.can(this.serviceId, Permission.DownloadPackages),\n CanAddResources: this.accessRole.can(ServiceID.Console, Permission.CreateResources),\n }\n }\n\n protected mounted() {\n this.fetchPlatforms(this.serviceId);\n }\n\n protected get downloadsNotAllowed(): boolean {\n return !!this.emoryResourcePermissions && !this.emoryResourcePermissions.canDownload;\n }\n\n}\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./EmoryPackages.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./EmoryPackages.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./EmoryPackages.vue?vue&type=template&id=bb1be438&\"\nimport script from \"./EmoryPackages.ts?vue&type=script&lang=ts&\"\nexport * from \"./EmoryPackages.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./List.vue?vue&type=style&index=0&id=510db9f7&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"title\",class:_vm.titleClass},[(_vm.allowNavigation)?_c('el-page-header',{class:_vm.titleClass,on:{\"back\":_vm.onBack}},[_vm._t(\"back\",[(!!_vm.back)?_c('span',[_vm._v(_vm._s(_vm.back))]):_vm._e()],{\"slot\":\"title\"}),_vm._t(\"default\",[_c('core.label',{attrs:{\"type\":\"primary\",\"value\":_vm.title}},[_vm._t(\"icon\",null,{\"slot\":\"icon\"})],2)],{\"slot\":\"content\"})],2):_c('div',{staticClass:\"no-nav\"},[_vm._t(\"default\",[_c('core.label',{attrs:{\"type\":\"primary\",\"value\":_vm.title,\"icon-size\":_vm.iconSize,\"icon-spacing\":_vm.iconSpacing}},[_vm._t(\"icon\",null,{\"slot\":\"icon\"}),_c('span',[_vm._v(_vm._s(_vm.title))])],2)])],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { ConsoleRoute } from \"@Core/Models/ConsoleRoute\";\nimport NavigationStore from \"@Core/Store/Navigation/Navigation.store\";\nimport { Component, MapGetter, Prop } from \"types-vue\";\nimport Vue from \"vue\";\n\n@Component\nexport default class Title extends Vue {\n\n @Prop({ type: String, default: null })\n protected title: string;\n\n @Prop({ type: String, default: null })\n protected back: string;\n\n @Prop({ type: Boolean, default: false })\n protected disabled: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected allowNavigation: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected autoBack: boolean;\n\n @Prop({ type: String, default: \"inherit\" })\n protected iconSize: string;\n\n @Prop({ type: String, default: \"4px\" })\n protected iconSpacing: string;\n\n @MapGetter(NavigationStore.Mapping)\n protected previousRoute: ConsoleRoute;\n\n protected get titleClass() {\n return {\n \"is-disabled\": this.disabled\n }\n }\n\n protected onBack() {\n if (this.disabled) { return; }\n this.$emit(\"back\"); \n }\n\n}","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./Title.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./Title.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Title.vue?vue&type=template&id=ee2c4664&scoped=true&\"\nimport script from \"./Title.ts?vue&type=script&lang=ts&\"\nexport * from \"./Title.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./Title.vue?vue&type=style&index=0&id=ee2c4664&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"ee2c4664\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PaymentForm.vue?vue&type=style&index=0&lang=scss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('core.label',{staticClass:\"date-label\",attrs:{\"type\":_vm.labelType,\"icon-spacing\":_vm.iconSpacing,\"icon-size\":_vm.iconSize,\"icon-y-offset\":_vm.iconYOffset,\"icon-position\":_vm.iconPosition}},[_vm._t(\"default\",[_c('span',[_vm._v(_vm._s(_vm.date.format(_vm.format)))])],{\"date\":_vm.date,\"formattedDate\":_vm.date.format(_vm.format)}),(_vm.showRelativeTime)?_c('el-tooltip',{attrs:{\"slot\":\"icon\",\"placement\":\"top\",\"enterable\":false,\"effect\":_vm.isPrimaryType ? 'dark' : 'light',\"transition\":\"el-zoom-in-bottom\"},slot:\"icon\"},[_vm._t(\"tooltip\",[_c('span',[_vm._v(_vm._s(_vm._f(\"capitalize\")(_vm.date.fromNow())))])],{\"slot\":\"content\",\"date\":_vm.date,\"formattedDate\":_vm.date.format(_vm.format)}),_c('i',{staticClass:\"el-icon-time\"})],2):_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Prop } from \"types-vue\";\nimport { Dayjs } from \"dayjs\";\nimport Vue from \"vue\";\nimport { UISize } from \"@Service/Settings/Store/AppSettings/AppSettings.state\";\n\n@Component\nexport default class DateLabel extends Vue {\n\n @Prop({ type: Object, required: true })\n protected date: Dayjs;\n\n @Prop({ type: String, default: null })\n protected size: UISize;\n\n @Prop({ type: Boolean, default: true })\n protected showRelativeTime: boolean; \n\n @Prop({ type: String, default: \"MM/DD/YY HH:mm:ss\" })\n protected format: string;\n\n @Prop({ type: String, default: \"3px\" })\n protected iconSpacing: string;\n\n @Prop({ type: String })\n protected iconYOffset: string;\n\n @Prop({ type: String, default: \"inherit\" })\n protected iconSize: string;\n\n @Prop({ type: String, default: \"end\" })\n protected iconPosition: \"end\" | \"start\";\n\n @Prop({ type: String, default: \"primary\" })\n protected labelType: \"primary\" | \"secondary\" | \"inherit\" | \"danger\" | \"success\";\n\n protected get isPrimaryType(): boolean {\n return this.labelType === \"primary\";\n }\n\n}","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./DateLabel.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./DateLabel.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DateLabel.vue?vue&type=template&id=511f4090&scoped=true&\"\nimport script from \"./DateLabel.ts?vue&type=script&lang=ts&\"\nexport * from \"./DateLabel.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./DateLabel.vue?vue&type=style&index=0&id=511f4090&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"511f4090\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Pulse.vue?vue&type=style&index=0&id=1319cdfa&lang=scss&scoped=true&\"","export const enum Permission {\n AccessLegacyService = \"AccessLegacyService\",\n ActivateInstance = \"ActivateInstance\",\n AcceptOrgAccessRequest = \"AcceptOrgAccessRequest\",\n CreateAppUsers = \"CreateAppUsers\",\n CreateChildOrg = \"CreateChildOrg\",\n CreateContract = \"CreateContract\",\n CreateInstanceEndpoints = \"CreateInstanceEndpoints\",\n CreateInstanceWorkmodes = \"CreateInstanceWorkmodes\",\n CreateOrgUsers = \"CreateOrgUsers\",\n CancelOrgInvitation = \"CancelOrgInvitation\",\n DeactivateInstance = \"DeactivateInstance\",\n DeleteAppUsers = \"DeleteAppUsers\",\n DeleteInstanceEndpoints = \"DeleteInstanceEndpoints\",\n DeleteInstanceWorkmodes = \"DeleteInstanceWorkmodes\",\n DeleteOrgUsers = \"DeleteOrgUsers\",\n DownloadOtherResources = \"DownloadOtherResources\",\n DownloadPackages = \"DownloadPackages\",\n EditOrg = \"EditOrg\",\n EditAppUsers = \"EditAppUsers\",\n EditContract = \"EditContract\",\n EditContractNotifications = \"EditContractNotifications\",\n EditInstanceEndpoints = \"EditInstanceEndpoints\",\n EditInstanceIntegration = \"EditInstanceIntegration\",\n EditInstanceWorkmodes = \"EditInstanceWorkmodes\",\n EditOrgUsers = \"EditOrgUsers\",\n ExportBackups = \"ExportBackups\",\n ExportLicensingSummary = \"ExportLicensingSummary\",\n FullAccess = \"FullAccess\",\n InviteOrgMembers = \"InviteOrgMembers\",\n ListAppUsers = \"ListAppUsers\",\n ListBackups = \"ListBackups\",\n ListContracts = \"ListContracts\",\n ListHosts = \"ListHosts\",\n ListInstanceEndpoints = \"ListInstanceEndpoints\",\n ListInstanceWorkmodes = \"ListInstanceWorkmodes\",\n ListLicenses = \"ListLicenses\",\n ListLicensingSummary = \"ListLicensingSummary\",\n ListManagedPermissions = \"ListManagedPermissions\",\n ListOrgInvitations = \"ListOrgInvitations\",\n ListOrgUsers = \"ListOrgUsers\",\n ManageIssues = \"ManageIssues\",\n MarkOrgAsTest = \"MarkOrgAsTest\",\n PurchaseContract = \"PurchaseContract\",\n RecoverLicenseFile = \"RecoverLicenseFile\",\n RegisterHost = \"RegisterHost\",\n RequestTrial = \"RequestTrial\",\n ShareLicenses = \"ShareLicenses\",\n UnregisterHost = \"UnregisterHost\",\n ViewInstanceIntegration = \"ViewInstanceIntegration\",\n ListFinancialInfo = \"ListFinancialInfo\",\n AddFinancialInfo = \"AddFinancialInfo\",\n EditFinancialInfo = \"EditFinancialInfo\",\n CreateResources = \"CreateResources\",\n}","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AdminEditContractDialog.vue?vue&type=style&index=0&id=1d3135fa&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"org-summary flex flex-wrap container-y-4 container-x-16\"},[_c('core.details',{attrs:{\"label\":\"Name\"}},[_c('orgs.org-label',{staticClass:\"w-full\",attrs:{\"org\":_vm.org}})],1),_c('core.details',{attrs:{\"label\":\"Identifier\"}},[_c('core.copy-label',{attrs:{\"value\":_vm.org.uuid}},[_c('el-tooltip',{attrs:{\"effect\":\"light\",\"content\":_vm.org.uuid,\"placement\":\"top\",\"open-delay\":500,\"disabled\":!_vm.orgCode.includes('...'),\"enterable\":false,\"transition\":\"el-zoom-in-bottom\"}},[_c('span',{staticClass:\"text-uppercase\"},[_vm._v(_vm._s(_vm.orgCode))])])],1)],1),(!!_vm.org.domain)?_c('core.details',{attrs:{\"label\":\"Domain\",\"spacing\":\"3px\"}},[_c('el-tag',{attrs:{\"size\":\"mini\",\"effect\":\"dark\",\"type\":\"info\",\"disable-transitions\":\"\"}},[_c('span',[_vm._v(_vm._s(_vm.org.domain))])])],1):_vm._e(),_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Organization } from \"@Module/Orgs/Models/Organization.model\";\nimport { Component, Prop } from \"types-vue\";\nimport { Utils } from \"@Core/Utils/Utils\";\nimport Vue from \"vue\";\n\n@Component\nexport default class OrgDetails extends Vue {\n\n @Prop({ type: Object, required: true })\n protected org: Organization;\n\n @Prop({ type: Boolean, default: false })\n protected expand: boolean;\n\n protected get orgName(): string {\n if (this.$mq.md) return Utils.smartTrim(this.org.name, this.expand ? 8 : 14);\n else if (this.$mq.lg) return Utils.smartTrim(this.org.name, this.expand ? 16 : 18);\n else return Utils.smartTrim(this.org.name, this.expand ? 20 : 26);\n }\n\n protected get orgCode(): string {\n if (this.$mq.md) return Utils.smartTrim(this.org.uuid, this.expand ? 6 : 8);\n else if (this.$mq.lg) return Utils.smartTrim(this.org.uuid, this.expand ? 8 : 10);\n else return Utils.smartTrim(this.org.uuid, this.expand ? 10 : 14);\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./OrgSummary.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./OrgSummary.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OrgSummary.vue?vue&type=template&id=382ba1a5&\"\nimport script from \"./OrgSummary.ts?vue&type=script&lang=ts&\"\nexport * from \"./OrgSummary.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"space-y-16\"},[_c('auth.new-pwd-form',{ref:\"form\",attrs:{\"disabled\":_vm.disabled || _vm.changingPwd},on:{\"change\":_vm.onNewPasswordChange}}),_c('transition',{attrs:{\"name\":\"el-zoom-in-top\"}},[(!!_vm.newPwdError)?_c('core.alert',{attrs:{\"type\":\"error\",\"title\":\"Change password error\",\"description\":_vm.newPwdError.message || 'An unknown error occurred changing your password, please try again.',\"plain\":\"\"}}):_vm._e()],1),_c('div',{staticClass:\"flex content-end space-x-8\"},[_c('el-button',{attrs:{\"type\":\"primary\",\"loading\":_vm.changingPwd,\"disabled\":_vm.disabled || !_vm.challenge.password},on:{\"click\":_vm.submit}},[_vm._v(\"Change password\")])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { NewPwdChallenge } from \"@Module/Auth/Models/SignIn/NewPwdChallenge.model\";\nimport { SignInResponse } from \"@Module/Auth/Models/SignIn/SignInResponse.model\";\nimport { Component, MapAction, MapGetter, Prop } from \"types-vue\";\nimport AuthStore from \"@Module/Auth/Store/Auth.store\";\nimport NewPwdForm from \"../NewPwdForm/NewPwdForm\";\nimport Vue from \"vue\";\nimport { AuthStatus } from \"@Module/Auth/Store/Auth.state\";\n\n@Component\nexport default class NewPwdChallengePanel extends Vue {\n\n @Prop({ required: true })\n protected challenge: NewPwdChallenge;\n\n @Prop({ type: Boolean, default: false })\n protected disabled: boolean;\n\n @MapGetter(AuthStore.Mapping)\n protected authStatus: AuthStatus;\n\n @MapAction(AuthStore.Mapping)\n private respondToNewPwdChallenge: (challenge: NewPwdChallenge) => Promise;\n\n protected changingPwd: boolean = false;\n protected newPwdError: Error = null;\n\n protected async submit() {\n try {\n await (this.$refs.form as NewPwdForm).validate();\n this.performSignInChallenge();\n } catch {}\n }\n\n protected setChangingPwd(changingPwd: boolean) {\n this.changingPwd = changingPwd;\n this.$emit(\"update:disabled\", changingPwd);\n }\n\n protected async performSignInChallenge() {\n try {\n this.setChangingPwd(true);\n await this.respondToNewPwdChallenge(this.challenge);\n this.$emit(\"success\");\n } catch (error) {\n this.newPwdError = error;\n } finally {\n this.setChangingPwd(false);\n }\n }\n\n protected onNewPasswordChange(value: string, valid: boolean) {\n this.challenge.password = valid ? value : null;\n }\n\n public async closeGuard(close: VoidFunction) {\n if (this.authStatus === AuthStatus.SignedIn) {\n return close(); \n }\n\n try {\n const message = \"

Do you really want to finish the current password change process?

\"\n + \"

This is a required process and will start again the next time you sign in.

\";\n await this.$confirm(message, \"Finish password change\", {\n type: \"warning\",\n cancelButtonText: \"Cancel\",\n confirmButtonText: \"Finish\",\n dangerouslyUseHTMLString: true\n });\n return close();\n } catch {}\n }\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./NewPwdChallengePanel.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./NewPwdChallengePanel.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./NewPwdChallengePanel.vue?vue&type=template&id=1a03256e&\"\nimport script from \"./NewPwdChallengePanel.ts?vue&type=script&lang=ts&\"\nexport * from \"./NewPwdChallengePanel.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"flex flex-wrap container-x-24 container-y-16\"},[_c('core.details',{attrs:{\"spacing\":\"6px\"}},[_c('core.label',{attrs:{\"slot\":\"label\",\"icon-position\":\"end\",\"icon-size\":\"14px\",\"icon-spacing\":\"4px\"},slot:\"label\"},[_c('H3',[_vm._v(\"Storage\")]),(!!_vm.aws.buildLocationUrl())?_c('el-link',{attrs:{\"slot\":\"icon\",\"type\":\"primary\",\"underline\":false,\"target\":\"_blank\",\"href\":_vm.aws.buildLocationUrl()},slot:\"icon\"},[_c('ion-icon',{attrs:{\"name\":\"open-outline\"}})],1):_vm._e()],1),_c('div',{staticClass:\"flex flex-wrap container-x-16 container-y-16\"},[_c('core.details',{attrs:{\"label\":\"Region\",\"value\":_vm.aws.region}}),_c('core.details',{attrs:{\"label\":\"Bucket Name\",\"value\":_vm.aws.location}}),_c('core.details',{attrs:{\"label\":\"Bucket Path\"}},[(!!_vm.aws.path)?_c('el-tooltip',{attrs:{\"effect\":\"light\",\"content\":_vm.aws.path,\"placement\":\"top\",\"open-delay\":500,\"disabled\":!_vm.bucketPath.includes('...')}},[_c('span',[_vm._v(_vm._s(_vm.bucketPath))])]):_vm._e()],1)],1)],1),_c('core.details',{attrs:{\"spacing\":\"6px\"}},[_c('core.label',{attrs:{\"slot\":\"label\",\"icon-position\":\"end\",\"icon-size\":\"14px\",\"icon-spacing\":\"4px\"},slot:\"label\"},[_c('H3',[_vm._v(\"Encryption\")])],1),_c('div',{staticClass:\"flex flex-wrap container-x-16 container-y-16\"},[_c('core.details',{attrs:{\"label\":\"Type\",\"spacing\":\"3px\"}},[(!!_vm.aws.encryption)?_c('el-tag',{attrs:{\"size\":\"mini\",\"disable-transitions\":\"\",\"type\":\"info\",\"effect\":\"light\"}},[_c('span',[_vm._v(_vm._s(_vm.aws.encryption))])]):_vm._e()],1),_c('core.details',{attrs:{\"label\":\"Key Name\",\"value\":_vm.aws.encryptionKeyName}})],1)],1)],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { BackupAwsCloudProvider } from \"@Service/Emory/Models/Backups/CloudProvider/BackupAwsCloudProvider.model\";\nimport { Component, Prop } from \"types-vue\";\nimport { Utils } from \"@Core/Utils/Utils\";\nimport Vue from \"vue\";\n\n@Component\nexport default class BackupAwsSummary extends Vue {\n\n @Prop({ type: Object, required: true })\n protected aws: BackupAwsCloudProvider;\n\n protected get bucketPath(): string {\n if (this.$mq.md) return Utils.smartTrim(this.aws.path, 15);\n else if (this.$mq.lg) return Utils.smartTrim(this.aws.path, 18);\n else return Utils.smartTrim(this.aws.path, 22);\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./BackupAwsSummary.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./BackupAwsSummary.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./BackupAwsSummary.vue?vue&type=template&id=424d4a29&\"\nimport script from \"./BackupAwsSummary.ts?vue&type=script&lang=ts&\"\nexport * from \"./BackupAwsSummary.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DateSpan.vue?vue&type=style&index=0&id=87cb00a6&lang=scss&scoped=true&\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReleasesList.vue?vue&type=style&index=0&lang=scss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"space-y-16\"},[_c('div',{staticClass:\"flex flex-wrap container-x-24 container-y-16\"},[_c('core.details',{attrs:{\"spacing\":\"6px\"}},[_c('core.label',{attrs:{\"slot\":\"label\"},slot:\"label\"},[_c('H2',[_vm._v(\"General\")]),_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"information-circle\"},slot:\"icon\"})],1),_c('licensing.contract-general-summary',{attrs:{\"contract\":_vm.contract,\"expand\":_vm.expand}})],1),_c('core.details',{attrs:{\"spacing\":\"6px\"}},[_c('core.label',{attrs:{\"slot\":\"label\"},slot:\"label\"},[_c('H2',[_vm._v(\"Validity\")]),_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"timer\"},slot:\"icon\"})],1),_c('licensing.contract-validity-summary',{attrs:{\"contract\":_vm.contract,\"expand\":_vm.expand}})],1),(_vm.permissions.CanEditContractNotifications)?_c('core.details',{attrs:{\"spacing\":\"6px\"}},[_c('core.label',{attrs:{\"slot\":\"label\"},slot:\"label\"},[_c('H2',[_vm._v(\"Notifications\")]),_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"notifications\"},slot:\"icon\"})],1),_c('licensing.contract-notifications-summary',{attrs:{\"contract\":_vm.contract,\"expand\":_vm.expand}})],1):_vm._e()],1),(!!_vm.$slots.default)?_c('div',{staticClass:\"space-x-8\"},[_vm._t(\"default\")],2):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Contract } from \"@Module/Licensing/Models/Contract.model\";\nimport { AccessRole } from \"@Module/Auth/Models/Roles/AccessRole.model\";\nimport { Permission } from \"@Module/Auth/Models/Roles/Permissions.model\";\nimport { Component, MapGetter, Prop } from \"types-vue\";\nimport AuthStore from \"@Module/Auth/Store/Auth.store\";\nimport Vue from \"vue\";\n\n@Component\nexport default class ContractSummary extends Vue {\n\n @Prop({ type: Object, required: true })\n protected contract: Contract;\n\n @Prop({ type: Boolean, default: false })\n protected expand: boolean;\n\n @MapGetter(AuthStore.Mapping)\n protected accessRole: AccessRole;\n\n protected get permissions() {\n return {\n CanEditContractNotifications: this.accessRole\n .can(this.contract.serviceId, Permission.EditContractNotifications)\n }\n }\n \n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./ContractSummary.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./ContractSummary.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ContractSummary.vue?vue&type=template&id=013e9738&\"\nimport script from \"./ContractSummary.ts?vue&type=script&lang=ts&\"\nexport * from \"./ContractSummary.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('core.layout',{staticClass:\"not-found\"},[_c('div',{staticClass:\"space-y-16\"},[_c('core.title',{attrs:{\"allow-navigation\":!!_vm.previousRoute},on:{\"back\":function($event){return _vm.$router.back()}}},[_c('core.label',{attrs:{\"value\":\"Page Not Found\",\"icon-size\":\"18px\",\"icon-spacing\":\".5rem\"}},[_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"search\"},slot:\"icon\"})],1)],1),_c('core.redirect-alert',{attrs:{\"seconds\":_vm.seconds,\"redirect-target\":_vm.redirectPath,\"type\":\"error\",\"title\":\"Page not found\",\"description\":\"The page you are looking for have been removed, had its name changed or is temporarily unavailable.\"}})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import NavigationStore from \"@Core/Store/Navigation/Navigation.store\";\nimport { ConsoleRoute } from \"@Core/Models/ConsoleRoute\";\nimport { Component, MapGetter, Prop } from \"types-vue\";\nimport Clone from \"lodash.clonedeep\";\nimport Vue from \"vue\";\n\n@Component\nexport default class NotFoundView extends Vue {\n\n @Prop({ type: Number, default: 5 })\n protected seconds: number;\n\n @Prop({ type: String, default: \"/\" })\n protected redirectTarget: string;\n\n @MapGetter(NavigationStore.Mapping)\n protected currentRoute: ConsoleRoute;\n\n @MapGetter(NavigationStore.Mapping)\n protected previousRoute: ConsoleRoute;\n\n protected redirectOverwrite: string = null;\n\n protected created() {\n this.redirectOverwrite = this.$route.query.redirect as string;\n if (!!this.redirectOverwrite) {\n const query = Clone(this.$route.query);\n delete query.redirect;\n this.$router.replace({ query }).catch(e => e);\n }\n }\n\n protected get redirectPath(): string {\n return this.redirectOverwrite || this.previousRoute?.path || this.redirectTarget || this.currentRoute.redirectPath;\n }\n \n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./NotFoundView.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./NotFoundView.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./NotFoundView.vue?vue&type=template&id=f612902e&\"\nimport script from \"./NotFoundView.ts?vue&type=script&lang=ts&\"\nexport * from \"./NotFoundView.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SignUpPanel.vue?vue&type=style&index=0&id=7bb80d52&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-select',{attrs:{\"value\":_vm.value,\"placeholder\":_vm.placeholder,\"no-match-text\":\"No matching origin\",\"default-first-option\":\"\",\"size\":_vm.size,\"disabled\":_vm.disabled,\"clearable\":_vm.clearable,\"filterable\":_vm.filterable,\"multiple\":_vm.multiple},on:{\"change\":_vm.onOriginSelected}},_vm._l((_vm.sortedOptions),function(origin){return _c('el-option',{key:origin,attrs:{\"label\":_vm.originName(origin),\"value\":origin}})}),1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { UISize } from \"@Service/Settings/Store/AppSettings/AppSettings.state\";\nimport { ContractOrigin } from \"@Module/Licensing/Models/ContractOrigin\";\nimport { Component, Prop } from \"types-vue\";\nimport Vue from \"vue\";\n\n@Component\nexport default class OriginSelector extends Vue {\n\n @Prop({ type: [String, Array], required: true })\n protected value: ContractOrigin | ContractOrigin[];\n\n @Prop({ type: String, default: \"Filter by origin\" })\n protected placeholder: string;\n\n @Prop({ type: Boolean, default: false })\n protected disabled: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected multiple: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected filterable: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected clearable: boolean;\n\n @Prop({ type: String, default: null })\n protected size: UISize;\n\n @Prop({ type: Array, default: () => ContractOrigin.All })\n protected options: ContractOrigin[];\n\n protected get sortedOptions(): ContractOrigin[] {\n return this.options.sort((a, b) => this.originName(a).localeCompare(this.originName(b)));\n }\n\n protected onOriginSelected(origin: ContractOrigin | ContractOrigin[]) {\n this.$emit(\"input\", origin);\n }\n\n protected originName(origin: ContractOrigin): string {\n return ContractOrigin.nameOf(origin);\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./OriginSelector.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./OriginSelector.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OriginSelector.vue?vue&type=template&id=7b79214a&\"\nimport script from \"./OriginSelector.ts?vue&type=script&lang=ts&\"\nexport * from \"./OriginSelector.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('core.dialog',{attrs:{\"visible\":_vm.dataProtectionDialogVisible,\"width\":\"33rem\",\"append-to-body\":\"\"},on:{\"open\":function($event){return _vm.setDataProtectionDialogVisible(true)},\"close\":function($event){return _vm.setDataProtectionDialogVisible(false)}},scopedSlots:_vm._u([{key:\"footer\",fn:function(ref){\nvar cancel = ref.cancel;\nreturn _c('div',{staticClass:\"space-x-16\"},[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":cancel}},[_vm._v(\"Close\")])],1)}}])},[_c('core.label',{attrs:{\"slot\":\"title\",\"icon-size\":\"20px\",\"icon-spacing\":\".5rem\"},slot:\"title\"},[_c('H1',[_vm._v(\"Data protection policy\")]),_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"shield-checkmark\"},slot:\"icon\"})],1),_c('div',{staticClass:\"space-y-24 mt-8\"},[_c('div',{staticClass:\"flex space-x-24\"},[_c('span',{staticClass:\"flex-none section\"},[_vm._v(\"Controller\")]),_c('span',{staticClass:\"flex-1\"},[_vm._v(\"SYNTAX INFORMATION TECHNOLOGY, S.L.U.\")])]),_c('div',{staticClass:\"flex space-x-24\"},[_c('span',{staticClass:\"flex-none section\"},[_vm._v(\"Purpose\")]),_c('span',{staticClass:\"flex-1\"},[_vm._v(\"Manage access to the private web.\")])]),_c('div',{staticClass:\"flex space-x-24\"},[_c('span',{staticClass:\"flex-none section\"},[_vm._v(\"Legitimation\")]),_c('span',{staticClass:\"flex-1\"},[_vm._v(\"Consent.\")])]),_c('div',{staticClass:\"flex space-x-24\"},[_c('span',{staticClass:\"flex-none section\"},[_vm._v(\"Beneficiaries\")]),_c('span',{staticClass:\"flex-1\"},[_vm._v(\"International Transfer under the agreement EU-US Privacy Shield. Syntax will not communicate the data to third parties, except legal obligation.\")])]),_c('div',{staticClass:\"flex space-x-24\"},[_c('span',{staticClass:\"flex-none section\"},[_vm._v(\"Rights\")]),_c('span',{staticClass:\"flex-1\"},[_vm._v(\"Access, rectification, erasure, restriction object and portability in accordance with the additional information.\")])]),_c('div',{staticClass:\"flex space-x-24\"},[_c('span',{staticClass:\"flex-none section\"},[_vm._v(\"Additional Information\")]),_c('span',[_c('span',{staticClass:\"flex-1\"},[_vm._v(\"Further information is available from our \")]),_c('el-link',{attrs:{\"underline\":false,\"href\":\"https://www.syntax.com/en-eu/privacy-policy/\",\"target\":\"_blank\",\"type\":\"primary\"}},[_vm._v(\"privacy policy \"),_c('i',{staticClass:\"el-icon-top-right mt-4\"})])],1)])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import LegalStore from \"@Module/Legal/Store/Legal.store\";\nimport { Component, MapAction, MapGetter, Prop } from \"types-vue\";\nimport Vue from \"vue\";\n\n@Component\nexport default class DataProtectionDialog extends Vue {\n\n @MapGetter(LegalStore.Mapping)\n protected dataProtectionDialogVisible: boolean;\n \n @MapAction(LegalStore.Mapping)\n protected setDataProtectionDialogVisible: (visible: boolean) => void;\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./DataProtectionDialog.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./DataProtectionDialog.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DataProtectionDialog.vue?vue&type=template&id=2a6d7d99&scoped=true&\"\nimport script from \"./DataProtectionDialog.ts?vue&type=script&lang=ts&\"\nexport * from \"./DataProtectionDialog.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./DataProtectionDialog.vue?vue&type=style&index=0&id=2a6d7d99&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2a6d7d99\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmoryTrialDialog.vue?vue&type=style&index=0&id=b29571d4&lang=scss&scoped=true&\"","import { IOrganizationDto, Organization } from \"@Module/Orgs/Models/Organization.model\";\nimport { ExpirationFilterable } from \"./ExpirationFilterable.model\";\nimport { LicensingStatus } from \"./LicensingStatus.model\";\nimport { LicenseFilters } from \"./LicenseFilters.model\";\nimport { ServiceID } from \"@Service/ServiceID\";\nimport { Host, IHostDto } from \"./Host.model\";\nimport DayJS, { Dayjs } from \"dayjs\";\n\nexport interface ILicenseRecoveryDto {\n hostContent: string;\n}\n\nexport interface ILicenseDto {\n id: number;\n uuid: string;\n status: string;\n contractId: number;\n contractExternalId: string;\n dimension: string;\n platform: string;\n creation: string;\n expiration: string;\n maxHosts: number;\n hosts?: IHostDto[];\n owner: IOrganizationDto;\n shared_with?: IOrganizationDto;\n}\n\nexport abstract class License implements ExpirationFilterable {\n public readonly id: number;\n public readonly externalId: string;\n public readonly status: LicensingStatus;\n public readonly contractId: number;\n public readonly contractExternalId: string;\n public readonly dimension: string;\n public readonly platform?: string;\n public readonly creation: Dayjs;\n public readonly expiration: Dayjs;\n public readonly maxHosts: number;\n public readonly hosts: THost[];\n public readonly owner: Organization;\n public readonly tenant?: Organization;\n \n public readonly serviceId: ServiceID;\n\n protected constructor(dto: ILicenseDto, serviceId: ServiceID) {\n this.id = dto.id;\n this.externalId = dto.uuid;\n this.status = LicensingStatus.create(dto.status);\n this.contractId = dto.contractId;\n this.contractExternalId = dto.contractExternalId;\n this.dimension = dto.dimension;\n this.platform = dto.platform || undefined;\n this.creation = DayJS(dto.creation);\n this.expiration = DayJS(dto.expiration);\n this.maxHosts = dto.maxHosts;\n this.hosts = !!dto.hosts ? this.parseHosts(dto.hosts) : [];\n this.serviceId = serviceId;\n this.owner = Organization.fromDto(dto.owner);\n if (!!dto.shared_with) {\n this.tenant = Organization.fromDto(dto.shared_with);\n }\n }\n\n protected abstract parseHosts(dtos: IHostDto[]): THost[];\n\n public get hostCount(): number {\n return this.hosts.length;\n }\n\n public get hasAvailability(): boolean {\n return this.status.isActive && this.hosts.length < this.maxHosts;\n }\n\n public get isMultiHost(): boolean {\n return this.maxHosts > 1;\n }\n\n public get isShared(): boolean {\n return !!this.tenant;\n }\n\n public isSharedToOrg(org?: Organization) {\n return this.isShared && this.tenant.id === org?.id;\n }\n\n public isOwnedByOrg(org?: Organization) {\n return this.owner.id === org?.id;\n }\n\n public isEligibleToShare(owner?: Organization, tenant?: Organization): boolean {\n return this.status.isActiveOrInGrace && !this.isShared && this.isOwnedByOrg(owner);\n }\n\n public isEligibleToReturn(owner?: Organization, tenant?: Organization): boolean {\n return this.isOwnedByOrg(owner) && this.isSharedToOrg(tenant);\n }\n\n public get usagePercentage(): number {\n const usage = this.hosts.length / this.maxHosts;\n return Math.round((usage * 100) * 10) / 10;\n }\n\n public meetFilters(filters: LicenseFilters): boolean {\n\n if (filters.onlyWithHosts && this.hostCount === 0) {\n return false;\n }\n\n const meetsOwner = filters.owners.length > 0\n ? filters.owners.some(owner => owner.id === this.owner?.id) : true;\n if (!meetsOwner) { return false; }\n\n const meetsTenant = filters.tenants.length > 0\n ? filters.tenants.some(tenant => tenant.id === this.tenant?.id) : true;\n if (!meetsTenant) { return false; }\n \n const meetsStatus = filters.status.length > 0 \n ? filters.status.includes(this.status.phase) : true;\n if (!meetsStatus) { return false; }\n \n const meetsDimensions = filters.dimensions.length > 0 \n ? filters.dimensions.some(d => d.name === this.dimension) : true;\n if (!meetsDimensions) { return false; }\n \n if (!this.hasAvailability && filters.withAvailability) {\n return false;\n }\n\n const meetsHostFilters = filters.hosts.isFiltering \n ? this.hosts.some(host => host.meetFilters(filters.hosts)) : true;\n if (!meetsHostFilters) { return false; }\n \n const text = filters.search?.toLowerCase() || \"\";\n return this.meetsSearch(text);\n }\n\n public meetsSearch(query: string): boolean {\n const text = query.toLowerCase();\n if (!text) { return true; }\n const state = this.status.label.toLowerCase();\n const code = this.externalId.toLowerCase();\n const dimension = this.dimension.toLowerCase();\n const contractExternalId = this.contractExternalId;\n const platform = this.platform?.toLowerCase() || \"\";\n const ownerSearch = this.owner.meetsSearch(text) ?? false;\n const tenantSearch = this.tenant?.meetsSearch(text) ?? false;\n return state.includes(text) \n || code.includes(text) \n || dimension.includes(text) \n || contractExternalId.includes(text)\n || platform.includes(text)\n || ownerSearch\n || tenantSearch;\n }\n\n public meetsExpirationThreshold(threshold: Dayjs): boolean {\n return !this.status.isExpired && this.expiration.isBefore(threshold);\n }\n\n}","import { UISize } from \"@Service/Settings/Store/AppSettings/AppSettings.state\";\nimport { Component, Prop, Watch } from \"types-vue\";\nimport Vue from \"vue\";\n\nexport const enum YesNoOption {\n Yes = \"Yes\",\n No = \"No\"\n}\n\n@Component\nexport default class YesNoCheckboxGroup extends Vue {\n\n @Prop({ type: Array, default: () => [] })\n protected value: YesNoOption[];\n\n @Prop({ type: String, default: null })\n protected size: UISize;\n\n @Prop({ type: Boolean, default: false })\n protected disabled: boolean;\n\n protected internalValue: YesNoOption[] = [];\n\n @Watch(\"value\", { immediate: true })\n protected onValueChange(value: YesNoOption[]) {\n this.internalValue = value;\n }\n\n @Watch(\"internalValue\")\n protected onInternalValueChange(value: YesNoOption[]) {\n this.$emit(\"input\", value);\n }\n\n}","import DayJS, { Dayjs } from \"dayjs\";\nimport { HostFilters } from \"./HostFilters.model\";\n\nexport interface IHostDto {\n [serviceAttrs: string]: any;\n id: number;\n externalId: string;\n licenseId: number;\n hostname: string;\n creation: string;\n expiration: string;\n clientVersion: string;\n}\n\nexport enum HostAvailability {\n Available = \"Available\",\n Registered = \"Registered\",\n Expired = \"Expired\"\n}\n\nexport class Host {\n public readonly id: number;\n public readonly externalId: string;\n public readonly licenseId: number;\n public readonly hostname: string;\n public readonly creation: Dayjs;\n public readonly expiration: Dayjs;\n public readonly clientVersion: string;\n\n protected constructor(dto: IHostDto) {\n this.id = dto.id;\n this.externalId = dto.externalId;\n this.licenseId = dto.licenseId;\n this.hostname = dto.hostname;\n this.creation = DayJS(dto.creation);\n this.expiration = DayJS(dto.expiration);\n this.clientVersion = dto.clientVersion;\n }\n\n public static fromDto(dto: IHostDto): Host {\n return new Host(dto);\n }\n\n public get isRegistered(): boolean {\n return !!this.hostname;\n }\n\n public get hasExpired(): boolean {\n return this.expiration.isBefore(DayJS());\n }\n\n public get availability(): HostAvailability {\n if (this.hasExpired) {\n return HostAvailability.Expired;\n } else {\n return this.isRegistered \n ? HostAvailability.Registered \n : HostAvailability.Available;\n }\n }\n\n public meetFilters(filters: HostFilters): boolean {\n const meetsHostHostnames = filters.hostnames.length > 0 \n ? filters.hostnames.some(hname => this.hostname === hname) : true;\n if (!meetsHostHostnames) { return false; }\n\n const meetsExternalIds = filters.externalIds.length > 0 \n ? filters.externalIds.some(extId => this.externalId === extId) : true;\n if (!meetsExternalIds) { return false; }\n\n const text = filters.search?.toLowerCase() || \"\";\n if (!text) { return true; }\n const searchCode = this.externalId.toLowerCase().includes(text);\n const searchHostname = this.hostname.toLowerCase().includes(text);\n return searchCode || searchHostname;\n }\n\n}","import { YesNoOption } from \"@Core/Components/YesNoCheckboxGroup/YesNoCheckboxGroup\";\nimport { AbapSuiteHostFilters } from \"./Filters/AbapSuiteHostFilters.model\";\nimport { Host, IHostDto } from \"@Module/Licensing/Models/Host.model\";\n\nexport class AbapSuiteHost extends Host {\n public readonly isProduction: boolean;\n public readonly sid: string;\n\n protected constructor(dto: IHostDto) {\n super(dto);\n this.sid = dto.sid;\n this.isProduction = dto.isProduction;\n }\n\n public static fromDto(dto: IHostDto): AbapSuiteHost {\n return new AbapSuiteHost(dto);\n }\n\n public meetFilters(filters: AbapSuiteHostFilters): boolean {\n const meetBaseFilters = super.meetFilters(filters);\n if (!meetBaseFilters) { return false; }\n\n const meetsHostSid = filters.sIds.length > 0 \n ? filters.sIds.some(sid => this.sid === sid) : true;\n if (!meetsHostSid) { return false; }\n\n const meetsProdEnv = filters.production.length > 0 \n ? filters.production.some(notifStatus => {\n return this.isProduction && notifStatus === YesNoOption.Yes\n || !this.isProduction && notifStatus === YesNoOption.No\n }) : true;\n if (!meetsProdEnv) { return false; }\n\n return true;\n }\n}","import { ILicenseDto, License } from \"@Module/Licensing/Models/License.model\";\nimport { IHostDto } from \"@Module/Licensing/Models/Host.model\";\nimport { AbapSuiteHost } from \"./AbapSuiteHost.model\";\nimport { ServiceID } from \"@Service/ServiceID\";\n\nexport class AbapSuiteLicense extends License {\n\n protected constructor(dto: ILicenseDto) {\n super(dto, ServiceID.AbapSuite);\n }\n\n protected parseHosts(dtos: IHostDto[]): AbapSuiteHost[] {\n return dtos.map(AbapSuiteHost.fromDto);\n }\n\n public static fromDto(dto: ILicenseDto): AbapSuiteLicense {\n return new AbapSuiteLicense(dto);\n }\n\n}","import { Host, IHostDto } from \"@Module/Licensing/Models/Host.model\";\nimport { EmoryHostFilters } from \"./Filters/EmoryHostFilters.model\";\n\nexport class EmoryHost extends Host {\n public readonly ip: string;\n public readonly sid: string;\n public readonly memory: number;\n public readonly clusterId: string;\n public readonly clientVersion: string;\n\n protected constructor(dto: IHostDto) {\n super(dto);\n this.ip = dto.ip;\n this.sid = dto.sid;\n this.memory = dto.memory;\n this.clusterId = dto.clusterId;\n this.clientVersion = dto.clientVersion;\n }\n\n public static fromDto(dto: IHostDto): EmoryHost {\n return new EmoryHost(dto);\n }\n\n public meetFilters(filters: EmoryHostFilters): boolean {\n const meetsBaseFilters = super.meetFilters(filters);\n if (!meetsBaseFilters) { return false; }\n\n const meetsHostSid = filters.sIds.length > 0 \n ? filters.sIds.some(sid => this.sid === sid) : true;\n if (!meetsHostSid) { return false; }\n\n const meetVersions = filters.versions.length > 0 \n ? filters.versions.some(v => this.clientVersion === v) : true;\n if (!meetVersions) { return false; }\n\n const meetIps = filters.ips.length > 0 \n ? filters.ips.some(ip => this.ip === ip) : true;\n if (!meetIps) { return false; }\n\n return true;\n }\n}\n","import { ILicenseDto, License } from \"@Module/Licensing/Models/License.model\";\nimport { IHostDto } from \"@Module/Licensing/Models/Host.model\";\nimport { ServiceID } from \"@Service/ServiceID\";\nimport { EmoryHost } from \"./EmoryHost.model\";\nimport { LicenseFilters } from \"@Module/Licensing/Models/LicenseFilters.model\";\nimport { EmoryLicenseFilters } from \"./Filters/EmoryLicenseFilters.model\";\n\nexport class EmoryLicense extends License {\n\n protected constructor(dto: ILicenseDto) {\n super(dto, ServiceID.Emory);\n }\n\n protected parseHosts(dtos: IHostDto[]): EmoryHost[] {\n return dtos.map(EmoryHost.fromDto);\n }\n\n public static fromDto(dto: ILicenseDto): EmoryLicense {\n return new EmoryLicense(dto);\n }\n\n public meetFilters(filters: EmoryLicenseFilters): boolean {\n const meetsBaseFilters = super.meetFilters(filters);\n if (!meetsBaseFilters) { return false; }\n\n return true;\n }\n\n}","import { ILicenseDto, License } from \"./License.model\";\nimport { ServiceID } from \"@Service/ServiceID\";\nimport { AbapSuiteLicense } from \"@Service/AbapSuite/Models/AbapSuiteLicense.model\";\nimport { EmoryLicense } from \"@Service/Emory/Models/EmoryLicense.model\";\n\n\nexport class LicenseFactory {\n\n public static fromDto(dto: ILicenseDto, service: ServiceID): License {\n switch (service) {\n case ServiceID.Emory: return EmoryLicense.fromDto(dto);\n case ServiceID.AbapSuite: return AbapSuiteLicense.fromDto(dto);\n default: throw new Error(`[LicenseFactory] Unknown service ${service}`);\n }\n }\n}","import ResourcesStore, { ResourcesStoreAction, SetResourcePermissionsPayload } from \"@Module/Resources/Store/Resources.store\";\nimport { Dimension, IDimensionUnits } from \"@Module/Licensing/Models/Dimension.model\";\nimport { Contract, IContractDto, IUpdateContractDto } from \"../Models/Contract.model\";\nimport { ContractPurchase } from \"@Module/Auth/Models/ContractPurchase.model\";\nimport { ServiceID, ServiceMap, ServicePayload } from \"@Service/ServiceID\";\nimport OrgsStore, { OrgsStoreGetter } from \"@Module/Orgs/Store/Orgs.store\";\nimport { Action, Getter, Module, Mutation, VuexModule } from \"types-vue\";\nimport { Organization } from \"@Module/Orgs/Models/Organization.model\";\nimport { Serializer } from \"@Core/Components/QueryParam/QueryParam\";\nimport { LicenseFactory } from \"../Models/License.factory\";\nimport { LicensingStoreState } from \"./Licensing.state\";\nimport { License } from \"../Models/License.model\";\nimport LicensingApi from \"../API/Licensing.api\";\nimport { Utils } from \"@Core/Utils/Utils\";\nimport { ActionContext } from \"vuex\";\nimport Vue from \"vue\";\n\nexport const enum LicensingStoreGetter {\n AloLicenses = \"aloLicenses\"\n}\n\nconst enum LicensingStoreCommit {\n SetContracts = \"_setContracts\",\n SetLicenses = \"_setLicenses\",\n SetDimensions = \"_setDimensions\",\n AddContracts = \"_addContracts\",\n AddLicenses = \"_addLicenses\",\n SetContractsMap = \"_setContractsMap\",\n SetLicensesMap = \"_setLicensesMap\",\n SetContractPurchase = \"_setContractPurchase\"\n}\n\nexport const enum LicensingStoreAction {\n FetchContractById = \"fetchContractById\",\n FetchAllContracts = \"fetchAllContracts\",\n FetchAllLicenses = \"fetchAllLicenses\",\n FetchLicensesByContractId = \"fetchLicensesByContractId\",\n AddContracts = \"addContracts\",\n FetchLicenseById = \"fetchLicenseById\",\n SetContractPurchase = \"setContractPurchase\"\n}\n\ntype DimensionsPayload = ServicePayload;\ntype ContractsPayload = ServicePayload;\ntype LicensesPayload = ServicePayload;\n\nexport type FetchByIdPayload = ServicePayload;\n\nexport type ContractsDtoPayload = ServicePayload;\nexport type FetchLicensesPayload = { service: ServiceID };\nexport type FetchContractByIdPayload = FetchByIdPayload;\nexport type FetchLicenseByIdPayload = FetchByIdPayload;\nexport type RegisterEncryptedHostPayload = ServicePayload & { key: string };\nexport type RegisterUnencryptedHostPayload = ServicePayload & { registration: object };\nexport type UnregisterHostPayload = ServicePayload;\nexport type CreateLinkeContractPayload = ServicePayload<{ org: Organization, \n origin: string, \n expiration: Date, \n dimensions: IDimensionUnits[], \n poc: boolean, \n extendedContractId: number }>;\nexport type UpdateContractPayload = ServicePayload<{ id: number, dto: IUpdateContractDto }>;\n\ntype StoreContext = ActionContext;\n\n@Module({ namespaced: true })\nexport default class LicensingStore extends VuexModule implements LicensingStoreState {\n public static readonly Mapping = Utils.createVuexMappingOptions(\"Licensing\");\n\n public _contractsMap: ServiceMap = {};\n public _licensesMap: ServiceMap = {};\n public _dimensionsMap: ServiceMap = {};\n\n public _contractPurchase: ContractPurchase = null;\n\n @Getter()\n public dimensionArrayParamSerializer(): Serializer {\n return {\n serialize: (value: Dimension[]): string[] => {\n return value.map(dim => dim.name);\n },\n deserialize: (param: string | string[]): Dimension[] => {\n if (!param) return [];\n const dimNames = Array.isArray(param) ? param : [param];\n return dimNames.map(Dimension.create);\n }\n }\n }\n\n @Getter()\n public contractPurchase(): ContractPurchase {\n return this._contractPurchase;\n }\n\n @Getter()\n protected contracts(): ServiceMap { \n return this._contractsMap; \n }\n\n @Getter()\n protected licenses(): ServiceMap { \n return this._licensesMap; \n }\n\n @Getter()\n protected dimensions(): ServiceMap { \n return this._dimensionsMap; \n }\n\n @Getter()\n protected emoryContracts(): Contract[] { \n return this._contractsMap[ServiceID.Emory] || []; \n }\n\n @Getter()\n protected connectorContracts(): Contract[] { \n return this._contractsMap[ServiceID.Connector] || []; \n }\n\n @Getter()\n protected abapSuiteContracts(): Contract[] { \n return this._contractsMap[ServiceID.AbapSuite] || []; \n }\n\n @Getter()\n protected emoryLicenses(): License[] { \n return this._licensesMap[ServiceID.Emory] || []; \n }\n\n @Getter()\n protected connectorLicenses(): License[] { \n return this._licensesMap[ServiceID.Connector] || []; \n }\n\n @Getter()\n protected abapSuiteLicenses(): License[] { \n return this._licensesMap[ServiceID.AbapSuite] || []; \n }\n\n @Mutation()\n protected _setContractPurchase(contractPurchase: ContractPurchase) {\n this._contractPurchase = contractPurchase;\n }\n\n @Mutation()\n protected _setDimensions(payload: DimensionsPayload) {\n Vue.set(this._dimensionsMap, payload.service, payload.data);\n }\n\n @Mutation()\n protected _setContracts(payload: ContractsPayload) {\n const contracts = payload.data.sort((a, b) => a.expiration.diff(b.expiration));\n Vue.set(this._contractsMap, payload.service, contracts);\n }\n\n @Mutation()\n protected _setLicenses(payload: LicensesPayload) {\n const licenses = payload.data.sort((a, b) => a.expiration.diff(b.expiration));\n Vue.set(this._licensesMap, payload.service, licenses);\n }\n\n @Mutation()\n protected _addContracts(payload: ContractsPayload) {\n const serviceContracts = this._contractsMap[payload.service] || [];\n for (const newContract of payload.data) {\n const currentContract = serviceContracts.find(c => c.id === newContract.id);\n if (!!currentContract) {\n Object.assign(currentContract, newContract);\n } else {\n serviceContracts.push(newContract);\n }\n }\n serviceContracts.sort((a, b) => a.expiration.diff(b.expiration));\n Vue.set(this._contractsMap, payload.service, serviceContracts);\n }\n\n @Mutation()\n protected _addLicenses(payload: LicensesPayload) {\n const serviceLicenses = this._licensesMap[payload.service] || [];\n for (const newLicense of payload.data) {\n const currentLicense = serviceLicenses.find(l => l.id === newLicense.id);\n if (!!currentLicense) {\n Object.assign(currentLicense, newLicense);\n } else {\n serviceLicenses.push(newLicense);\n }\n }\n serviceLicenses.sort((a, b) => a.expiration.diff(b.expiration));\n Vue.set(this._licensesMap, payload.service, serviceLicenses);\n }\n\n @Mutation()\n protected _setContractsMap(map: ServiceMap) {\n this._contractsMap = map;\n }\n\n @Mutation()\n protected _setLicensesMap(map: ServiceMap) {\n this._licensesMap = map;\n }\n\n @Action({ commit: LicensingStoreCommit.SetContractPurchase })\n public async setContractPurchase(contractPurchase: ContractPurchase | null): Promise {\n return contractPurchase;\n }\n\n @Action({ useContext: true })\n public async clearLicensingStore(ctx: StoreContext): Promise {\n ctx.commit(LicensingStoreCommit.SetContractsMap, {});\n ctx.commit(LicensingStoreCommit.SetLicensesMap, {});\n ctx.commit(LicensingStoreCommit.SetContractPurchase, null);\n }\n\n @Action({ commit: LicensingStoreCommit.SetDimensions })\n public async fetchAllDimensions(service: ServiceID): Promise {\n const dtos = await LicensingApi.getDimensions(service);\n const dimensions = dtos.map(Dimension.fromDto);\n return { service, data: dimensions };\n }\n\n @Action({ commit: LicensingStoreCommit.SetContracts })\n public async fetchAllContracts(service: ServiceID): Promise {\n const dtos = await LicensingApi.getContracts(service);\n const contracts = dtos.map(dto => Contract.fromDto(dto, service));\n return { service, data: contracts };\n }\n\n @Action({ commit: LicensingStoreCommit.AddContracts })\n public async fetchContractById(payload: FetchContractByIdPayload): Promise {\n const dto = await LicensingApi.getContractById(payload.service, payload.data);\n const contract = Contract.fromDto(dto, payload.service);\n return { service: payload.service, data: [contract] };\n }\n\n @Action({ commit: LicensingStoreCommit.SetLicenses })\n public async fetchAllLicenses(payload: FetchLicensesPayload): Promise> {\n const dtos = await LicensingApi.getLicenses(payload.service);\n const licenses = dtos.map(dto => LicenseFactory.fromDto(dto, payload.service));\n return { service: payload.service, data: licenses };\n }\n\n @Action({ commit: LicensingStoreCommit.AddLicenses })\n public async fetchLicensesByContractId(payload: FetchLicenseByIdPayload): Promise> {\n const dtos = await LicensingApi.getLicensesByContractId(payload.service, payload.data);\n const licenses = dtos.map(dto => LicenseFactory.fromDto(dto, payload.service));\n return { service: payload.service, data: licenses };\n }\n\n @Action({ commit: LicensingStoreCommit.AddLicenses })\n public async fetchLicenseById(payload: FetchLicenseByIdPayload): Promise> {\n const dto = await LicensingApi.getLicenseById(payload.service, payload.data);\n const license = LicenseFactory.fromDto(dto, payload.service);\n return { service: payload.service, data: [license] };\n }\n\n @Action({ useContext: true })\n public async registerEncryptedHost(ctx: StoreContext, payload: RegisterEncryptedHostPayload): Promise {\n const org: Organization = OrgsStore.Mapping.rootGetter(OrgsStoreGetter.CurrentOrg)(ctx);\n const response = await LicensingApi.registerEncryptedHost(payload.service, org, payload.data, payload.key);\n const license = LicenseFactory.fromDto(response.license, payload.service);\n const addLicensePayload: LicensesPayload = { service: payload.service, data: [license] };\n ctx.commit(LicensingStoreCommit.AddLicenses, addLicensePayload);\n return response.encryptedHost;\n }\n\n @Action({ useContext: true })\n public async registerUnencryptedHost(\n ctx: StoreContext, \n payload: RegisterUnencryptedHostPayload\n ): Promise {\n const org: Organization = OrgsStore.Mapping.rootGetter(OrgsStoreGetter.CurrentOrg)(ctx);\n const response = await LicensingApi.registerUnencryptedHost(payload.service, org, payload.data, payload.registration);\n await ctx.dispatch(LicensingStoreAction.FetchLicenseById, { \n service: payload.service, \n data: payload.data\n } as FetchLicenseByIdPayload); \n return response;\n }\n\n @Action({ commit: LicensingStoreCommit.AddLicenses })\n public async unregisterHost(payload: UnregisterHostPayload): Promise> {\n const dto = await LicensingApi.unregisterHost(payload.service, payload.data);\n const license = LicenseFactory.fromDto(dto, payload.service);\n return { service: payload.service, data: [license] };\n }\n\n @Action({ useContext: true })\n public async createLinkeContract(\n ctx: StoreContext, \n payload: CreateLinkeContractPayload\n ): Promise {\n const org: Organization = OrgsStore.Mapping.rootGetter(OrgsStoreGetter.CurrentOrg)(ctx);\n const contractDto = await LicensingApi.createLinkeContract(\n payload.data.org, \n payload.data.origin,\n payload.service, \n payload.data.expiration, \n payload.data.dimensions,\n payload.data.poc,\n payload.data.extendedContractId\n );\n if (org.id === payload.data.org.id) {\n const contract = Contract.fromDto(contractDto, payload.service);\n ctx.commit(LicensingStoreCommit.AddContracts, { service: payload.service, data: [contract] } as ContractsPayload);\n const setResPermissions = ResourcesStore.Mapping.rootAction(ResourcesStoreAction.SetResourcePermissions);\n await setResPermissions(ctx, { service: payload.service, data: { canDownload: true } } as SetResourcePermissionsPayload);\n }\n }\n\n @Action({ useContext: true, commit: LicensingStoreCommit.AddContracts })\n public async updateContract(ctx: StoreContext, payload: UpdateContractPayload): Promise {\n const dto = await LicensingApi.updateContract(payload.data.id, payload.data.dto);\n\n const fetchContractLicensesPayload: FetchLicenseByIdPayload = { service: payload.service, data: payload.data.id };\n await ctx.dispatch(LicensingStoreAction.FetchLicensesByContractId, fetchContractLicensesPayload);\n\n return { service: payload.service, data: [Contract.fromDto(dto, payload.service)] };\n }\n\n @Action({ commit: LicensingStoreCommit.AddContracts })\n public async addContracts(payload: ContractsDtoPayload): Promise {\n return { \n service: payload.service, \n data: payload.data.map(dto => Contract.fromDto(dto, payload.service)) \n };\n }\n}","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConfigItem.vue?vue&type=style&index=0&id=6a5aa9fc&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('orgs.org-role-selector',{ref:\"orgRoleSelector\",attrs:{\"value\":_vm.orgRole,\"data\":_vm.orgRoleSelectorData,\"disabled\":_vm.disabled,\"no-data-text\":_vm.noDataText,\"no-match-text\":_vm.noMatchText,\"size\":_vm.size,\"multiple\":_vm.multiple,\"clearable\":_vm.clearable,\"compact\":_vm.compact,\"loading\":_vm.loading,\"placeholder\":_vm.placeholder,\"collapse-tags\":_vm.collapseTags,\"disabled-items\":_vm.disabledOrgRoles,\"include-no-access-roles\":_vm.includeNoAccessRoles,\"show-role\":_vm.showRole,\"child-inset\":_vm.childInset,\"default-expand-all\":_vm.defaultExpandAll,\"no-expand\":_vm.noExpand},on:{\"change\":_vm.onOrgRoleChange},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return _vm._t(\"default\",null,null,scope)}}],null,true)},[_vm._t(\"empty\",null,{\"slot\":\"empty\"})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { OrganizationRole } from \"@Module/Orgs/Models/Roles/OrganizationRole.model\";\nimport { UISize } from \"@Service/Settings/Store/AppSettings/AppSettings.state\";\nimport { Organization } from \"@Module/Orgs/Models/Organization.model\";\nimport OrgRoleSelector from \"../OrgRoleSelector/OrgRoleSelector\";\nimport { Component, MapGetter, Prop, Watch } from \"types-vue\";\nimport OrgsStore from \"@Module/Orgs/Store/Orgs.store\";\nimport Vue from \"vue\";\n\ntype OrgSelectorValue = Organization | Organization[];\ntype OrgRoleSelectorValue = OrganizationRole | OrganizationRole[];\n\n@Component\nexport default class OrgSelector extends Vue {\n\n @Prop({ type: [Object, Array], default: null })\n protected value: OrgSelectorValue;\n\n @Prop({ type: Array })\n protected data: Organization[];\n\n @Prop({ type: Boolean })\n protected includeNoAccessRoles: boolean;\n\n @Prop({ type: String })\n protected noDataText: string;\n\n @Prop({ type: String })\n protected noMatchText: string;\n\n @Prop({ type: Boolean, default: false })\n protected disabled: boolean;\n\n @Prop({ type: String, default: null })\n protected size: UISize;\n\n @Prop({ type: Boolean, default: false })\n protected multiple: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected clearable: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected compact: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected collapseTags: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected childInset: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected loading: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected showRole: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected hierarchical: boolean;\n \n @Prop({ type: Boolean, default: false })\n protected noExpand: boolean;\n\n @Prop({ type: String, default: \"Select an organization\" })\n protected placeholder: string;\n\n @Prop({ type: Array, default: () => [] })\n protected disabledItems: Organization[];\n\n @Prop({ type: Boolean, default: false })\n protected defaultExpandAll: boolean;\n\n @MapGetter(OrgsStore.Mapping)\n protected orgRoles: OrganizationRole[];\n\n @MapGetter(OrgsStore.Mapping)\n protected findOrgRoleHierarchy: (org: number | Organization) => OrganizationRole;\n\n protected orgRole: OrgRoleSelectorValue = null;\n\n @Watch(\"value\", { immediate: true })\n protected onValueChange(newValue: OrgSelectorValue) {\n if (!newValue) {\n this.orgRole = null;\n } else if (Array.isArray(newValue)) {\n this.orgRole = this.orgRoles\n .filter(o => newValue.some(org => org.id === o.organization.id))\n } else {\n this.orgRole = this.orgRoles\n .find(or => or.organization.id === newValue.id);\n }\n }\n\n protected onOrgRoleChange(selection: OrgRoleSelectorValue) {\n let newValue: OrgSelectorValue = this.multiple ? [] : null;\n if (!!selection) {\n newValue = Array.isArray(selection) \n ? selection.map(orgRole => orgRole.organization) \n : selection.organization;\n }\n\n this.$emit(\"input\", newValue);\n this.$emit(\"select\", newValue);\n this.$emit(\"change\", newValue);\n }\n\n protected get disabledOrgRoles(): OrganizationRole[] {\n return (this.orgRoleSelectorData || this.orgRoles)\n .filter(orgRole => this.disabledItems.some(item => orgRole.organization.id === item.id))\n }\n\n protected get orgRoleSelectorData(): OrganizationRole[] {\n return this.data?.map(org => {\n const orgRole = this.hierarchical \n ? this.findOrgRoleHierarchy(org) \n : this.orgRoles.find(orgRole => orgRole.organization.id === org.id);\n return !!orgRole ? orgRole : OrganizationRole.noAccess(org);\n });\n }\n\n public focus() {\n (this.$refs.orgRoleSelector as OrgRoleSelector).focus();\n }\n\n public blur() {\n (this.$refs.orgRoleSelector as OrgRoleSelector).blur();\n }\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./OrgSelector.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./OrgSelector.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OrgSelector.vue?vue&type=template&id=1514d069&\"\nimport script from \"./OrgSelector.ts?vue&type=script&lang=ts&\"\nexport * from \"./OrgSelector.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-select',{attrs:{\"value\":_vm.value,\"placeholder\":_vm.placeholder,\"no-match-text\":\"No matching value.\",\"no-data-text\":\"No values available.\",\"default-first-option\":\"\",\"size\":_vm.size,\"disabled\":_vm.disabled,\"clearable\":_vm.clearable,\"filterable\":_vm.filterable,\"multiple\":_vm.multiple},on:{\"change\":_vm.onValueSelected}},[_vm._t(\"prefix\",null,{\"slot\":\"prefix\"}),_vm._l((_vm.values),function(value){return [_c('el-option',{key:value,attrs:{\"label\":String(value),\"value\":value}},[_vm._t(\"default\",null,{\"value\":value})],2)]})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Utils } from \"@Core/Utils/Utils\";\nimport { UISize } from \"@Service/Settings/Store/AppSettings/AppSettings.state\";\nimport { Component, Prop } from \"types-vue\";\nimport Vue from \"vue\";\n\n@Component\nexport default class PropValueSelector extends Vue {\n\n @Prop({ required: true })\n protected value: any | any[];\n\n @Prop({ type: Array, required: true })\n protected data: any[];\n\n @Prop({ type: String, required: true })\n protected prop: string;\n\n @Prop({ type: String, default: \"Filter by origin\" })\n protected placeholder: string;\n\n @Prop({ type: Boolean, default: false })\n protected disabled: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected multiple: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected filterable: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected clearable: boolean;\n\n @Prop({ type: String, default: null })\n protected size: UISize;\n\n protected get values(): string[] {\n const data: Set = this.data.reduce(\n (set: Set, item: any) => {\n const propValue = Utils.getNestedProperty(item, this.prop);\n if (propValue === undefined || propValue === null) return set;\n set.add(String(propValue));\n return set;\n }, new Set()\n );\n return Array.from(data);\n }\n\n protected get hasValues(): boolean {\n return this.values.length > 0;\n }\n\n protected onValueSelected(value: any | any[]) {\n this.$emit(\"input\", value);\n }\n\n}","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./PropValueSelector.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./PropValueSelector.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PropValueSelector.vue?vue&type=template&id=61d15709&\"\nimport script from \"./PropValueSelector.ts?vue&type=script&lang=ts&\"\nexport * from \"./PropValueSelector.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"emory-backup-summary space-y-16\"},[_c('div',{staticClass:\"flex flex-wrap container-x-24 container-y-16\"},[_c('core.details',{attrs:{\"spacing\":\"6px\"}},[_c('core.label',{attrs:{\"slot\":\"label\"},slot:\"label\"},[_c('H2',[_vm._v(\"General\")]),_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"information-circle\"},slot:\"icon\"})],1),_c('div',{staticClass:\"flex flex-wrap container-x-16 container-y-16\"},[_c('core.details',{attrs:{\"label\":\"Identifier\"}},[_c('core.copy-label',{attrs:{\"value\":_vm.backup.uuid}},[_c('el-tooltip',{attrs:{\"effect\":\"light\",\"placement\":\"top\",\"content\":_vm.backup.uuid,\"disabled\":!_vm.backupUuid.includes('...'),\"open-delay\":250}},[_c('span',[_vm._v(_vm._s(_vm.backupUuid))])])],1)],1),(!_vm.expand)?_c('core.details',{attrs:{\"label\":\"Status\"}},[_c('emory.emory-backup-status-tag',{attrs:{\"status\":_vm.backup.status}})],1):_vm._e(),(!_vm.expand)?_c('core.details',{attrs:{\"label\":\"Level\"}},[_c('el-tag',{attrs:{\"size\":\"mini\",\"effect\":\"dark\",\"type\":\"info\",\"disable-transitions\":\"\"}},[_c('span',[_vm._v(_vm._s(_vm._f(\"capitalize\")(_vm.backup.level.toLowerCase())))])])],1):_vm._e(),(!!_vm.backup.duration && _vm.expand)?_c('core.details',{attrs:{\"label\":\"Duration\"}},[_c('span',[_vm._v(_vm._s(_vm._f(\"capitalize\")(_vm.backup.duration)))])]):_vm._e()],1)],1),(!!_vm.backup.size && !_vm.expand)?_c('core.details',{attrs:{\"spacing\":\"6px\"}},[_c('core.label',{attrs:{\"slot\":\"label\",\"icon-size\":\"14px\"},slot:\"label\"},[_c('H2',[_vm._v(\"Size\")]),_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"scale\"},slot:\"icon\"})],1),_c('div',{staticClass:\"flex flex-wrap container-x-16 container-y-16\"},[_c('core.details',{attrs:{\"label\":\"Total\"}},[_c('span',[_vm._v(_vm._s(_vm.backup.size.value)),_c('small',[_vm._v(\" \"+_vm._s(_vm.backup.size.unit))])])]),_c('core.details',{attrs:{\"label\":\"Objects\"}},[_c('span',[_vm._v(_vm._s(_vm._f(\"pluralize\")(((_vm.backup.numberOfObjects) + \" Object\"),_vm.backup.numberOfObjects)))])])],1)],1):_vm._e(),(_vm.expand && !!_vm.backup.lifecycle)?_c('core.details',{attrs:{\"spacing\":\"6px\"}},[_c('core.label',{attrs:{\"slot\":\"label\",\"icon-size\":\"14px\"},slot:\"label\"},[_c('H2',[_vm._v(\"Lifecycle\")]),_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"calendar\"},slot:\"icon\"})],1),_c('emory.backup-lifecycle-summary',{attrs:{\"lifecycle\":_vm.backup.lifecycle,\"expiration-format\":\"M/D/YY HH:mm:ss\"}})],1):_vm._e(),(!_vm.expand)?_c('core.details',{attrs:{\"spacing\":\"6px\"}},[_c('core.label',{attrs:{\"slot\":\"label\"},slot:\"label\"},[_c('H2',[_vm._v(\"Duration\")]),_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"time\"},slot:\"icon\"})],1),_c('div',{staticClass:\"flex flex-wrap container-x-16 container-y-16\"},[_c('core.details',{attrs:{\"label\":\"Start Date\"}},[_c('core.date-label',{attrs:{\"format\":\"M/D/YY HH:mm:ss\",\"date\":_vm.backup.startDate}})],1),(!!_vm.backup.endDate)?_c('core.details',{attrs:{\"label\":\"End Date\"}},[_c('core.date-label',{attrs:{\"format\":\"M/D/YY HH:mm:ss\",\"date\":_vm.backup.endDate}})],1):_vm._e(),(!!_vm.backup.duration)?_c('core.details',{attrs:{\"label\":\"Duration\",\"value\":_vm._f(\"capitalize\")(_vm.backup.duration)}}):_vm._e()],1)],1):_vm._e(),(_vm.expand)?_c('core.details',{attrs:{\"spacing\":\"6px\"}},[_c('core.label',{attrs:{\"slot\":\"label\"},slot:\"label\"},[_c('H2',[_vm._v(\"System\")]),_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"cube\"},slot:\"icon\"})],1),_c('div',{staticClass:\"flex flex-wrap container-x-16 container-y-16\"},[(!!_vm.backup.host.sid)?_c('core.details',{attrs:{\"label\":\"SID\",\"value\":_vm.backup.host.sid}}):_vm._e(),(!!_vm.backup.host.hostname)?_c('core.details',{attrs:{\"label\":\"Hostname\"}},[_c('el-tooltip',{attrs:{\"effect\":\"light\",\"placement\":\"top\",\"content\":_vm.backup.host.hostname,\"disabled\":!_vm.backupHostname.includes('...'),\"open-delay\":250}},[_c('span',[_vm._v(_vm._s(_vm.backupHostname))])])],1):_vm._e(),(!_vm.expand && !!_vm.backup.sourceDatabase)?_c('core.details',{attrs:{\"label\":\"Database\"}},[_c('el-tag',{attrs:{\"size\":\"mini\",\"disable-transitions\":\"\"}},[_c('span',[_vm._v(_vm._s(_vm.backup.sourceDatabase))])])],1):_vm._e(),(!!_vm.backup.host.platform)?_c('core.details',{attrs:{\"label\":\"Platform\"}},[_c('el-tag',{attrs:{\"size\":\"mini\",\"effect\":\"dark\",\"type\":\"info\",\"disable-transitions\":\"\"}},[_c('span',[_vm._v(_vm._s(_vm.backup.host.platform))])])],1):_vm._e()],1)],1):_vm._e(),(_vm.expand)?_c('core.details',{attrs:{\"spacing\":\"6px\"}},[_c('core.label',{attrs:{\"slot\":\"label\"},slot:\"label\"},[_c('H2',[_vm._v(\"Cloud\")]),_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"cloud\"},slot:\"icon\"})],1),_c('div',{staticClass:\"flex flex-wrap container-x-16 container-y-16\"},[_c('core.details',{attrs:{\"label\":\"Provider\"}},[_c('el-tag',{attrs:{\"size\":\"mini\",\"effect\":\"dark\",\"type\":\"info\",\"disable-transitions\":\"\"}},[_c('span',[_vm._v(_vm._s(_vm.providerName))])])],1)],1)],1):_vm._e()],1),(!!_vm.$slots.default)?_c('div',{staticClass:\"space-x-8\"},[_vm._t(\"default\")],2):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { CloudProviderType } from \"@Service/Emory/Models/Backups/CloudProvider/BackupCloudProvider.model\";\nimport { Backup } from \"@Service/Emory/Models/Backups/Backup.model\";\nimport { Component, Prop } from \"types-vue\";\nimport { Utils } from \"@Core/Utils/Utils\";\nimport Vue from \"vue\";\n\n@Component\nexport default class EmoryBackupSummary extends Vue {\n\n @Prop({ type: Object, required: true })\n protected backup: Backup;\n\n @Prop({ type: Boolean, default: false })\n protected expand: boolean;\n\n protected get backupUuid(): string {\n if (this.$mq.md) return Utils.smartTrim(this.backup.uuid, 18);\n else if (this.$mq.lg) return Utils.smartTrim(this.backup.uuid, 22);\n else return Utils.smartTrim(this.backup.uuid, 26);\n }\n\n protected get backupHostname(): string {\n if (this.$mq.md) return Utils.smartTrim(this.backup.host.hostname, 12);\n else if (this.$mq.lg) return Utils.smartTrim(this.backup.host.hostname, 16);\n else return Utils.smartTrim(this.backup.host.hostname, 20);\n }\n\n protected get providerName() {\n return CloudProviderType.nameOf(this.backup.type);\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./EmoryBackupSummary.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./EmoryBackupSummary.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./EmoryBackupSummary.vue?vue&type=template&id=0a8527d6&\"\nimport script from \"./EmoryBackupSummary.ts?vue&type=script&lang=ts&\"\nexport * from \"./EmoryBackupSummary.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import ServiceViewport from \"@Core/Components/ServiceViewport/ServiceViewport.vue\";\nimport { User } from \"@Module/Users/Models/User.model\";\nimport { Console } from \"vue-router\";\n\nimport AppSettings from './Views/AppSettings/AppSettings.vue';\nimport AccountSettings from './Views/AccountSettings/AccountSettings.vue';\nimport OrganizationSetup from \"./Views/OrganizationSetup/OrganizationSetup.vue\";\n\nconst routes: Console.RouteConfig[] = [\n {\n path: \"/settings\",\n name: \"settings\",\n component: ServiceViewport,\n redirect: { name: \"application-settings\" },\n meta: {\n authRequired: true,\n appInfo: {\n version: \"2.5.0\",\n summary: \"SAP add-on, completely written in ABAP language, enables SAP systems to integrate with AWS in an unprecedented manner.\"\n },\n menu: {\n label: \"CxLink Settings\",\n groupId: \"internal\",\n replaceNavigation: true,\n icon: {\n type: \"custom\",\n name: \"icons/settings.svg\"\n }\n }\n },\n children: [\n {\n path: \"application\",\n name: \"application-settings\",\n component: AppSettings,\n meta: {\n authRequired: true,\n menu: {\n label: \"Application Settings\",\n icon: {\n type: \"element\",\n name: \"el-icon-set-up\"\n }\n }\n }\n },\n {\n path: \"account\",\n name: \"account-settings\",\n component: AccountSettings,\n meta: {\n authRequired: true,\n menu: {\n label: \"Account Settings\",\n icon: {\n type: \"ion-icon\",\n name: \"person-circle\"\n }\n }\n }\n },\n {\n path: \"/settings/account/org-setup\",\n name: \"org-setup\",\n component: OrganizationSetup,\n meta: {\n authRequired: true,\n canAccessUser: (user?: User) => user?.allOrgRoles.length === 0 ?? false,\n breadcrumb: {\n prependPaths: [\"/settings/account\"]\n },\n menu: {\n hidden: true,\n selectionPath: \"/settings/account\",\n label: \"Organization Setup\",\n icon: {\n type: \"element\",\n name: \"el-icon-office-building\"\n }\n }\n }\n }\n ]\n }\n];\n\nexport default routes\n","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ColumnsLayout.vue?vue&type=style&index=0&id=f02ae446&lang=scss&scoped=true&\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccountSettings.vue?vue&type=style&index=1&id=37643d9c&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-form',{ref:\"form\",staticClass:\"space-y-16\",attrs:{\"spellcheck\":\"false\",\"model\":_vm.signUpModel,\"rules\":_vm.validationRules,\"disabled\":_vm.isDisabled,\"label-position\":\"top\"}},[_c('el-form-item',{attrs:{\"prop\":\"email\",\"label\":\"Email\"}},[_c('el-input',{attrs:{\"disabled\":!!_vm.orgInvitationLink,\"autocomplete\":\"email\",\"type\":\"email\",\"placeholder\":\"Enter your email address\",\"clearable\":\"\"},model:{value:(_vm.signUpModel.email),callback:function ($$v) {_vm.$set(_vm.signUpModel, \"email\", $$v)},expression:\"signUpModel.email\"}})],1),_c('div',{staticClass:\"flex flex-wrap container-y-16 container-x-16\"},[_c('el-form-item',{staticClass:\"inline-field flex-1\",attrs:{\"prop\":\"name\",\"label\":\"Name\"}},[_c('el-input',{attrs:{\"autocomplete\":\"given-name\",\"placeholder\":\"Enter your name\",\"clearable\":\"\"},model:{value:(_vm.signUpModel.name),callback:function ($$v) {_vm.$set(_vm.signUpModel, \"name\", $$v)},expression:\"signUpModel.name\"}})],1),_c('el-form-item',{staticClass:\"inline-field flex-1\",attrs:{\"prop\":\"surname\",\"label\":\"Surname\"}},[_c('el-input',{attrs:{\"autocomplete\":\"family-name\",\"placeholder\":\"Enter your surname\",\"clearable\":\"\"},model:{value:(_vm.signUpModel.surname),callback:function ($$v) {_vm.$set(_vm.signUpModel, \"surname\", $$v)},expression:\"signUpModel.surname\"}})],1)],1),_c('el-checkbox',{attrs:{\"disabled\":_vm.isDisabled},model:{value:(_vm.signUpModel.agreeCommunications),callback:function ($$v) {_vm.$set(_vm.signUpModel, \"agreeCommunications\", $$v)},expression:\"signUpModel.agreeCommunications\"}},[_vm._v(\"I agree to receive communications\")]),_c('el-form-item',{attrs:{\"prop\":\"agreeDataProtectionPolicy\"}},[_c('el-checkbox',{model:{value:(_vm.signUpModel.agreeDataProtectionPolicy),callback:function ($$v) {_vm.$set(_vm.signUpModel, \"agreeDataProtectionPolicy\", $$v)},expression:\"signUpModel.agreeDataProtectionPolicy\"}},[_c('span',{staticClass:\"required-asterisk\"},[_vm._v(\"*\")]),_vm._v(\" I agree the \"),_c('el-link',{attrs:{\"disabled\":_vm.isDisabled,\"underline\":false,\"type\":\"primary\"},on:{\"click\":function($event){$event.preventDefault();return _vm.openDataProtectionDialog($event)}}},[_c('span',[_vm._v(\"data protection policy\")])])],1)],1),_c('transition',{attrs:{\"name\":\"el-zoom-in-top\"}},[(!!_vm.signUpError)?_c('core.alert',{attrs:{\"type\":\"error\",\"title\":\"Sign up error\",\"description\":_vm.signUpError.message || 'An unknown error occurred signing up, please try again.',\"plain\":\"\"}}):_vm._e()],1),_c('div',{staticClass:\"w-full flex content-end items-center space-x-8\"},[(_vm.skippable)?_c('span',[(_vm.$mq.xs)?_c('el-button',{attrs:{\"disabled\":_vm.isDisabled,\"type\":\"text\"},on:{\"click\":function($event){return _vm.$emit('cancel')}}},[_vm._v(\"Not now\")]):_c('el-button',{attrs:{\"disabled\":_vm.isDisabled,\"type\":\"text\"},on:{\"click\":function($event){return _vm.$emit('cancel')}}},[_vm._v(\"Continue as guest\")])],1):_vm._e(),_c('el-button',{attrs:{\"disabled\":_vm.isDisabled || !_vm.canSignUp || _vm.formWithErrors,\"loading\":_vm.signingUp,\"type\":\"primary\"},on:{\"click\":_vm.onSubmitClick}},[(_vm.signingUp)?_c('span',[_vm._v(\"Signing up\")]):_c('span',[_vm._v(\"Sign up\")])])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { OrgInvitationNotificationLink } from \"@Module/Notifications/Models/OrgInvitationNotification.model\";\n\nexport interface ISignUpDto {\n email: string;\n password: string;\n username: string;\n surname: string;\n orgname?: string;\n agreeCommunications: boolean;\n invitationId?: number;\n}\n\nexport class SignUp {\n public email: string;\n public password: string;\n public name: string;\n public surname: string;\n public agreeCommunications: boolean;\n public agreeDataProtectionPolicy: boolean;\n public invitation: OrgInvitationNotificationLink;\n\n private constructor() {\n this.email = null;\n this.password = null;\n this.name = null;\n this.surname = null;\n this.agreeCommunications = false;\n this.agreeDataProtectionPolicy = false;\n this.invitation = null;\n }\n\n protected get fullName(): string {\n return `${this.name} ${this.surname}`.trim();\n }\n\n public static create(): SignUp {\n return new SignUp();\n }\n\n public toDto(): ISignUpDto {\n return {\n email: this.email,\n password: this.password,\n username: this.name,\n surname: this.surname,\n agreeCommunications: this.agreeCommunications,\n invitationId: this.invitation?.notificationId\n }\n }\n\n} ","import { OrgInvitationNotificationLink } from \"@Module/Notifications/Models/OrgInvitationNotification.model\";\nimport NotificationsInboxStore from \"@Module/Notifications/Store/NotificationsInbox.store\";\nimport { Component, MapAction, MapGetter, Prop, Watch } from \"types-vue\";\nimport { SignUp } from \"@Module/Auth/Models/SignUp/SignUp.model\";\nimport { AuthStatus } from \"@Module/Auth/Store/Auth.state\";\nimport LegalStore from \"@Module/Legal/Store/Legal.store\";\nimport AuthStore from \"@Module/Auth/Store/Auth.store\";\nimport { ElForm } from \"element-ui/types/form\";\nimport Vue from \"vue\";\n\n@Component\nexport default class SignUpPanel extends Vue {\n\n @Prop({ type: Boolean, default: false })\n protected disabled: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected skippable: boolean;\n\n @MapGetter(AuthStore.Mapping)\n protected authStatus: AuthStatus;\n\n @MapGetter(NotificationsInboxStore.Mapping)\n protected orgInvitationLink: OrgInvitationNotificationLink;\n\n @MapAction(LegalStore.Mapping)\n protected openDataProtectionDialog: () => void;\n\n @MapAction(AuthStore.Mapping)\n protected signUp: (model: SignUp) => Promise;\n\n protected signingUp: boolean = false;\n protected signUpError: Error = null;\n protected signUpModel: SignUp = SignUp.create();\n\n protected get signUpDto() {\n return this.signUpModel.toDto()\n }\n\n @Watch(\"orgInvitationLink\", { immediate: true })\n protected async onInvitationChange(link: OrgInvitationNotificationLink) {\n this.signUpModel.invitation = link ?? null;\n this.signUpModel.email = link?.email ?? null;\n if (!link) {\n await this.$nextTick();\n (this.$refs.form as ElForm).clearValidate();\n }\n }\n\n protected get canSignUp(): boolean {\n return !!this.signUpModel.email\n && !!this.signUpModel.name\n && !!this.signUpModel.surname\n && this.signUpModel.agreeDataProtectionPolicy;\n }\n\n protected get isDisabled(): boolean {\n return this.disabled || this.signingUp;\n }\n\n protected setSigningUp(signingUp: boolean) {\n this.signingUp = signingUp;\n this.$emit(\"update:disabled\", signingUp);\n }\n\n protected get formWithErrors(): boolean {\n return (this.$refs.form as any).fields?.some((item: any) => item.validateState === \"error\") || false;\n }\n\n protected async onSubmitClick() {\n try {\n await (this.$refs.form as ElForm).validate();\n await this.performSignUp();\n } catch (error) {}\n }\n\n protected async performSignUp() {\n try {\n this.signUpError = null;\n this.setSigningUp(true);\n await this.signUp(this.signUpModel);\n } catch (error) {\n this.signUpError = error;\n } finally {\n this.setSigningUp(false);\n if (!this.signUpError) {\n this.$emit(\"success\", this.signUpModel);\n }\n }\n }\n\n protected validationRules = {\n email: [\n { type: \"email\", message: \"Please enter a valid email address.\", trigger: [\"change\", \"blur\"] },\n { required: true, message: \"Please enter your email address.\", trigger: [\"change\", \"blur\"] }\n ],\n name: [{ required: true, message: \"Please enter your name.\", trigger: [\"change\", \"blur\"] }],\n surname: [{ required: true, message: \"Please enter your surname.\", trigger: [\"change\", \"blur\"] }],\n organization: [{ required: true, message: \"Please enter your organization name.\", trigger: [\"change\", \"blur\"] }],\n agreeDataProtectionPolicy: [{ validator: this.checkboxMustBeChecked, trigger: \"change\" }]\n }\n\n protected checkboxMustBeChecked(rule: any, value: any, callback: (error?: Error) => void): void {\n if (value !== true) {\n return callback(new Error(\"You have to accept our data protection policy.\"));\n } else {\n return callback();\n }\n }\n\n public closeGuard(close: VoidFunction) {\n if (this.authStatus === AuthStatus.SigningUp) return;\n else return close();\n }\n \n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./SignUpPanel.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./SignUpPanel.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SignUpPanel.vue?vue&type=template&id=7bb80d52&scoped=true&\"\nimport script from \"./SignUpPanel.ts?vue&type=script&lang=ts&\"\nexport * from \"./SignUpPanel.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./SignUpPanel.vue?vue&type=style&index=0&id=7bb80d52&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7bb80d52\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContractListRow.vue?vue&type=style&index=0&id=264caf8a&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"license-summary space-y-16\"},[_c('div',{staticClass:\"flex flex-wrap container-x-24 container-y-16\"},[_c('core.details',{attrs:{\"spacing\":\"6px\"}},[_c('core.label',{attrs:{\"slot\":\"label\"},slot:\"label\"},[_c('H2',[_vm._v(\"General\")]),_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"information-circle\"},slot:\"icon\"})],1),_c('users.user-general-summary',{attrs:{\"user\":_vm.user,\"date-format\":\"MM/DD/YY HH:mm\"}})],1),(!!_vm.user.mainOrgRole)?_c('core.details',{attrs:{\"spacing\":\"6px\"}},[_c('core.label',{attrs:{\"slot\":\"label\"},slot:\"label\"},[_c('H2',[_vm._v(\"Default Organization\")]),_c('i',{staticClass:\"el-icon-office-building\",attrs:{\"slot\":\"icon\"},slot:\"icon\"})],1),_c('orgs.org-role-summary',{attrs:{\"org-role\":_vm.user.mainOrgRole,\"compact\":\"\"}})],1):_vm._e()],1),(!!_vm.$slots.default)?_c('div',{staticClass:\"space-x-8\"},[_vm._t(\"default\")],2):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { User } from \"@Module/Users/Models/User.model\";\nimport { Component, Prop } from \"types-vue\";\nimport Vue from \"vue\";\n\n@Component\nexport default class UserSummary extends Vue {\n\n @Prop({ type: Object, required: true })\n protected user: User;\n \n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./UserSummary.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./UserSummary.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./UserSummary.vue?vue&type=template&id=0c9cb74e&\"\nimport script from \"./UserSummary.ts?vue&type=script&lang=ts&\"\nexport * from \"./UserSummary.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"contracts-report-filters space-y-8\"},[_c('core.query-param',{attrs:{\"name\":\"status\",\"type\":\"string-array\"},model:{value:(_vm.value.status),callback:function ($$v) {_vm.$set(_vm.value, \"status\", $$v)},expression:\"value.status\"}}),_c('core.query-param',{attrs:{\"name\":\"origin\",\"type\":\"string-array\"},model:{value:(_vm.value.origins),callback:function ($$v) {_vm.$set(_vm.value, \"origins\", $$v)},expression:\"value.origins\"}}),_c('core.query-param',{attrs:{\"name\":\"service\",\"type\":\"string-array\"},model:{value:(_vm.value.services),callback:function ($$v) {_vm.$set(_vm.value, \"services\", $$v)},expression:\"value.services\"}}),_c('core.query-param',{attrs:{\"name\":\"dimension\",\"serializer\":_vm.dimensionArrayParamSerializer},model:{value:(_vm.value.dimensions),callback:function ($$v) {_vm.$set(_vm.value, \"dimensions\", $$v)},expression:\"value.dimensions\"}}),_c('core.query-param',{attrs:{\"name\":\"onlyhosts\",\"type\":\"boolean\"},model:{value:(_vm.value.onlyWithHosts),callback:function ($$v) {_vm.$set(_vm.value, \"onlyWithHosts\", $$v)},expression:\"value.onlyWithHosts\"}}),_c('core.details',{attrs:{\"label\":\"Service\"}},[_c('el-select',{attrs:{\"size\":_vm.size,\"disabled\":_vm.disabled,\"placeholder\":\"Filter by service\",\"no-match-text\":\"No matching service\",\"default-first-option\":\"\",\"clearable\":\"\",\"filterable\":\"\",\"multiple\":\"\"},model:{value:(_vm.value.services),callback:function ($$v) {_vm.$set(_vm.value, \"services\", $$v)},expression:\"value.services\"}},_vm._l((_vm.servicesForReports),function(service){return _c('el-option',{key:service,attrs:{\"value\":service,\"label\":_vm.serviceName(service)}})}),1)],1),_c('core.details',{attrs:{\"label\":\"Product\"}},[_c('el-tooltip',{attrs:{\"effect\":\"light\",\"placement\":\"top\",\"content\":\"Select a service to filter by its available product.\",\"no-match-text\":\"No matching dimension\",\"open-delay\":500,\"enterable\":false}},[_c('licensing.dimension-selector',{attrs:{\"placeholder\":\"Filter by dimension\",\"service-id\":_vm.value.services,\"size\":_vm.size,\"multiple\":\"\",\"clearable\":\"\",\"filterable\":\"\",\"no-icon\":\"\"},model:{value:(_vm.value.dimensions),callback:function ($$v) {_vm.$set(_vm.value, \"dimensions\", $$v)},expression:\"value.dimensions\"}})],1)],1),_c('core.details',{attrs:{\"label\":\"Origin\"}},[_c('licensing.origin-selector',{attrs:{\"size\":_vm.size,\"disabled\":_vm.disabled,\"multiple\":\"\",\"filterable\":\"\",\"clearable\":\"\"},model:{value:(_vm.value.origins),callback:function ($$v) {_vm.$set(_vm.value, \"origins\", $$v)},expression:\"value.origins\"}})],1),_c('core.details',{attrs:{\"label\":\"Status\"}},[_c('licensing.status-selector',{attrs:{\"type\":\"select\",\"options\":_vm.allLicensingStatus,\"size\":_vm.size,\"disabled\":_vm.disabled,\"filterable\":\"\",\"clearable\":\"\",\"multiple\":\"\"},model:{value:(_vm.value.status),callback:function ($$v) {_vm.$set(_vm.value, \"status\", $$v)},expression:\"value.status\"}})],1),_c('div',{staticClass:\"pt-4 space-y-8\"},[_c('el-checkbox',{attrs:{\"size\":_vm.size,\"disabled\":_vm.disabled,\"label\":\"Only with hosts\",\"border\":\"\"},model:{value:(_vm.value.onlyWithHosts),callback:function ($$v) {_vm.$set(_vm.value, \"onlyWithHosts\", $$v)},expression:\"value.onlyWithHosts\"}})],1),_c('div',{staticClass:\"pt-4 space-y-8\"},[_c('el-checkbox',{attrs:{\"size\":_vm.size,\"disabled\":_vm.disabled,\"label\":\"Only pocs\",\"border\":\"\"},model:{value:(_vm.value.onlyPocs),callback:function ($$v) {_vm.$set(_vm.value, \"onlyPocs\", $$v)},expression:\"value.onlyPocs\"}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { ContractsSummaryFilters } from \"@Module/Licensing/Models/ContractsSummaryFilters.model\";\nimport { LicensingStatusPhase } from \"@Module/Licensing/Models/LicensingStatus.model\";\nimport { UISize } from \"@Service/Settings/Store/AppSettings/AppSettings.state\";\nimport { ContractOrigin } from \"@Module/Licensing/Models/ContractOrigin\";\nimport LicensingStore from \"@Module/Licensing/Store/Licensing.store\";\nimport { Dimension } from \"@Module/Licensing/Models/Dimension.model\";\nimport { Serializer } from \"@Core/Components/QueryParam/QueryParam\";\nimport { Component, MapGetter, Prop, Watch } from \"types-vue\";\nimport { ServiceID } from \"@Service/ServiceID\";\nimport Vue from \"vue\";\nimport { ReportContractsFilters } from \"@Module/Reports/Models/ReportContractFilters\";\n\n@Component\nexport default class ReportContractsFilterPanel extends Vue {\n\n @Prop({ type: Object, required: true })\n protected value: ReportContractsFilters;\n\n @Prop({ type: String, default: null })\n protected size: UISize;\n\n @Prop({ type: Boolean, default: false })\n protected disabled: boolean;\n\n @MapGetter(LicensingStore.Mapping)\n protected dimensionArrayParamSerializer: Serializer;\n\n protected servicesForReports: ServiceID[] = ServiceID.ForReports;\n protected contractOrigins: ContractOrigin[] = ContractOrigin.All;\n protected allLicensingStatus: LicensingStatusPhase[] = LicensingStatusPhase.All;\n\n protected serviceName(service: ServiceID): string {\n return ServiceID.nameOf(service);\n }\n\n protected originName(origin: ContractOrigin): string {\n return ContractOrigin.nameOf(origin);\n }\n\n\n @Watch(\"value.services\", { immediate: true })\n protected onServiceFilterChange(services: ServiceID[]) {\n if (services.length === 0) {\n this.value.dimensions = [];\n }\n }\n\n\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./ReportContractsFilterPanel.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./ReportContractsFilterPanel.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ReportContractsFilterPanel.vue?vue&type=template&id=bf4eda76&\"\nimport script from \"./ReportContractsFilterPanel.ts?vue&type=script&lang=ts&\"\nexport * from \"./ReportContractsFilterPanel.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"space-y-16\"},[(!!_vm.context)?_c('core.alert',{attrs:{\"type\":\"warning\",\"closable\":false,\"title\":\"Members only access\",\"description\":_vm.context,\"plain\":\"\",\"compact\":\"\"}}):_vm._e(),_c('el-form',{ref:\"form\",staticClass:\"space-y-16\",attrs:{\"spellcheck\":\"false\",\"rules\":_vm.validationRules,\"model\":_vm.signInModel,\"disabled\":_vm.isDisabled,\"hide-required-asterisk\":\"\",\"label-position\":\"top\"}},[_c('el-form-item',{attrs:{\"prop\":\"email\",\"label\":\"Email\"}},[_c('el-input',{attrs:{\"disabled\":!!_vm.orgInvitationLink,\"type\":\"email\",\"placeholder\":\"Enter your email address\",\"prefix-icon\":\"el-icon-user\",\"clearable\":\"\"},model:{value:(_vm.signInModel.email),callback:function ($$v) {_vm.$set(_vm.signInModel, \"email\", $$v)},expression:\"signInModel.email\"}})],1),_c('el-form-item',{attrs:{\"prop\":\"password\",\"label\":\"Password\"}},[_c('el-input',{attrs:{\"placeholder\":\"Enter your password\",\"prefix-icon\":\"el-icon-lock\",\"show-password\":\"\"},model:{value:(_vm.signInModel.password),callback:function ($$v) {_vm.$set(_vm.signInModel, \"password\", $$v)},expression:\"signInModel.password\"}})],1),_c('div',{staticClass:\"flex flex-wrap items-center container-y-16 container-x-16 content-space-between\"},[_c('el-checkbox',{model:{value:(_vm.signInModel.keepSession),callback:function ($$v) {_vm.$set(_vm.signInModel, \"keepSession\", $$v)},expression:\"signInModel.keepSession\"}},[_vm._v(\"Keep me signed in\")]),_c('el-link',{attrs:{\"disabled\":_vm.isDisabled,\"type\":\"primary\",\"underline\":false},on:{\"click\":function($event){return _vm.$emit('forgot-password')}}},[_vm._v(\"Forgot password?\")])],1)],1),_c('transition',{attrs:{\"name\":\"el-zoom-in-top\"}},[(!!_vm.signInError)?_c('core.alert',{attrs:{\"type\":\"error\",\"title\":\"Sign in error\",\"description\":_vm.signInError.message || 'An unknown error occurred signing in, please try again.',\"plain\":\"\"}}):_vm._e()],1),_c('div',{staticClass:\"w-full flex content-end items-center space-x-8 pt-4\"},[(_vm.skippable)?_c('span',[(_vm.$mq.xs)?_c('el-button',{attrs:{\"disabled\":_vm.isDisabled,\"type\":\"text\"},on:{\"click\":function($event){return _vm.$emit('cancel')}}},[_vm._v(\"Not now\")]):_c('el-button',{attrs:{\"disabled\":_vm.isDisabled,\"type\":\"text\"},on:{\"click\":function($event){return _vm.$emit('cancel')}}},[_vm._v(\"Continue as guest\")])],1):_vm._e(),_c('el-button',{attrs:{\"disabled\":_vm.isDisabled || !_vm.canSignIn || _vm.formWithErrors,\"loading\":_vm.signingIn,\"type\":\"primary\"},on:{\"click\":_vm.submit}},[(_vm.isDisabled)?_c('span',[_vm._v(\"Signing in\")]):_c('span',[_vm._v(_vm._s(!_vm.context ? 'Sign in' : 'Sign in and proceed'))])])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export interface ISignInDto {\n username: string;\n password: string;\n}\n\nexport class SignIn {\n public email: string;\n public password: string;\n public keepSession: boolean;\n\n private constructor() {\n this.email = null;\n this.password = null;\n this.keepSession = true;\n }\n\n public static create() {\n return new SignIn();\n }\n\n public toDto(): ISignInDto {\n return {\n username: this.email,\n password: this.password\n }\n }\n}","import { OrgInvitationNotificationLink } from \"@Module/Notifications/Models/OrgInvitationNotification.model\";\nimport NotificationsInboxStore from \"@Module/Notifications/Store/NotificationsInbox.store\";\nimport { SignInChallenge } from \"@Module/Auth/Models/SignIn/SignInChallenge.model\";\nimport { SignInResponse } from \"@Module/Auth/Models/SignIn/SignInResponse.model\";\nimport { Component, MapAction, MapGetter, Prop, Watch } from \"types-vue\";\nimport { SignIn } from \"@Module/Auth/Models/SignIn/SignIn.model\";\nimport { AuthStatus } from \"@Module/Auth/Store/Auth.state\";\nimport AuthStore from \"@Module/Auth/Store/Auth.store\";\nimport { ElForm } from \"element-ui/types/form\";\nimport Vue from \"vue\";\n\n@Component\nexport default class SignInPanel extends Vue {\n\n @Prop({ type: String, default: null })\n protected context: string;\n\n @Prop({ type: Boolean, default: false })\n protected disabled: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected skippable: boolean;\n\n @MapGetter(AuthStore.Mapping)\n protected authStatus: AuthStatus;\n\n @MapGetter(NotificationsInboxStore.Mapping)\n protected orgInvitationLink: OrgInvitationNotificationLink;\n\n @MapAction(AuthStore.Mapping)\n protected signIn: (model: SignIn) => Promise;\n\n protected signingIn: boolean = false;\n protected signInError: Error = null;\n protected signInModel: SignIn = SignIn.create();\n\n @Watch(\"orgInvitationLink\", { immediate: true })\n protected onInvitationChange(link: OrgInvitationNotificationLink) {\n this.signInModel.email = link?.email ?? null;\n }\n\n protected get canSignIn(): boolean {\n return !!this.signInModel.email \n && !!this.signInModel.password;\n }\n\n protected get isDisabled(): boolean {\n return this.disabled || this.signingIn;\n }\n\n protected setSigningIn(signingIn: boolean) {\n this.signingIn = signingIn;\n this.$emit(\"update:disabled\", signingIn);\n }\n\n protected async submit() {\n try {\n await (this.$refs.form as ElForm).validate()\n await this.performSignIn();\n } catch (error) {}\n }\n\n protected async performSignIn() { \n let result: SignInResponse | SignInChallenge;\n try {\n this.signInError = null;\n this.setSigningIn(true);\n result = await this.signIn(this.signInModel);\n } catch (error) {\n if (error instanceof SignInChallenge) {\n this.$emit(\"challenge\", result);\n } else {\n this.signInError = error;\n }\n } finally {\n this.setSigningIn(false);\n if (!!result) {\n this.$emit(\"success\", result);\n }\n }\n }\n \n protected validationRules = {\n email: [{ type: \"email\", message: \"Please enter a valid email address.\", trigger: [\"change\", \"blur\"] }]\n }\n\n protected get formWithErrors(): boolean {\n return (this.$refs.form as any).fields?.some((item: any) => item.validateState === \"error\") || false;\n }\n\n public closeGuard(close: VoidFunction) {\n if (this.authStatus === AuthStatus.SigningIn) return;\n else return close();\n }\n\n}\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./SignInPanel.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./SignInPanel.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SignInPanel.vue?vue&type=template&id=ec38c032&\"\nimport script from \"./SignInPanel.ts?vue&type=script&lang=ts&\"\nexport * from \"./SignInPanel.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ErrorAlert.vue?vue&type=style&index=1&id=f45c9166&lang=scss&scoped=true&\"","import Vue from \"vue\";\n\nexport interface CookieOptions {\n expiration?: string | number | Date;\n default?: T | null;\n}\n\nexport abstract class AbstractCookie {\n protected readonly name: string;\n protected readonly default: T | null;\n protected readonly expiration: string | number | Date;\n protected _value: T = null;\n\n protected constructor(name: string, options?: CookieOptions) {\n this.name = name;\n this.expiration = options?.expiration ?? Infinity;\n this.default = options?.default ?? null;\n this.read();\n }\n\n private get options(): CookieOptions {\n return {\n expiration: this.expiration,\n default: this.default\n }\n }\n\n public read(): T | null {\n const storedValue = Vue.$cookies.get(this.name);\n this._value = this.parseCookie(storedValue, this.options);\n return this._value;\n }\n\n public store(value: T) {\n Vue.$cookies.set(this.name, value, this.expiration);\n this._value = value;\n }\n\n public get value(): T {\n return this._value;\n }\n\n protected abstract parseCookie(value: any, options: CookieOptions): T | null;\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"licensing-status-breakdown flex container-x-8 container-y-8 flex-wrap\"},[_c('core.stat-card',{staticClass:\"is-active flex-1\",attrs:{\"title\":\"Active\",\"loading\":_vm.firstLoad,\"value\":_vm.activeCount,\"bordered\":_vm.bordered,\"plain\":_vm.plain}}),_c('core.stat-card',{staticClass:\"is-expired flex-1\",attrs:{\"title\":\"Expired\",\"loading\":_vm.firstLoad,\"value\":_vm.expiredCount,\"bordered\":_vm.bordered,\"plain\":_vm.plain}}),_c('core.stat-card',{staticClass:\"is-in-grace flex-1\",attrs:{\"title\":\"In Grace Period\",\"loading\":_vm.firstLoad,\"value\":_vm.inGraceCount,\"bordered\":_vm.bordered,\"plain\":_vm.plain}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { LicensingStatus } from \"@Module/Licensing/Models/LicensingStatus.model\";\nimport { Component, Prop } from \"types-vue\";\nimport Vue from \"vue\";\n\n@Component\nexport default class LicensingStatusBreakdown extends Vue {\n\n @Prop({ type: Array, required: true })\n protected status: LicensingStatus[];\n\n @Prop({ type: Boolean, default: false })\n protected loading: boolean;\n\n @Prop({ type: Boolean, default: null })\n protected plain: Boolean;\n\n @Prop({ type: Boolean, default: null })\n protected bordered: Boolean;\n \n protected get firstLoad(): boolean {\n return this.status.length === 0 && this.loading;\n }\n\n protected get activeCount(): number {\n return this.status.filter(s => s.isActive).length;\n }\n\n protected get expiredCount(): number {\n return this.status.filter(s => s.isExpired).length;\n }\n\n protected get inGraceCount(): number {\n return this.status.filter(s => s.isInGrace).length;\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./LicensingStatusBreakdown.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./LicensingStatusBreakdown.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LicensingStatusBreakdown.vue?vue&type=template&id=3a0ae35a&scoped=true&\"\nimport script from \"./LicensingStatusBreakdown.ts?vue&type=script&lang=ts&\"\nexport * from \"./LicensingStatusBreakdown.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./LicensingStatusBreakdown.vue?vue&type=style&index=0&id=3a0ae35a&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3a0ae35a\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Layout.vue?vue&type=style&index=0&id=3c6e0e78&lang=scss&scoped=true&\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TrialCounter.vue?vue&type=style&index=0&lang=scss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"time-span flex container-y-24 flex-wrap\"},[_c('core.details',{staticClass:\"flex-1\",attrs:{\"align\":\"start\"}},[(!!_vm.fromLabel)?_c('div',{staticClass:\"details-label\",attrs:{\"slot\":\"label\"},slot:\"label\"},[_vm._v(_vm._s(_vm.fromLabel))]):_vm._e(),_c('div',{staticClass:\"value-wrap flex items-center content-start m-y-16\",style:([_vm.marginRightStyle, _vm.linesStyle])},[_c('el-tag',{staticClass:\"mr-4\",attrs:{\"size\":\"mini\",\"effect\":\"dark\",\"type\":\"info\"}},[_vm._t(\"from\")],2)],1)]),(!!_vm.$slots.duration)?_c('core.details',{staticClass:\"flex-none\",attrs:{\"align\":\"center\"}},[_c('div',{attrs:{\"slot\":\"label\"},slot:\"label\"},[_vm._v(\"Duration\")]),_c('div',{staticClass:\"value-wrap flex items-center content-center m-y-16\",style:([_vm.marginRightStyle, _vm.linesStyle])},[_c('el-tag',{attrs:{\"size\":\"mini\",\"effect\":\"dark\",\"type\":\"info\"}},[_vm._t(\"duration\")],2)],1)]):_vm._e(),_c('core.details',{staticClass:\"flex-1\",attrs:{\"align\":\"end\"}},[(!!_vm.toLabel)?_c('div',{staticClass:\"details-label\",attrs:{\"slot\":\"label\"},slot:\"label\"},[_vm._v(_vm._s(_vm.toLabel))]):_vm._e(),_c('div',{staticClass:\"value-wrap flex items-center content-end m-y-16\",style:(_vm.linesStyle)},[_c('el-tag',{staticClass:\"ml-4\",attrs:{\"size\":\"mini\",\"effect\":\"dark\",\"type\":\"info\"}},[_vm._t(\"to\")],2)],1)])],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Prop } from \"types-vue\";\nimport Vue from \"vue\";\n\n@Component\nexport default class DateSpan extends Vue {\n\n @Prop({ type: String, default: null })\n protected fromLabel: string;\n\n @Prop({ type: String, default: null })\n protected toLabel: string;\n\n @Prop({ type: String, default: \"solid\" })\n protected lineStyle: \"solid\" | \"dashed\" | \"dotted\" | \"none\";\n\n protected get marginRightStyle() {\n return {\n \"margin-right\": this.lineStyle === \"solid\" ? \"0\" : this.lineStyle === \"dashed\" ? \"4px\" : \"2px\"\n }\n }\n\n protected get linesStyle() {\n return {\n \"border-bottom-width\": this.lineStyle === \"solid\" ? \"1px\" : \"2px\",\n \"border-bottom-style\": this.lineStyle\n }\n }\n\n}","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./DateSpan.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./DateSpan.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DateSpan.vue?vue&type=template&id=87cb00a6&scoped=true&\"\nimport script from \"./DateSpan.ts?vue&type=script&lang=ts&\"\nexport * from \"./DateSpan.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./DateSpan.vue?vue&type=style&index=0&id=87cb00a6&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"87cb00a6\",\n null\n \n)\n\nexport default component.exports","export interface IDimensionDto {\n name: string;\n description: string;\n}\n\nexport interface IDimensionUnitsDto {\n dimension: string;\n units: number;\n}\n\nexport type IDimensionUnits = IDimensionUnitsDto;\n\nexport class Dimension {\n public readonly name: string;\n public readonly description?: string;\n\n private constructor(dto: IDimensionDto) {\n this.name = dto.name;\n this.description = dto.description;\n }\n\n public static fromDto(dto: IDimensionDto): Dimension {\n return new Dimension(dto);\n }\n\n public static create(name: string): Dimension {\n return new Dimension({ name, description: null });\n }\n\n public meetsFilter(search: string): boolean {\n const text = search ? search.toLowerCase() : \"\";\n return this.name.toLowerCase().includes(text) || this.description.toLowerCase().includes(text);\n }\n \n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"pulse\"},[_c('transition',{attrs:{\"name\":\"el-fade-in\"}},[(!_vm.disabled)?_c('div',{staticClass:\"dot\",class:_vm.pulseClass,style:(_vm.pulseStyle)}):_vm._e()]),_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Utils } from \"@Core/Utils/Utils\";\nimport { Component } from \"types-vue\";\nimport Vue from \"vue\";\nimport { Prop } from \"vue-property-decorator\";\n\n@Component\nexport default class Pulse extends Vue {\n private static readonly INITIAL_X_OFFSET = \"6px\";\n\n @Prop({ type: String, default: \"\" })\n protected type: \"info\" | \"success\" | \"danger\" | \"warning\" | \"\";\n\n @Prop({ type: String, default: \"right\" })\n protected position: \"left\" | \"right\";\n\n @Prop({ type: String, default: \"0px\" })\n protected xOffset: string;\n\n @Prop({ type: String, default: \"0px\" })\n protected yOffset: string;\n\n @Prop({ type: Boolean, default: false })\n protected disabled: boolean;\n\n protected get pulseStyle() {\n return {\n top: this.yOffset,\n left: this.position === \"left\" ? `calc(${this.xOffset} + ${Pulse.INITIAL_X_OFFSET})` : \"unset\",\n right: this.position === \"right\" ? `calc(${this.xOffset} - ${Pulse.INITIAL_X_OFFSET})` : \"unset\"\n }\n }\n\n protected get pulseClass() {\n return {\n \"is-info\": this.type === \"info\",\n \"is-success\": this.type === \"success\",\n \"is-danger\": this.type === \"danger\",\n \"is-warning\": this.type === \"warning\"\n }\n }\n\n}","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./Pulse.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./Pulse.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Pulse.vue?vue&type=template&id=1319cdfa&scoped=true&\"\nimport script from \"./Pulse.ts?vue&type=script&lang=ts&\"\nexport * from \"./Pulse.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./Pulse.vue?vue&type=style&index=0&id=1319cdfa&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1319cdfa\",\n null\n \n)\n\nexport default component.exports","import AxiosAPI from \"@Core/API/AxiosAPI\";\nimport { Organization } from \"@Module/Orgs/Models/Organization.model\";\nimport { IDimensionDto, IDimensionUnitsDto } from \"@Module/Licensing/Models/Dimension.model\";\nimport { ServiceID } from \"@Service/ServiceID\";\nimport { GetContractsApiError } from \"../Errors/GetContractsApiError\";\nimport { GetDimensionsApiError } from \"../Errors/GetDimensionsApiError\";\nimport { GetLicensesApiError } from \"../Errors/GetLicensesApiError\";\nimport { RegisterHostApiError } from \"../Errors/RegisterHostApiError\";\nimport { UnregisterHostApiError } from \"../Errors/UnregisterHostApiError\";\nimport { CreateContractApiError } from \"../Errors/CreateContractApiError\";\nimport { IContractDto, IUpdateContractDto } from \"../Models/Contract.model\";\nimport { ILicenseDto, ILicenseRecoveryDto } from \"../Models/License.model\";\nimport { UpdateContractApiError } from \"../Errors/UpdateContractApiError\";\nimport { ExportFormat } from \"@Core/Models/ExportFormat.model\";\nimport { GetLicensingExportApiError } from \"../Errors/GetLicensingExportApiError\";\nimport { AxiosRequestConfig } from \"axios\";\nimport { ILicensingSummaryDto } from \"../Models/LicensingSummary.model\";\nimport { IContractsSummaryFiltersDto } from \"../Models/ContractsSummaryFilters.model\";\nimport { GetLicensingSummaryApiError } from \"../Errors/GetLicensingSummaryApiError\";\nimport { RecoverLicenseApiError } from \"../Errors/RecoverLicenseApiError\";\nimport { CheckContractApiError } from \"../Errors/ContractsCheckApiError\";\nimport { ILicensingCheckDto } from \"../Models/LicensingCheck.model\";\n\nconst enum RegisterHostResponseFormat {\n File = \"file\"\n}\n\nclass LicensingAPI extends AxiosAPI {\n private static instance: LicensingAPI;\n\n public static get Instance(): LicensingAPI {\n return this.instance || (this.instance = new this());\n }\n\n protected contractsUrl(slug?: string): string {\n const baseUrl = `${process.env.VUE_APP_SERVICE_URL_BACKEND}/contracts`;\n return !!slug ? `${baseUrl}/${slug}` : baseUrl;\n }\n\n protected licensesUrl(slug?: string): string {\n const baseUrl = `${process.env.VUE_APP_SERVICE_URL_BACKEND}/licenses`;\n return !!slug ? `${baseUrl}/${slug}` : baseUrl;\n }\n\n protected hostsUrl(slug?: string): string {\n const baseUrl = `${process.env.VUE_APP_SERVICE_URL_BACKEND}/hosts`;\n return !!slug ? `${baseUrl}/${slug}` : baseUrl;\n }\n\n protected dimensionsUrl(slug?: string): string {\n const baseUrl = `${process.env.VUE_APP_SERVICE_URL_BACKEND}/dimensions`;\n return !!slug ? `${baseUrl}/${slug}` : baseUrl;\n }\n\n public async licensingCheck(service: ServiceID): Promise {\n try {\n const url = this.contractsUrl(\"check\");\n const response = await this.axios.get(url, { \n params: { product: service }\n });\n return response.data;\n } catch (error) {\n const message = \"An error occurred while checking contracts. Please try again later.\";\n throw new CheckContractApiError(message, {\n cause: error,\n meta: { service }\n });\n }\n }\n\n public async getLicensingSummary(params: IContractsSummaryFiltersDto): Promise {\n try {\n const url = this.contractsUrl(\"summary\");\n const response = await this.axios.get(url, { params });\n return response.data;\n } catch (error) {\n const message = \"An error occurred while retrieving licensing summary. Please try again later.\";\n throw new GetLicensingSummaryApiError(message, {\n cause: error,\n meta: { filters: params }\n });\n }\n }\n\n public async exportLicensingSummary(\n service: ServiceID, \n format: ExportFormat\n ): Promise {\n try {\n const url = this.licensesUrl(\"export\");\n const response = await this.axios.get(url, { \n params: { product: service }\n });\n return response.data;\n } catch (error) {\n const message = \"An error occurred while exporting your licensing summary. Please try again later.\";\n throw new GetLicensingExportApiError(message, { \n cause: error, \n meta: { service, format }\n });\n }\n }\n\n public async getContracts(service: ServiceID): Promise {\n try {\n const url = this.contractsUrl();\n const response = await this.axios.get(url, { \n params: { product: service }\n });\n return response.data;\n } catch (error) {\n const message = \"An error occurred while retrieving your contracts. Please try again.\";\n throw new GetContractsApiError(message, { \n cause: error, \n meta: { service }\n });\n }\n }\n\n public async getContractById(service: ServiceID, contractId: number): Promise {\n try {\n const url = this.contractsUrl(contractId.toString());\n const response = await this.axios.get(url, { \n params: { product: service }\n });\n return response.data;\n } catch (error) {\n const message = \"An error occurred while retrieving your contract. Please try again.\";\n throw new GetContractsApiError(message, { \n cause: error, \n meta: { service, contractId }\n });\n }\n }\n\n public async getLicenses(service: ServiceID): Promise {\n try {\n const url = this.licensesUrl();\n const response = await this.axios.get(url, { \n params: { product: service }\n });\n return response.data;\n } catch (error) {\n const message = \"An error occurred while retrieving your licenses. Please try again.\";\n throw new GetLicensesApiError(message, { \n cause: error, \n meta: { service }\n });\n }\n }\n\n public async getLicensesByContractId(service: ServiceID, contractId: number): Promise {\n try {\n const url = this.licensesUrl();\n const response = await this.axios.get(url, { \n params: { product: service, contractid: contractId }\n });\n return response.data;\n } catch (error) {\n const message = \"An error occurred while retrieving your contract licenses. Please try again.\";\n throw new GetLicensesApiError(message, {\n cause: error,\n meta: { service, contractId }\n })\n }\n }\n\n public async getLicenseById(service: ServiceID, licenseId: number): Promise {\n try {\n const url = this.licensesUrl(licenseId.toString());\n const response = await this.axios.get(url, { \n params: { product: service }\n });\n return response.data;\n } catch (error) {\n const message = \"An error occurred while retrieving your license. Please try again.\";\n throw new GetLicensesApiError(message, {\n cause: error,\n meta: { service, licenseId }\n })\n }\n }\n\n public async registerUnencryptedHost(\n service: ServiceID,\n org: Organization, \n licenseId: number,\n registration: object\n ): Promise {\n try {\n const url = this.hostsUrl();\n const config: AxiosRequestConfig = { params: { format: RegisterHostResponseFormat.File } };\n const body = { ...registration, orguuid: org.uuid, licenseId, product: service };\n const response = await this.axios.post(url, body, config);\n return response.data;\n } catch (error) {\n const message = \"An error occurred registering your new host. Please try again.\";\n throw new RegisterHostApiError(message, {\n cause: error,\n meta: { registration, org, service, licenseId }\n });\n }\n }\n\n public async registerEncryptedHost(\n service: ServiceID, \n org: Organization, \n licenseId: number,\n key: string\n ): Promise<{ encryptedHost: string, license: ILicenseDto }> {\n try {\n const url = this.hostsUrl(\"encrypted\");\n const response = await this.axios.post(url, { \n orguuid: org.uuid, \n license_id: licenseId, \n product: service,\n encrypted_input: key\n });\n return response.data;\n } catch (error) {\n const message = \"An error occurred registering your new host. Please try again.\";\n throw new RegisterHostApiError(message, {\n cause: error,\n meta: { key, org, service, licenseId }\n });\n }\n }\n\n public async unregisterHost(service: ServiceID, hostId: number): Promise {\n try {\n const url = this.hostsUrl(hostId.toString());\n const response = await this.axios.delete(url);\n return response.data;\n } catch (error) {\n const message = \"An error occurred unregistering your host. Please try again.\";\n throw new UnregisterHostApiError(message, {\n cause: error,\n meta: { hostId, service }\n });\n }\n }\n\n public async getDimensions(service: ServiceID): Promise {\n try {\n const url = this.dimensionsUrl();\n const response = await this.axios.get(url, {\n params: { trial: false, product: service }\n });\n return response.data;\n } catch (error) {\n const message = `An error occurred while retrieving the service products. Please try again.`;\n throw new GetDimensionsApiError(message, { \n cause: error, \n meta: { service } \n });\n }\n }\n\n public async createLinkeContract(\n org: Organization,\n origin: string, \n service: ServiceID, \n expiration: Date, \n dimensions: IDimensionUnitsDto[],\n poc: boolean,\n extended_contract_id: number\n ): Promise {\n try {\n const url = this.contractsUrl(\"linke\");\n const response = await this.axios.post(url, {\n dimensions, \n product: service, \n origin: origin,\n orgname: org.name, \n orguuid: org.uuid, \n extended_contract_id: extended_contract_id,\n expireson: expiration.toISOString(),\n is_poc: poc\n });\n return response.data;\n } catch (error) {\n const message = `An error occurred while creating a new contract for ${org.name}. Please try again.`;\n throw new CreateContractApiError(message, {\n cause: error,\n meta: { org, service, expiration, dimensions }\n });\n }\n }\n\n public async updateContract(contractId: number, payload: IUpdateContractDto): Promise {\n try {\n const url = this.contractsUrl(contractId.toString());\n const response = await this.axios.put(url, payload);\n return response.data;\n } catch (error) {\n const message = `An error occurred while updating contract. Please try again.`;\n throw new UpdateContractApiError(message, {\n cause: error,\n meta: { contractId, payload }\n });\n }\n }\n\n public async recoverLicenseFile(hostId: number, service: ServiceID): Promise {\n try {\n const url = this.hostsUrl(hostId.toString());\n const response = await this.axios.get(url, { \n params: { product: service } \n });\n return response.data;\n } catch (error) {\n const message = `An error occurred while recovering your license file. Please try again.`;\n throw new RecoverLicenseApiError(message, {\n cause: error,\n meta: { hostId, service }\n });\n }\n }\n\n}\n\nexport default LicensingAPI.Instance;","import { ConsoleError } from \"@Core/Errors/ConsoleError\";\nimport { ServiceID } from \"@Service/ServiceID\";\n\ninterface GetContractsApiErrorMeta {\n service: ServiceID;\n contractId?: number;\n}\n\nexport class GetContractsApiError extends ConsoleError {}","import { ConsoleError } from \"@Core/Errors/ConsoleError\";\nimport { ServiceID } from \"@Service/ServiceID\";\n\ninterface GetDimensionsApiErrorMeta {\n service: ServiceID;\n}\n\nexport class GetDimensionsApiError extends ConsoleError {}","import { ConsoleError } from \"@Core/Errors/ConsoleError\";\nimport { ServiceID } from \"@Service/ServiceID\";\n\ninterface GetLicensesApiErrorMeta {\n service: ServiceID;\n contractId?: number;\n licenseId?: number;\n}\n\nexport class GetLicensesApiError extends ConsoleError {}","import { Organization } from \"@Module/Orgs/Models/Organization.model\";\nimport { ConsoleError } from \"@Core/Errors/ConsoleError\";\nimport { ServiceID } from \"@Service/ServiceID\";\n\ninterface RegisterHostApiErrorMeta {\n service: ServiceID;\n org: Organization;\n key?: string;\n licenseId?: number;\n registration?: object;\n}\n\nexport class RegisterHostApiError extends ConsoleError {}","import { ConsoleError } from \"@Core/Errors/ConsoleError\";\nimport { ServiceID } from \"@Service/ServiceID\";\n\ninterface UnregisterHostApiErrorMeta{\n service: ServiceID;\n hostId: number;\n}\n\nexport class UnregisterHostApiError extends ConsoleError {}","import { Organization } from \"@Module/Orgs/Models/Organization.model\"\nimport { IDimensionUnitsDto } from \"../Models/Dimension.model\"\nimport { ConsoleError } from \"@Core/Errors/ConsoleError\"\nimport { ServiceID } from \"@Service/ServiceID\"\n\ninterface CreateContractApiErrorMeta {\n org: Organization;\n service: ServiceID;\n expiration: Date;\n dimensions: IDimensionUnitsDto[];\n}\n\nexport class CreateContractApiError extends ConsoleError {}","import { IUpdateContractDto } from \"../Models/Contract.model\";\nimport { ConsoleError } from \"@Core/Errors/ConsoleError\"\n\ninterface UpdateContractApiErrorMeta {\n contractId: number;\n payload: IUpdateContractDto;\n}\n\nexport class UpdateContractApiError extends ConsoleError {}","\nimport { ExportFormat } from \"@Core/Models/ExportFormat.model\";\nimport { ConsoleError } from \"@Core/Errors/ConsoleError\";\nimport { ServiceID } from \"@Service/ServiceID\";\n\ninterface GetLicensingExportApiErrorMeta{\n service: ServiceID;\n format: ExportFormat;\n}\n\nexport class GetLicensingExportApiError extends ConsoleError {}","import { IContractsSummaryFiltersDto } from \"@Module/Licensing/Models/ContractsSummaryFilters.model\";\nimport { ConsoleError } from \"@Core/Errors/ConsoleError\";\n\ninterface GetLicensingSummaryApiErrorMeta {\n filters: IContractsSummaryFiltersDto;\n}\n\nexport class GetLicensingSummaryApiError extends ConsoleError {}","import { ConsoleError } from \"@Core/Errors/ConsoleError\";\nimport { ServiceID } from \"@Service/ServiceID\";\n\ninterface RecoverLicenseApiErrorMeta {\n hostId: number;\n service: ServiceID;\n}\n\nexport class RecoverLicenseApiError extends ConsoleError {}","import { ConsoleError } from \"@Core/Errors/ConsoleError\"\nimport { ServiceID } from \"@Service/ServiceID\"\n\ninterface CheckContractApiErrorMeta {\n service: ServiceID;\n}\n\nexport class CheckContractApiError extends ConsoleError {}","import { ServiceID } from \"@Service/ServiceID\";\nimport { IPaymentDto } from \"./Payment.model\";\nimport DayJS, { Dayjs } from \"dayjs\";\nimport { ContractOrigin } from \"@Module/Licensing/Models/ContractOrigin\";\nimport { LicensingStatus } from \"@Module/Licensing/Models/LicensingStatus.model\";\nimport { Dimension, IDimensionUnitsDto } from \"@Module/Licensing/Models/Dimension.model\";\nimport { LeadGenerator } from \"./LeadGenerator.model\";\nimport { LeadGeneratorContract } from \"./LeadGeneratorContract.model\";\nimport { BillingPeriod, IBillingPeriodDto } from \"./BillingPeriod.model\";\n\nexport interface IReportFiltersDto {\n dimensions: Dimension[];\n product?: ServiceID,\n status?: string,\n origin?: string,\n withHosts?: boolean,\n isPoc?: boolean,\n currency?: string,\n leadGenerator?: LeadGeneratorContract,\n billingPeriods: BillingPeriod[],\n}\n\nexport interface IReportContractDto {\n id: number;\n externalId: string;\n status: string;\n origin: string;\n creation: string;\n expiration: string;\n numLicenses: number;\n hideMRR: boolean;\n agreement?: string;\n totalAmount?: number;\n autorenewal?: boolean;\n paymentsNumber?: number;\n productName?: string;\n extendedContractId?: number;\n orgName?: string;\n awsFee?: number;\n currency?: string;\n isPoc?: boolean;\n revenue?: number;\n payments: IPaymentDto[];\n dimensions?: IDimensionUnitsDto[];\n observations?: string;\n leadGenerator?: LeadGeneratorContract;\n billingPeriods?: IBillingPeriodDto[];\n}\n\nexport class ReportContract {\n id: number;\n externalId: string;\n orgName: string;\n creation: Dayjs;\n extendedContractId?: number;\n expiration: Dayjs;\n numLicenses: number;\n agreement: string;\n hideMRR?: boolean;\n totalAmount?: number;\n autorenewal?: boolean;\n paymentsNumber?: number;\n isPoc?: boolean;\n productName?: string;\n observations?: string;\n awsFee?: number;\n currency?: string;\n revenue?: number;\n payments: IPaymentDto[];\n dimensions?: IDimensionUnitsDto[];\n origin: ContractOrigin;\n status: LicensingStatus;\n leadGenerator?: LeadGeneratorContract;\n billingPeriods?: IBillingPeriodDto[];\n\n private constructor(dto: IReportContractDto) {\n this.id = dto.id;\n this.externalId = dto?.externalId;\n this.status = LicensingStatus.create(dto.status);\n this.origin = dto.origin as ContractOrigin;\n this.creation = DayJS(dto.creation);\n this.expiration = DayJS(dto.expiration);\n this.numLicenses = dto.numLicenses;\n this.hideMRR = dto?.hideMRR;\n this.agreement = dto?.agreement;\n this.extendedContractId = dto?.extendedContractId;\n this.orgName = dto?.orgName;\n this.autorenewal = dto?.autorenewal;\n this.currency = dto?.currency;\n this.observations = dto?.observations;\n this.productName = dto?.productName as ServiceID;\n this.totalAmount = dto?.totalAmount;\n this.paymentsNumber = dto?.paymentsNumber;\n this.awsFee = dto?.awsFee;\n this.isPoc = dto?.isPoc;\n this.revenue = dto?.revenue;\n this.payments = !dto.payments ? [] : dto.payments;\n this.dimensions = !dto.dimensions ? [] : dto.dimensions;\n this.leadGenerator = dto?.leadGenerator;\n this.billingPeriods = !dto.billingPeriods ? [] : dto.billingPeriods;\n }\n\n public static create(dto?: Partial): ReportContract {\n return new ReportContract({\n id: dto?.id,\n externalId: dto?.externalId,\n status: dto?.status,\n origin: dto?.origin,\n creation: dto?.creation,\n expiration: dto?.expiration,\n autorenewal: dto?.autorenewal,\n extendedContractId: dto?.extendedContractId,\n numLicenses: dto?.numLicenses,\n agreement: dto?.agreement,\n hideMRR: dto?.hideMRR,\n isPoc: dto?.isPoc,\n currency: dto?.currency,\n observations: dto?.observations,\n orgName: dto?.orgName,\n productName: dto?.productName,\n totalAmount: dto?.totalAmount,\n paymentsNumber: dto?.paymentsNumber,\n dimensions: dto?.dimensions,\n awsFee: dto?.awsFee,\n revenue: dto?.revenue,\n payments: dto?.payments,\n leadGenerator: dto?.leadGenerator,\n billingPeriods: dto?.billingPeriods,\n\n });\n }\n\n public static fromDto(dto: IReportContractDto): ReportContract {\n return new ReportContract(dto);\n }\n\n public toDto(): IReportContractDto {\n return {\n id: this.id,\n externalId: this.externalId,\n isPoc: this.isPoc,\n status: this.status.label,\n origin: this.origin,\n extendedContractId: this.extendedContractId,\n creation: this.creation.format(),\n expiration: this.expiration.format(),\n numLicenses: this.numLicenses,\n autorenewal: this.autorenewal,\n observations: this.observations ? this.observations : null, \n agreement: this.agreement ? this.agreement : null,\n hideMRR: this.hideMRR,\n currency: this.currency,\n orgName: this.orgName,\n productName: this.productName,\n totalAmount: this.totalAmount,\n paymentsNumber: this.paymentsNumber,\n dimensions: this.dimensions,\n awsFee: this.awsFee,\n revenue: this.revenue,\n payments: this.payments,\n leadGenerator: this.leadGenerator ? this.leadGenerator : null,\n billingPeriods: this.billingPeriods,\n }\n}\n\n public meetsFilter(search: string, status: string[]): boolean {\n const text = search?.toLowerCase() || \"\";\n if (!text) { return true; }\n const searchStatusLabel = this.status.label.toLowerCase().includes(text);\n const searchCode = this.externalId.toLowerCase().includes(text);\n const searchOrigin = this.origin.toLowerCase().includes(text);\n return searchStatusLabel || searchCode || searchOrigin;\n}\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"page-layout\",class:_vm.pageLayoutClass},[_c('core.notification-center'),_c('div',{staticClass:\"space-y-16\"},[(!_vm.hideBreadcrumb)?_c('transition',{attrs:{\"name\":\"el-zoom-in-top\"}},[(!_vm.hiddenBreadcrumb)?_c('div',{staticClass:\"w-full pb-4\"},[_c('div',{staticClass:\"flex items-center content-space-between pb-8\",staticStyle:{\"height\":\"24px\"}},[_c('core.breadcrumb',{attrs:{\"route\":_vm.currentRoute}}),_c('transition',{attrs:{\"name\":\"el-zoom-in-top\"}},[(_vm.hasActiveTrial && !_vm.$mq.md)?_c('trial.trial-status',{staticClass:\"no-leave-el-transition w-min-content\",attrs:{\"trial\":_vm.currentServiceTrialInfo,\"title\":((_vm.currentRoute.service.meta.menu.label) + \" trial\"),\"duration\":15}}):_vm._e()],1)],1),_c('el-divider',{staticClass:\"m-0\"})],1):_vm._e()]):_vm._e(),_c('transition',{attrs:{\"name\":\"el-zoom-in-top\"}},[(_vm.hasActiveTrial && _vm.$mq.md || (_vm.hasActiveTrial && _vm.hiddenBreadcrumb))?_c('trial.trial-status',{staticClass:\"no-leave-el-transition pb-6\",attrs:{\"trial\":_vm.currentServiceTrialInfo,\"title\":((_vm.currentRoute.service.meta.menu.label) + \" trial\"),\"duration\":15,\"bordered\":_vm.isPlainUi}}):_vm._e()],1),_c('div',{staticClass:\"content-wrap space-y-16\"},[(_vm.currentRoute.isServiceLegacy)?_c('core.alert',{attrs:{\"offset\":\"-4px\",\"type\":\"warning\",\"closable\":false,\"compact\":\"\"}},[_c('div',[_c('span',[_vm._v(\"This service has been declared as a \"),_c('strong',[_vm._v(\"legacy service\")]),_vm._v(\" and therefore from now on you will not be able to purchase new contracts or download service packages.\")]),_c('br'),(!!_vm.currentRoute.service.meta.appInfo.legacy.redirect)?_c('span',[_vm._v(\"Please refer to the \"),_c('el-link',{attrs:{\"underline\":false},on:{\"click\":_vm.redirectToNonLegacyService}},[_vm._v(\"new version of the service\")]),_vm._v(\".\")],1):_vm._e()])]):_vm._e(),_vm._t(\"default\")],2),_c('el-divider',{staticClass:\"mb-16 mt-24\"}),_c('core.footer')],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import LayoutMixin from \"@Core/Mixins/PageLayout.mixin\";\nimport { Component, mixins } from \"types-vue\";\nimport { Prop } from \"vue-property-decorator\";\n\n@Component\nexport default class Layout extends mixins(LayoutMixin) {\n\n @Prop({ type: Boolean, default: false })\n protected hideBreadcrumb: boolean;\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./Layout.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./Layout.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Layout.vue?vue&type=template&id=3c6e0e78&scoped=true&\"\nimport script from \"./Layout.ts?vue&type=script&lang=ts&\"\nexport * from \"./Layout.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./Layout.vue?vue&type=style&index=0&id=3c6e0e78&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3c6e0e78\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('core.columns-layout',[_c('core.query-param',{attrs:{\"name\":\"tab\"},model:{value:(_vm.currentTab),callback:function ($$v) {_vm.currentTab=$$v},expression:\"currentTab\"}}),_c('div',{staticClass:\"space-y-16\"},[_c('el-tabs',{staticClass:\"w-full\",model:{value:(_vm.currentTab),callback:function ($$v) {_vm.currentTab=$$v},expression:\"currentTab\"}},[_c('el-tab-pane',{attrs:{\"name\":\"contracts\",\"lazy\":\"\"}},[_c('core.label',{staticClass:\"pr-4\",attrs:{\"slot\":\"label\"},slot:\"label\"},[_c('span',[_vm._v(\"Contracts\")]),_c('ion-icon',{staticStyle:{\"width\":\"15px\"},attrs:{\"slot\":\"icon\",\"name\":\"receipt-outline\"},slot:\"icon\"})],1),_c('licensing.contracts-summary-view',{ref:\"contractsSummary\"})],1),_c('el-tab-pane',{attrs:{\"name\":\"organizations\",\"lazy\":\"\"}},[_c('core.label',{staticClass:\"pr-4\",attrs:{\"slot\":\"label\"},slot:\"label\"},[_c('span',[_vm._v(\"Organizations\")]),_c('i',{staticClass:\"el-icon-office-building\",attrs:{\"slot\":\"icon\"},slot:\"icon\"})]),_c('orgs.orgs-licensing-summary-view',{ref:\"orgsLicensingSummary\"})],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import OrgsLicensingSummaryView from \"@Module/Orgs/Components/OrgLicensingSummaryView/OrgsLicensingSummaryView\";\nimport LicensingSummaryView from \"@Module/Licensing/Components/ContractsSummaryView/ContractsSummaryView\";\nimport { Component, Watch } from \"types-vue\";\nimport Vue from \"vue\";\n\nconst enum SummaryTab {\n Contracts = \"contracts\",\n Organizations = \"organizations\"\n}\n\ntype CurrentPanel = OrgsLicensingSummaryView | LicensingSummaryView;\n\n@Component\nexport default class LicensingSummary extends Vue {\n\n protected currentTab: SummaryTab = null;\n\n @Watch(\"$route.query.tab\", { immediate: true })\n protected onTabQueryChange(tab: SummaryTab) {\n if (!!this.currentTab) { return; }\n this.currentTab = tab || SummaryTab.Contracts;\n }\n\n @Watch(\"currentTab\")\n protected async onTabClick(newTab: SummaryTab, oldTab: SummaryTab) {\n const visible: CurrentPanel = (newTab === SummaryTab.Contracts \n ? this.$refs.contractsSummary \n : this.$refs.orgsLicensingSummary) as CurrentPanel;\n const hidden: CurrentPanel = (oldTab === SummaryTab.Contracts \n ? this.$refs.contractsSummary \n : this.$refs.orgsLicensingSummary) as CurrentPanel;\n\n await hidden?.onNotVisible();\n await visible?.onVisible();\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./LicensingSummary.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./LicensingSummary.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LicensingSummary.vue?vue&type=template&id=4e4a570c&\"\nimport script from \"./LicensingSummary.ts?vue&type=script&lang=ts&\"\nexport * from \"./LicensingSummary.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { ConsoleError } from \"@Core/Errors/ConsoleError\";\n\ninterface SessionInitErrorMeta {\n time: Date;\n}\n\nexport class SessionInitError extends ConsoleError {}","import { decode as JwtDecoder } from \"jsonwebtoken\";\nimport DayJS, { Dayjs } from \"dayjs\";\n\nexport interface TokenPayload {\n readonly sub: string;\n readonly email_verified: boolean;\n readonly iss: string;\n readonly \"cognito:username\": string;\n readonly \"custom:tenant_id\": string;\n readonly aud: string;\n readonly event_id: string;\n readonly \"custom:Organization\": string;\n readonly \"custom:tenant_role\": string;\n readonly \"custom:surname\": string;\n readonly \"custom:allowed_org_ids\": string;\n readonly \"custom:preview_access\": string;\n readonly token_use: string;\n readonly auth_time: number;\n readonly name: string;\n readonly exp: number;\n readonly iat: number;\n readonly email: string;\n}\n\nexport class SessionToken {\n public readonly raw: string; \n private readonly payload: TokenPayload;\n public readonly age: Dayjs;\n public readonly expiration: Dayjs;\n public readonly accessToken?: string;\n\n public constructor(token: string, accessToken?: string) {\n this.raw = token;\n this.accessToken = accessToken;\n this.payload = JwtDecoder(token) as TokenPayload;\n this.age = DayJS(this.payload.iat * 1000);\n this.expiration = DayJS(this.payload.exp * 1000);\n }\n\n public get username(): string {\n return this.payload[\"cognito:username\"];\n }\n\n public get duration(): string {\n return this.age.to(this.expiration, true);\n }\n\n public get hasExpired(): boolean {\n return DayJS().isAfter(this.expiration);\n }\n\n public get relativeExpiration(): string {\n return DayJS().to(this.expiration);\n }\n}","import AxiosAPI from \"@Core/API/AxiosAPI\";\nimport { Notify } from \"@Core/Utils/Notify\";\nimport { Utils } from \"@Core/Utils/Utils\";\nimport AuthApi from \"@Module/Auth/API/Auth.api\";\nimport NotificationsInboxStore, { NotificationsInboxStoreAction } from \"@Module/Notifications/Store/NotificationsInbox.store\";\nimport { User } from \"@Module/Users/Models/User.model\";\nimport UsersStore, { UsersStoreAction, UsersStoreGetter } from \"@Module/Users/Store/Users.store\";\nimport { Action, Getter, Module, Mutation, VuexModule } from \"types-vue\";\nimport Vue from \"vue\";\nimport { ActionContext } from \"vuex\";\nimport { SessionInitError } from \"../Errors/SessionInitError\";\nimport { AccessRole, Role } from \"../Models/Roles/AccessRole.model\";\nimport { SessionToken } from \"../Models/SessionToken.model\";\nimport { NewPwdChallenge } from \"../Models/SignIn/NewPwdChallenge.model\";\nimport { SignIn } from \"../Models/SignIn/SignIn.model\";\nimport { SignInChallenge } from \"../Models/SignIn/SignInChallenge.model\";\nimport { SignInResponse } from \"../Models/SignIn/SignInResponse.model\";\nimport { SignUp } from \"../Models/SignUp/SignUp.model\";\nimport { AuthDialogConfig, AuthStatus, AuthStoreState } from \"./Auth.state\";\nimport { Recovery } from \"../Models/Recovery.model\";\n\nconst enum AuthStoreCookies {\n Token = \"auth.token\",\n AccessToken = \"auth.access-token\"\n}\n\nconst enum AuthStoreCommit {\n SetAuthDialogVisible = \"_setAuthDialogVisible\",\n SetAuthDialogConfig = \"_setAuthDialogConfig\",\n SetSessionToken = \"_setSessionToken\",\n SetAuthStatus = \"_setAuthStatus\",\n SetSessionRestoreError = \"_setSessionRestoreError\",\n SetAccessRole = \"_setAccessRole\",\n SetRoles = \"_setRoles\"\n}\n\nexport const enum AuthStoreAction {\n InitSession = \"initSession\",\n DeinitSession = \"deinitSession\",\n SetAccessRole = \"setAccessRole\",\n FetchRoles = \"fetchRoles\"\n}\n\ndeclare type AuthStoreContext = ActionContext;\n\n@Module({ namespaced: true })\nexport default class AuthStore extends VuexModule implements AuthStoreState {\n public static readonly Mapping = Utils.createVuexMappingOptions(\"Auth\");\n\n public _authStatus: AuthStatus = AuthStatus.SignedOut;\n public _sessionToken: SessionToken = null;\n public _sessionRestoreError: SessionInitError = null;\n\n public _accessRole: AccessRole = AccessRole.guestRole();\n public _roles: Role[] = [];\n\n public _authDialogVisible: boolean = false;\n public _authDialogConfig: AuthDialogConfig = null;\n\n @Getter()\n public sessionToken(): SessionToken {\n return this._sessionToken;\n }\n\n @Getter()\n public sessionRestoreError(): SessionInitError {\n return this._sessionRestoreError;\n }\n\n @Getter()\n public authStatus(): AuthStatus {\n return this._authStatus;\n }\n\n @Getter()\n public accessRole(): AccessRole {\n return this._accessRole;\n }\n\n @Getter()\n public authDialogConfig(): AuthDialogConfig {\n return this._authDialogConfig;\n }\n\n @Getter()\n public authDialogVisible(): boolean {\n return this._authDialogVisible;\n }\n\n @Getter()\n public roles(): Role[] {\n return this._roles;\n }\n\n @Mutation()\n protected _setRoles(roles: Role[]) {\n this._roles = roles;\n }\n\n @Mutation()\n protected _setAuthDialogVisible(visible: boolean) {\n this._authDialogVisible = visible;\n }\n\n @Mutation()\n protected _setSessionRestoreError(error: SessionInitError) {\n this._sessionRestoreError = error;\n }\n\n @Mutation()\n public _setAuthDialogConfig(config: AuthDialogConfig) {\n this._authDialogConfig = config;\n }\n\n @Mutation()\n public _setSessionToken(token: SessionToken) {\n this._sessionToken = token;\n AxiosAPI.setToken(token?.raw);\n }\n\n @Mutation()\n public _setAuthStatus(status: AuthStatus) {\n this._authStatus = status;\n }\n\n @Mutation()\n public _setAccessRole(accessRole: AccessRole) {\n this._accessRole = accessRole;\n }\n\n @Action({ commit: AuthStoreCommit.SetRoles })\n public async fetchRoles(): Promise {\n const dtos = await AuthApi.getRoles();\n return dtos.map(Role.fromDto);\n }\n\n @Action({ useContext: true, commit: AuthStoreCommit.SetAccessRole })\n public async setAccessRole(ctx: AuthStoreContext, accessRole?: AccessRole): Promise {\n const user: User | null = UsersStore.Mapping.rootGetter(UsersStoreGetter.sessionUser)(ctx)\n return accessRole || AccessRole.guestRole(user);\n }\n\n @Action({ commit: AuthStoreCommit.SetAuthDialogVisible })\n public async setAuthDialogVisible(visible: boolean): Promise {\n return visible;\n }\n\n @Action({ useContext: true })\n public openAuthDialog(ctx: AuthStoreContext, context?: string): Promise {\n ctx.commit(AuthStoreCommit.SetAuthDialogVisible, true);\n return new Promise(resolver => {\n const config: AuthDialogConfig = { context, resolver };\n ctx.commit(AuthStoreCommit.SetAuthDialogConfig, config);\n });\n }\n\n @Action({ useContext: true })\n public closeAuthDialog(ctx: AuthStoreContext): void {\n ctx.commit(AuthStoreCommit.SetAuthDialogVisible, false);\n ctx.commit(AuthStoreCommit.SetAuthDialogConfig, null);\n }\n\n @Action({ useContext: true })\n public async signUp(ctx: AuthStoreContext, model: SignUp): Promise {\n try {\n ctx.commit(AuthStoreCommit.SetAuthStatus, AuthStatus.SigningUp);\n await AuthApi.signUp(model);\n\n Notify.Success({ \n title: \"Successfully signed up\", \n message: `In a few minutes you will receive an email to ${model.email} in order to activate your account.`,\n duration: 6000\n });\n } finally {\n ctx.commit(AuthStoreCommit.SetAuthStatus, AuthStatus.SignedOut);\n }\n }\n\n @Action({ useContext: true })\n public async signIn(ctx: AuthStoreContext, model: SignIn): Promise {\n try {\n ctx.commit(AuthStoreCommit.SetAuthStatus, AuthStatus.SigningIn);\n const response = await AuthApi.signIn(model);\n\n if (response instanceof SignInResponse) {\n const sessionTime = model.keepSession ? \"10d\" : \"0\";\n Vue.$cookies.set(AuthStoreCookies.Token, response.idToken, sessionTime);\n Vue.$cookies.set(AuthStoreCookies.AccessToken, response.accessToken, sessionTime);\n\n const token = new SessionToken(response.idToken, response.accessToken);\n const user: User = await ctx.dispatch(AuthStoreAction.InitSession, token);\n Notify.Success({ title: \"Successfully signed in\", message: `Welcome ${user.fullName}`, duration: 2000 });\n ctx.commit(AuthStoreCommit.SetAuthStatus, AuthStatus.SignedIn);\n } else {\n ctx.commit(AuthStoreCommit.SetAuthStatus, AuthStatus.SignedOut);\n }\n return response;\n } catch (error) {\n if (error.meta.code === 413) {\n //It requires account verification first\n Vue.$cookies.remove(AuthStoreCookies.Token);\n Vue.$cookies.remove(AuthStoreCookies.AccessToken);\n ctx.commit(AuthStoreCommit.SetAuthStatus, AuthStatus.SignedOut);\n throw SignInChallenge.fromDto({username: model.email, challenge_name: \"VALIDATION_REQUIRED\", session: null});\n }\n Vue.$cookies.remove(AuthStoreCookies.Token);\n Vue.$cookies.remove(AuthStoreCookies.AccessToken);\n ctx.commit(AuthStoreCommit.SetAuthStatus, AuthStatus.SignedOut);\n throw error;\n }\n }\n\n @Action({ useContext: true })\n public async respondToNewPwdChallenge(ctx: AuthStoreContext, challenge: NewPwdChallenge) {\n try {\n ctx.commit(AuthStoreCommit.SetAuthStatus, AuthStatus.SigningIn);\n const response = await AuthApi.respondToNewPwdChallenge(challenge);\n\n const sessionTime = challenge.keepSession ? \"10d\" : \"0\";\n Vue.$cookies.set(AuthStoreCookies.Token, response.idToken, sessionTime);\n Vue.$cookies.set(AuthStoreCookies.AccessToken, response.accessToken, sessionTime);\n\n const token = new SessionToken(response.idToken, response.accessToken);\n const user: User = await ctx.dispatch(AuthStoreAction.InitSession, token);\n\n Notify.Success({ title: \"Successfully signed in\", message: `Welcome ${user.fullName}`, duration: 2000 });\n ctx.commit(AuthStoreCommit.SetAuthStatus, AuthStatus.SignedIn);\n } catch (error) {\n ctx.commit(AuthStoreCommit.SetAuthStatus, AuthStatus.SignedOut);\n throw error;\n }\n }\n\n @Action({ useContext: true })\n public async signOut(ctx: AuthStoreContext, expired: boolean = false): Promise {\n ctx.commit(AuthStoreCommit.SetAuthStatus, AuthStatus.SigningOut);\n const token = ctx.state._sessionToken;\n if (!expired && !!token && !!token.accessToken && !token.hasExpired) {\n await AuthApi.signOut(token.accessToken).catch(e => {\n console.error(e);\n return e;\n });\n //$router.replace(\"/cxlink/auth\").catch(e => e);\n }\n await ctx.dispatch(AuthStoreAction.DeinitSession, expired);\n ctx.commit(AuthStoreCommit.SetAuthStatus, AuthStatus.SignedOut);\n }\n\n @Action({ useContext: true })\n public async loadSessionFromCookies(ctx: AuthStoreContext): Promise {\n const idToken = Vue.$cookies.get(AuthStoreCookies.Token);\n if (!idToken) { return; }\n\n ctx.commit(AuthStoreCommit.SetAuthStatus, AuthStatus.RestoringSession);\n const accessToken = Vue.$cookies.get(AuthStoreCookies.AccessToken);\n const token = new SessionToken(idToken, accessToken);\n if (!token.hasExpired) {\n try {\n await ctx.dispatch(AuthStoreAction.InitSession, token);\n ctx.commit(AuthStoreCommit.SetAuthStatus, AuthStatus.SignedIn);\n } catch (error) {\n ctx.commit(AuthStoreCommit.SetSessionRestoreError, error);\n ctx.commit(AuthStoreCommit.SetAuthStatus, AuthStatus.SignedOut);\n }\n } else {\n Vue.$cookies.remove(AuthStoreCookies.Token);\n Vue.$cookies.remove(AuthStoreCookies.AccessToken);\n ctx.commit(AuthStoreCommit.SetAuthStatus, AuthStatus.SignedOut);\n }\n }\n\n @Action({ useContext: true })\n public async initSession(ctx: AuthStoreContext, token: SessionToken): Promise {\n ctx.commit(AuthStoreCommit.SetSessionRestoreError, null);\n try {\n AxiosAPI.setToken(token.raw);\n\n // Initialize session user\n const initSessionUser = UsersStore.Mapping.rootAction(UsersStoreAction.InitSessionUser);\n const sessionUser = await initSessionUser(ctx, token.username);\n\n const fetchRoles = ctx.dispatch(AuthStoreAction.FetchRoles);\n const fetchNotifInbox = NotificationsInboxStore.Mapping.rootAction(NotificationsInboxStoreAction.FetchInbox)(ctx);\n await Promise.all([fetchRoles, fetchNotifInbox]);\n\n ctx.commit(AuthStoreCommit.SetSessionToken, token);\n return sessionUser;\n } catch (error) {\n console.error(\"[!] Session initialization error - \", error.message, error.cause, error);\n AxiosAPI.setToken(null);\n const message = \"An error occurred while initializing your session. If the problem persists, please sign in again.\";\n throw new SessionInitError(message, {\n cause: error,\n fatal: true,\n meta: { time: new Date() }\n });\n }\n }\n\n @Action({ useContext: true })\n public async deinitSession(ctx: AuthStoreContext, expired: boolean): Promise {\n // Deinitialize session user\n const deinitSessionUser = UsersStore.Mapping.rootAction(UsersStoreAction.DeinitSessionUser);\n await deinitSessionUser(ctx, expired);\n\n Vue.$cookies.keys()\n .filter(name => name.startsWith(\"auth\"))\n .forEach(name => Vue.$cookies.remove(name));\n\n ctx.commit(AuthStoreCommit.SetRoles, []);\n ctx.commit(AuthStoreCommit.SetAccessRole, AccessRole.guestRole());\n ctx.commit(AuthStoreCommit.SetSessionToken, null);\n }\n\n}","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BillingPeriod.vue?vue&type=style&index=0&id=3f493fc6&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"org-role-tree\"},[(_vm.isEmpty)?_c('div',[_vm._t(\"empty\",[(!!_vm.searchText)?_c('core.empty',{attrs:{\"description\":_vm.noMatchText,\"compact\":\"\"}},[_c('i',{staticClass:\"el-icon-office-building\",attrs:{\"slot\":\"icon\"},slot:\"icon\"})]):_c('core.empty',{attrs:{\"description\":_vm.noDataText,\"compact\":\"\"}},[_c('i',{staticClass:\"el-icon-office-building\",attrs:{\"slot\":\"icon\"},slot:\"icon\"})])],{\"isFiltering\":!!this.searchText})],2):_vm._e(),_c('el-tree',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.isEmpty),expression:\"!isEmpty\"}],ref:\"tree\",class:_vm.treeClass,attrs:{\"data\":_vm.treeData,\"props\":_vm.treeProps,\"expand-on-click-node\":false,\"show-checkbox\":_vm.multiple && _vm.showCheckbox,\"filter-node-method\":_vm.filterNode,\"node-key\":\"id\",\"icon-class\":\"el-icon-arrow-right\",\"default-expanded-keys\":_vm.defaultExpandedKeys,\"auto-expand-parent\":\"\",\"check-strictly\":\"\",\"accordion\":_vm.accordion},on:{\"node-click\":_vm.onOrgRoleSelected,\"check\":_vm.onOrgRoleChecked},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar node = ref.node;\nvar data = ref.data;\nreturn _c('orgs.org-role-tree-item',{attrs:{\"show-role\":_vm.showRole,\"node\":node,\"compact\":_vm.compact,\"id\":(\"org-role-tree-item-\" + (data.orgRole.organization.id)),\"data-org-id\":data.orgRole.organization.id},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_vm._t(\"default\",null,null,scope),(_vm.multiple && node.checked && !_vm.showCheckbox)?_c('i',{staticClass:\"el-icon-check text-semibold mr-8\"}):_vm._e()]}}],null,true)})}}])})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { OrganizationRole } from \"@Module/Orgs/Models/Roles/OrganizationRole.model\";\nimport { TreeNode, TreeData, TreeProps, ElTree } from \"element-ui/types/tree\";\nimport { Component, Prop, Watch } from \"types-vue\";\nimport IsEqual from \"lodash.isequal\";\nimport Vue from \"vue\";\n\nexport interface OrgRoleTreeData extends TreeData {\n orgRole: OrganizationRole;\n children: OrgRoleTreeData[];\n}\n\nexport type OrgRoleTreeNode = TreeNode;\n\ninterface TreeCheckState {\n checkedNodes: OrgRoleTreeData[];\n halfCheckedNodes: OrgRoleTreeData[];\n checkedKeys: number[];\n halfCheckedKeys: number[];\n}\n\n@Component\nexport default class OrgRoleTree extends Vue {\n\n @Prop({ default: null })\n protected value: OrganizationRole | OrganizationRole[];\n\n @Prop({ type: Array, required: true })\n protected data: OrganizationRole[];\n\n @Prop({ type: Boolean, default: false })\n protected includeNoAccessRoles: boolean;\n\n @Prop({ type: String, default: \"There are no organizations.\" })\n protected noDataText: string;\n\n @Prop({ type: String, default: \"No organization meets your filtering criteria.\" })\n protected noMatchText: string;\n\n @Prop({ type: Boolean, default: false })\n protected multiple: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected showCheckbox: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected plain: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected accordion: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected childInset: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected groupKeyline: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected defaultExpandAll: boolean;\n\n @Prop({ type: Array, default: () => {} })\n protected defaultExpand: OrganizationRole[];\n\n @Prop({ type: Object, default: null })\n protected defaultHighlight: OrganizationRole;\n\n @Prop({ type: Boolean, default: true })\n protected selectable: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected noExpand: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected compact: boolean;\n\n @Prop({ type: Boolean, default: true })\n protected showRole: boolean;\n\n @Prop({ type: Number, default: Number.MAX_SAFE_INTEGER })\n protected levelLimit: number;\n\n @Prop({ type: Array, default: () => [] })\n protected disabledItems: OrganizationRole[];\n\n protected searchText: string = null;\n protected isEmpty: boolean = false;\n\n @Watch(\"value\", { immediate: true })\n public onValuePropChange(newValue: OrganizationRole | OrganizationRole[]) {\n if (!newValue) { \n this.clearSelection();\n } else if (!Array.isArray(newValue)) {\n const orgId = newValue.organization.id;\n this.setHighlight(orgId);\n this.setSelection(orgId);\n } else {\n const orgIds = newValue.map(orgRole => orgRole.organization.id);\n this.setSelection(...orgIds);\n if (orgIds.length > 0 && !this.getCurrentTreeItem()) {\n this.setHighlight(orgIds[0]);\n }\n }\n }\n\n protected mounted() {\n this.onValuePropChange(this.value);\n this.$watch(\n () => (this.$refs.tree as any)?.isEmpty || false, \n empty => this.isEmpty = empty, \n { immediate: true }\n );\n if (!!this.defaultHighlight) {\n this.setHighlight(this.defaultHighlight.organization.id);\n }\n }\n \n protected getTree(): ElTree | undefined {\n return this.$refs.tree as ElTree;\n }\n\n public getSelectedTreeItem(): HTMLElement | undefined {\n if (!this.value) {\n return;\n } else if (!Array.isArray(this.value)) {\n return this.getTreeItem(this.value.organization.id);\n } else if (this.value.length > 0) {\n const firstId = this.value[0].organization.id;\n return this.getTreeItem(firstId);\n }\n }\n\n public getTreeItem(id: number): HTMLElement {\n const tree = this.getTree();\n const childId = `#org-role-tree-item-${id}`;\n const treeItem: HTMLElement = tree.$el.querySelector(childId);\n return treeItem;\n }\n\n public highlightFirstTreeItem() {\n const firstTreeItem = this.getFirstTreeItem();\n if (!firstTreeItem) { return; }\n const firstEl: HTMLElement = firstTreeItem.firstChild.lastChild as HTMLElement;\n const firstId: number = parseInt(firstEl.dataset.orgId);\n this.setHighlight(firstId);\n }\n\n public highlightSelectedTreeItem() {\n const selectedTreeItem = this.getSelectedTreeItem();\n if (!selectedTreeItem) { return; }\n this.expandSelection();\n const firstSelectedId: number = parseInt(selectedTreeItem.dataset.orgId);\n this.setHighlight(firstSelectedId);\n }\n\n public getNavigableTreeItems(): HTMLElement[] {\n const treeItems: HTMLElement[] = Array.from((this.getTree() as any)?.treeItems ?? []);\n return treeItems.filter(el => el.classList.contains(\"is-focusable\") && !el.classList.contains(\"is-hidden\"));\n }\n\n public getFirstTreeItem(): HTMLElement | undefined {\n const navigableItems = this.getNavigableTreeItems();\n if (navigableItems.length === 0) { return; }\n return navigableItems[0];\n }\n\n public getCurrentTreeItem(): HTMLElement | undefined {\n const currId = this.getTree()?.getCurrentKey();\n if (!currId) { return; }\n return this.getTreeItem(currId);\n }\n\n public navigateTreeItems(command: \"prev\" | \"next\") {\n const navigableItems = this.getNavigableTreeItems();\n if (navigableItems.length === 0) { return; }\n const currIndex = navigableItems.findIndex(el => el.classList.contains(\"is-current\"));\n let nextIndex = currIndex;\n if (command === \"next\") {\n nextIndex = currIndex + 1 > navigableItems.length - 1 ? 0 : currIndex + 1;\n for (let i = nextIndex; i <= navigableItems.length - 1; i++) {\n const target = navigableItems[i].firstChild.lastChild as HTMLElement;\n if (target.clientHeight > 0) {\n this.setHighlight(parseInt(target.dataset.orgId))\n return;\n }\n }\n } else {\n nextIndex = currIndex - 1 < 0 ? navigableItems.length - 1 : currIndex - 1;\n for (let i = nextIndex; i >= 0; i--) {\n const target = navigableItems[i].firstChild.lastChild as HTMLElement;\n if (target.clientHeight > 0) {\n this.setHighlight(parseInt(target.dataset.orgId))\n return;\n }\n }\n }\n }\n\n public selectCurrentTreeItem() {\n const node = this.getTree().getCurrentNode();\n this.onOrgRoleSelected(node);\n }\n\n public async setCurrentTreeItemExpand(expanded: boolean) {\n const tree = this.getTree();\n const currId = tree.getCurrentKey();\n const node = tree.getNode(currId);\n if (node.childNodes.length > 0) {\n node.expanded = expanded;\n await this.$nextTick();\n tree.$forceUpdate();\n }\n }\n\n protected get defaultExpandedKeys(): number[] {\n const shouldExpand = (data: OrgRoleTreeData) => {\n return data.orgRole.children.length > 0 && !data.isLeaf;\n };\n if (!!this.defaultExpandAll) {\n return this.treeData.map(data => {\n const expand = shouldExpand(data);\n const expandChildren = data.children.filter(shouldExpand).map(data => data.orgRole);\n return expand ? [data.orgRole, ...expandChildren] : expandChildren;\n }).flat().map(orgRole => orgRole.organization.id);\n } else if (!!this.defaultExpand) {\n return this.defaultExpand.reduce((expanded, orgRole) => {\n const data = this.treeData.find(data => data.orgRole.organization.id === orgRole.organization.id);\n if (!!data && shouldExpand(data)) { expanded.push(data.orgRole.organization.id); }\n return expanded;\n }, [] as number[]);\n } else {\n const selection = Array.isArray(this.value) ? this.value : !!this.value ? [this.value] : [];\n return selection\n .filter(orgRole => !!orgRole.organization.parentId)\n .map(i => i.organization.parentId);\n }\n }\n\n protected get treeData(): OrgRoleTreeData[] {\n return this.filterNoAccessRoles(this.data)\n .map(this.buildTreeNode);\n }\n\n protected get treeProps(): TreeProps {\n return {\n label: \"label\",\n children: \"children\",\n disabled: \"disabled\",\n isLeaf: \"isLeaf\"\n }\n }\n\n private filterNoAccessRoles(orgRoles: OrganizationRole[]): OrganizationRole[] {\n return !this.includeNoAccessRoles \n ? orgRoles.filter(orgRole => !orgRole.role.isNoAccess)\n : orgRoles;\n }\n\n protected buildTreeNode(orgRole: OrganizationRole, level: number = 0): OrgRoleTreeData {\n const children = level < this.levelLimit \n ? this.filterNoAccessRoles(orgRole.children)\n .map(orgRole => this.buildTreeNode(orgRole, level + 1))\n : [];\n const disabled = this.disabledItems.some(item => item.organization.id === orgRole.organization.id);\n return { \n id: orgRole.organization.id,\n label: orgRole.organization.name,\n isLeaf: children.length === 0,\n disabled,\n children,\n orgRole\n }\n }\n\n public expandSelection() {\n const tree = this.$refs.tree as ElTree;\n const selectedParentNodes = tree.getCheckedNodes()\n .filter(node => !!node.orgRole.organization.parentId)\n .reduce((nodes, data) => {\n const node = tree.getNode(data.orgRole.organization.parentId);\n if (!!node) { nodes.push(node); }\n return nodes;\n }, [] as TreeNode[]);\n selectedParentNodes.forEach(node => node.expanded = true);\n }\n\n public async filterTree(query?: string, search: boolean = true) {\n this.searchText = query || null;\n const tree = this.$refs.tree as ElTree;\n tree.filter(query);\n if (search) {\n await this.$nextTick();\n this.highlightFirstTreeItem();\n }\n }\n\n public clearSelection() {\n const tree = this.$refs.tree as ElTree;\n tree?.setCheckedKeys([]);\n }\n\n public setSelection(...ids: number[]) {\n const tree = this.$refs.tree as ElTree;\n tree?.setCheckedKeys(ids);\n }\n\n public setHighlight(id: number) {\n const tree = this.$refs.tree as ElTree;\n tree?.setCurrentKey(id);\n }\n\n protected filterNode(value: string, data: OrgRoleTreeData): boolean {\n if (!value) { return true; }\n return data.orgRole.organization.meetsSearch(value);\n }\n\n protected onOrgRoleChecked(_node: TreeNode, state: TreeCheckState): void {\n this.onValueChange(state.checkedNodes.map(node => node.orgRole));\n }\n\n protected onOrgRoleSelected(data: OrgRoleTreeData): void {\n if (data.disabled || !this.selectable) { return; }\n if (Array.isArray(this.value)) {\n const currSelection = Array.from(this.value);\n const currIndex = currSelection.findIndex(v => v.organization.id === data.orgRole.organization.id);\n if (currIndex !== -1) {\n currSelection.splice(currIndex, 1);\n } else {\n currSelection.push(data.orgRole);\n }\n this.onValueChange(currSelection);\n } else {\n this.onValueChange(data.orgRole);\n }\n }\n \n protected onValueChange(value: OrganizationRole | OrganizationRole[]) {\n const selectedOrgRole = value || (this.multiple ? [] : null);\n \n if (!Array.isArray(this.value) \n && !Array.isArray(selectedOrgRole)\n && this.value?.organization.id === selectedOrgRole?.organization.id) {\n return;\n } else if (IsEqual(this.value, selectedOrgRole)) { \n return; \n }\n \n this.$emit(\"input\", selectedOrgRole);\n this.$emit(\"select\", selectedOrgRole);\n this.$emit(\"change\", selectedOrgRole);\n\n this.searchText = null;\n this.filterTree(undefined, false);\n }\n\n protected get treeClass() {\n return {\n \"is-filtering\": !!this.searchText,\n \"is-no-child-inset\": !this.childInset,\n \"is-no-selectable\": !this.selectable,\n \"is-group-keyline\": this.groupKeyline,\n \"is-checkbox\": this.showCheckbox,\n \"is-no-expand\": this.noExpand,\n \"is-plain\": this.plain,\n \"is-compact\": this.compact,\n \"is-one-item\": this.treeData.length === 1 && this.treeData[0].isLeaf\n }\n }\n \n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./OrgRoleTree.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./OrgRoleTree.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OrgRoleTree.vue?vue&type=template&id=7e6cb218&\"\nimport script from \"./OrgRoleTree.ts?vue&type=script&lang=ts&\"\nexport * from \"./OrgRoleTree.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FinancialReportView.vue?vue&type=style&index=0&id=e25cc75c&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"space-y-16\"},[_c('el-steps',{attrs:{\"active\":_vm.currentStep,\"finish-status\":\"success\",\"process-status\":\"process\",\"simple\":\"\"}},[_c('el-step',{attrs:{\"title\":\"Request recovery\",\"icon\":\"el-icon-message\"}}),_c('el-step',{attrs:{\"title\":\"Change password\",\"icon\":\"el-icon-unlock\"}})],1),(_vm.currentStep === 0)?_c('div',{staticClass:\"space-y-16\"},[_c('el-form',{ref:\"emailForm\",attrs:{\"disabled\":_vm.loading,\"model\":_vm.forgotPwdModel,\"rules\":_vm.validationRules,\"label-position\":\"top\"}},[_c('el-form-item',{staticClass:\"space-y-8\",attrs:{\"label\":\"Recovery email address\",\"prop\":\"email\"}},[_c('el-input',{attrs:{\"type\":\"email\",\"placeholder\":\"Enter your email address\"},model:{value:(_vm.forgotPwdModel.email),callback:function ($$v) {_vm.$set(_vm.forgotPwdModel, \"email\", $$v)},expression:\"forgotPwdModel.email\"}},[_c('ion-icon',{staticClass:\"mail-input-icon\",attrs:{\"slot\":\"prefix\",\"name\":\"at\"},slot:\"prefix\"})],1)],1)],1),_c('div',{staticClass:\"space-y-4\"},[_c('core.alert',{attrs:{\"title\":\"Recovery process\",\"type\":\"info\",\"closable\":false,\"show-icon\":false,\"plain\":\"\",\"compact\":\"\"}},[_c('span',[_vm._v(\"You will receive a verification code to your email address. With this code you will be able to change your password in the next step of the process.\")])]),_c('transition',{attrs:{\"name\":\"el-zoom-in-top\"}},[(!!_vm.error)?_c('core.alert',{attrs:{\"type\":\"error\",\"title\":\"Password recovery error\",\"description\":_vm.error.message || 'An unknown error occurred, please try again.',\"plain\":\"\"}}):_vm._e()],1)],1),_c('div',{staticClass:\"flex content-end\"},[_c('el-button',{attrs:{\"loading\":_vm.loading,\"disabled\":!_vm.forgotPwdModel.email,\"type\":\"primary\"},on:{\"click\":_vm.requestForgotPwd}},[_vm._v(\"Request recovery\")])],1)],1):_c('div',{staticClass:\"space-y-16\"},[_c('auth.new-pwd-form',{ref:\"newPwdForm\",attrs:{\"disabled\":_vm.loading},on:{\"change\":_vm.onNewPasswordChange}}),_c('el-divider',{staticClass:\"m-y-16\"}),_c('el-form',{ref:\"codeForm\",attrs:{\"disabled\":_vm.loading,\"model\":_vm.forgotPwdModel,\"rules\":_vm.validationRules,\"label-position\":\"top\"}},[_c('el-form-item',{staticClass:\"space-y-8\",attrs:{\"label\":\"Verification code\",\"prop\":\"code\"}},[_c('core.label',{attrs:{\"slot\":\"label\",\"icon-position\":\"end\",\"icon-spacing\":\"4px\"},slot:\"label\"},[_c('span',[_vm._v(\"Verification code\")]),_c('el-tooltip',{attrs:{\"slot\":\"icon\",\"content\":(\"The verification code sent to your email address (\" + (_vm.forgotPwdModel.email) + \").\"),\"effect\":\"dark\",\"placement\":\"top\"},slot:\"icon\"},[_c('ion-icon',{attrs:{\"name\":\"help-circle-outline\"}})],1)],1),_c('el-input',{attrs:{\"placeholder\":\"XXXXXX\",\"minlength\":\"6\",\"maxlength\":\"6\",\"prefix-icon\":\"el-icon-lock\",\"clearable\":\"\"},model:{value:(_vm.forgotPwdModel.code),callback:function ($$v) {_vm.$set(_vm.forgotPwdModel, \"code\", $$v)},expression:\"forgotPwdModel.code\"}})],1)],1),_c('transition',{attrs:{\"name\":\"el-zoom-in-top\"}},[(!!_vm.error)?_c('core.alert',{attrs:{\"type\":\"error\",\"title\":\"Password recovery error\",\"description\":_vm.error.message || 'An unknown error occurred, please try again.',\"plain\":\"\"}}):_vm._e()],1),_c('div',{staticClass:\"flex content-end\"},[_c('el-button',{attrs:{\"loading\":_vm.loading,\"disabled\":!_vm.forgotPwdModel.newPassword || !_vm.forgotPwdModel.code,\"type\":\"primary\"},on:{\"click\":_vm.confirmForgotPwd}},[_vm._v(\"Change password\")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export interface IForgotPwdDto {\n username: string;\n newpassword: string;\n confirmationcode: string;\n}\n\nexport class ForgotPwd {\n public email: string;\n public newPassword: string;\n public code: string;\n\n private constructor() {\n this.email = null;\n this.newPassword = null;\n this.code = null;\n }\n \n public static create(): ForgotPwd {\n return new ForgotPwd();\n }\n\n public toDto(): IForgotPwdDto {\n return {\n username: this.email,\n newpassword: this.newPassword || undefined,\n confirmationcode: this.code || undefined\n }\n }\n}","import { ForgotPwd } from \"@Module/Auth/Models/ForgotPwd/ForgotPwd.model\";\nimport NewPwdForm from \"../NewPwdForm/NewPwdForm\";\nimport AuthApi from \"@Module/Auth/API/Auth.api\";\nimport { ElForm } from \"element-ui/types/form\";\nimport { Utils } from \"@Core/Utils/Utils\";\nimport { Component, Prop } from \"types-vue\";\nimport Vue from \"vue\";\nimport { Notify } from \"@Core/Utils/Notify\";\n\nconst enum ForgotPwdStep {\n RecoveryEmail = 0,\n ChangePassword = 1,\n Finish = 2\n}\n\n@Component\nexport default class ForgotPwdPanel extends Vue {\n\n @Prop({ type: Boolean, default: false })\n protected disabled: boolean;\n\n protected currentStep: ForgotPwdStep = ForgotPwdStep.RecoveryEmail;\n protected forgotPwdModel: ForgotPwd = ForgotPwd.create();\n protected loading: boolean = false;\n protected error: Error = null;\n\n protected validationRules = {\n email: [\n { type: \"email\", message: \"Please enter a valid email address.\", trigger: \"blur\" },\n { required: true, message: \"Please enter your recovery email address.\", trigger: \"change\" },\n { required: true, message: \"Please enter your recovery email address.\", trigger: \"blur\" }\n ],\n code: [\n { required: true, message: \"Please enter your verification code.\", trigger: \"change\" },\n { required: true, message: \"Please enter your verification code.\", trigger: \"blur\" },\n { validator: this.onlyDigits, trigger: \"blur\" },\n ]\n }\n\n protected onlyDigits(rule: any, value: string, callback: (error?: Error) => void): void {\n const codePattern = /^[0-9]{6,6}$/;\n return codePattern.test(value) \n ? callback() \n : callback(new Error(\"Invalid verification code.\"));\n }\n\n protected onNewPasswordChange(value: string, valid: boolean) {\n this.forgotPwdModel.newPassword = valid ? value : null;\n }\n\n protected async requestForgotPwd() {\n try {\n await (this.$refs.emailForm as ElForm).validate();\n await this.sendToServer();\n (this.$refs.codeForm as ElForm).clearValidate();\n } catch {}\n }\n\n protected async confirmForgotPwd() {\n try {\n const codeValidation = (this.$refs.codeForm as ElForm).validate();\n const pwdValidation = (this.$refs.newPwdForm as NewPwdForm).validate();\n await Promise.all([codeValidation, pwdValidation]);\n await this.sendToServer();\n } catch {}\n }\n\n protected setLoading(loading: boolean) {\n this.loading = loading;\n this.$emit(\"update:disabled\", loading);\n }\n\n protected async sendToServer() {\n try {\n this.error = null;\n this.setLoading(true);\n if (this.currentStep === ForgotPwdStep.RecoveryEmail) {\n await AuthApi.forgotPwd(this.forgotPwdModel);\n this.currentStep = ForgotPwdStep.ChangePassword;\n } else {\n await AuthApi.confirmForgotPwd(this.forgotPwdModel);\n this.currentStep = ForgotPwdStep.Finish;\n Notify.Success({\n title: \"Password changed\", \n message: \"The account password has been successfully changed.\"\n });\n await Utils.sleep(250);\n this.$emit(\"success\");\n }\n } catch (error) {\n this.error = error;\n } finally {\n this.setLoading(false);\n }\n }\n\n public async closeGuard(close: VoidFunction) {\n if (this.currentStep !== ForgotPwdStep.ChangePassword) {\n return close();\n }\n \n try {\n const message = \"

Do you really want to finish the current password recovery process?

\"\n + \"

You can start the password recovery process again at any time.

\";\n await this.$confirm(message, \"Finish password recovery\", {\n type: \"warning\",\n cancelButtonText: \"Cancel\",\n confirmButtonText: \"Finish\",\n dangerouslyUseHTMLString: true\n });\n return close();\n } catch {}\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./ForgotPwdPanel.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./ForgotPwdPanel.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ForgotPwdPanel.vue?vue&type=template&id=51b91894&scoped=true&\"\nimport script from \"./ForgotPwdPanel.ts?vue&type=script&lang=ts&\"\nexport * from \"./ForgotPwdPanel.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./ForgotPwdPanel.vue?vue&type=style&index=0&id=51b91894&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"51b91894\",\n null\n \n)\n\nexport default component.exports","import { ServiceID } from \"@Service/ServiceID\";\nimport { Console } from \"vue-router\";\n\nimport ServiceViewport from \"@Core/Components/ServiceViewport/ServiceViewport.vue\";\n\nimport AmisHub from './Views/Hub/AmisHub.vue';\nimport AmisCatalog from './Views/Catalog/AmisCatalog.vue';\nimport PreinstalledDocumentation from \"./Views/Documentation/PreinstalledDocumentation.vue\";\nimport Viewport from \"@Core/Components/Viewport/Viewport.vue\";\n\nconst routes: Console.RouteConfig[] = [\n {\n path: \"/preinstalled-sap\",\n name: \"amis\",\n component: ServiceViewport,\n redirect: { name: \"amis-home\" },\n meta: {\n authRequired: true,\n appInfo: {\n version: \"1.1.0\",\n serviceId: ServiceID.Amis,\n summary: \"Amazon Machine Images (AMI's) packed with all necessary software to deploy your chosen SAP Systems within minutes.\"\n },\n menu: {\n label: ServiceID.nameOf(ServiceID.Amis),\n groupId: \"service\",\n icon: {\n type: \"custom\",\n name: \"icons/amis.svg\"\n }\n }\n },\n children: [\n {\n path: \"home\",\n name: \"amis-home\",\n component: AmisHub,\n meta: {\n authRequired: true,\n menu: {\n label: \"AMIS\",\n icon: {\n type: \"ion-icon\",\n name: \"bookmark\"\n }\n }\n }\n },\n {\n path: \"catalog\",\n name: \"amis-catalog\",\n component: AmisCatalog,\n meta: {\n authRequired: true,\n menu: {\n label: \"Image Catalog\",\n icon: {\n type: \"ion-icon\",\n name: \"apps\"\n }\n }\n }\n },\n ]\n }\n];\n\nexport default routes\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('core.dialog',{ref:\"dialog\",attrs:{\"top\":\"10vh\",\"width\":_vm.dialogWidth,\"visible\":_vm.authDialogVisible,\"before-close\":_vm.closeGuard,\"show-close\":!_vm.busy,\"append-to-body\":\"\"},on:{\"open\":_vm.onOpen,\"close\":_vm.onClose,\"closed\":_vm.onClosed,\"resolve\":_vm.onResolve},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar success = ref.success;\nvar cancel = ref.cancel;\nreturn _c('div',{staticClass:\"space-y-16\"},[(_vm.shouldRender)?_c('auth.auth-controller',{ref:\"authController\",attrs:{\"disabled\":_vm.busy,\"show-title\":false,\"context\":_vm.authContext},on:{\"update:disabled\":function($event){_vm.busy=$event},\"signed-in\":success,\"cancel\":cancel},model:{value:(_vm.currentPanel),callback:function ($$v) {_vm.currentPanel=$$v},expression:\"currentPanel\"}}):_vm._e()],1)}}])},[_c('div',{attrs:{\"slot\":\"title\"},slot:\"title\"},[(_vm.panel.isSignIn)?_c('core.label',{attrs:{\"icon-size\":\"20px\",\"icon-spacing\":\".5rem\"}},[_c('H1',[_vm._v(\"Sign in\")]),_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"person-circle\"},slot:\"icon\"})],1):(_vm.panel.isSignUp)?_c('core.label',{attrs:{\"icon-size\":\"20px\",\"icon-spacing\":\".5rem\"}},[_c('H1',[_vm._v(\"Sign up\")]),_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"people-circle\"},slot:\"icon\"})],1):(_vm.panel.isNewPwdChallenge)?_c('core.label',{attrs:{\"icon-size\":\"20px\",\"icon-spacing\":\".5rem\"}},[_c('H1',[_vm._v(\"New password required\")]),_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"shield-half\"},slot:\"icon\"})],1):(_vm.panel.isForgotPwd)?_c('core.title',{attrs:{\"disabled\":_vm.busy,\"allow-navigation\":\"\"},on:{\"back\":_vm.onCancelForgotPwd}},[_c('core.label',{attrs:{\"icon-size\":\"16px\"}},[_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"lock-closed\"},slot:\"icon\"}),_c('H1',[_vm._v(\"Password recovery\")])],1)],1):(_vm.panel.isRespondInvitation)?_c('core.label',{attrs:{\"icon-size\":\"20px\",\"icon-spacing\":\".5rem\"}},[_c('i',{staticClass:\"el-icon-postcard\",attrs:{\"slot\":\"icon\"},slot:\"icon\"}),_c('H1',[_vm._v(\"Invitation response\")])],1):(_vm.panel.isRecovery)?_c('core.label',{attrs:{\"icon-size\":\"20px\",\"icon-spacing\":\".5rem\"}},[_c('i',{staticClass:\"el-icon-postcard\",attrs:{\"slot\":\"icon\"},slot:\"icon\"}),_c('H1',[_vm._v(\"Account Verification\")])],1):_vm._e()],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { OrgInvitationNotificationLink } from \"@Module/Notifications/Models/OrgInvitationNotification.model\";\nimport NotificationsInboxStore from \"@Module/Notifications/Store/NotificationsInbox.store\";\nimport RespondInvitationPanel from \"../RespondInvitationPanel/RespondInvitationPanel\";\nimport { SignInChallenge } from \"@Module/Auth/Models/SignIn/SignInChallenge.model\";\nimport { NewPwdChallenge } from \"@Module/Auth/Models/SignIn/NewPwdChallenge.model\";\nimport { SignInResponse } from \"@Module/Auth/Models/SignIn/SignInResponse.model\";\nimport NewPwdChallengePanel from \"../NewPwdChallengePanel/NewPwdChallengePanel\";\nimport { ContractPurchase } from \"@Module/Auth/Models/ContractPurchase.model\";\nimport { Component, MapAction, MapGetter, Prop, Watch } from \"types-vue\";\nimport LicensingStore from \"@Module/Licensing/Store/Licensing.store\";\nimport { SignUp } from \"@Module/Auth/Models/SignUp/SignUp.model\";\nimport ForgotPwdPanel from \"../ForgotPwdPanel/ForgotPwdPanel\";\nimport SignUpPanel from \"../SignUpPanel/SignUpPanel\";\nimport SignInPanel from \"../SignInPanel/SignInPanel\";\nimport Vue from \"vue\";\n\nexport const enum AuthFormPanel {\n SignIn = \"sign-in\",\n SignUp = \"sign-up\",\n NewPwdChallenge = \"new-pwd-challenge\",\n ForgotPassword = \"forgot-password\",\n RespondInvitation = \"respond-invitation\",\n Recovery = \"recovery\"\n}\n\n@Component\nexport default class AuthController extends Vue {\n\n @Prop({ type: Boolean, default: false })\n protected disabled: boolean;\n\n @Prop({ type: String, default: null })\n protected context: string;\n\n @Prop({ type: Boolean, default: true })\n protected showTitle: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected skippable: boolean;\n\n @Prop({ type: String, default: AuthFormPanel.SignIn })\n protected value: AuthFormPanel;\n \n @MapGetter(NotificationsInboxStore.Mapping)\n protected orgInvitationLink: OrgInvitationNotificationLink;\n\n @MapGetter(LicensingStore.Mapping)\n protected contractPurchase: ContractPurchase;\n\n @MapAction(LicensingStore.Mapping)\n protected setContractPurchase: (contractPurchase: ContractPurchase | null) => Promise;\n\n @MapAction(NotificationsInboxStore.Mapping)\n protected setOrgInvitationLink: (link: OrgInvitationNotificationLink | null) => Promise;\n\n protected currentPanel: AuthFormPanel = AuthFormPanel.SignIn;\n protected newPwdChallenge: NewPwdChallenge = null;\n protected busy: boolean = false;\n protected signUpModel: SignUp = null;\n protected email: string = \"\";\n\n @Watch(\"value\", { immediate: true })\n protected onValueChange(newPanel: AuthFormPanel) {\n this.currentPanel = newPanel;\n }\n\n @Watch(\"currentPanel\", { immediate: true })\n protected onCurrentPanelChange(panel: AuthFormPanel) {\n this.$emit(\"change\", panel);\n }\n\n @Watch(\"busy\", { immediate: true })\n protected onBusyChange(busy: boolean) {\n this.$emit(\"update:disabled\", busy);\n }\n\n protected setCurrentPanel(panel: AuthFormPanel) {\n this.currentPanel = panel;\n this.$emit(\"input\", panel);\n }\n\n protected get isInDialog(): boolean {\n return !!this.$parent.$refs.dialog;\n }\n\n protected get panel() {\n return {\n isSignIn: this.currentPanel === AuthFormPanel.SignIn,\n isSignUp: this.currentPanel === AuthFormPanel.SignUp,\n isNewPwdChallenge: this.currentPanel === AuthFormPanel.NewPwdChallenge,\n isRecovery: this.currentPanel === AuthFormPanel.Recovery,\n isForgotPwd: this.currentPanel === AuthFormPanel.ForgotPassword,\n isRespondInvitation: this.currentPanel === AuthFormPanel.RespondInvitation\n }\n }\n\n protected async onCancelInvitation() {\n try {\n const message = `

Are you sure you want to postpone your invitation to ${this.orgInvitationLink.orgName} organization?

` +\n `

Later, once authenticated, you will still be able to accept or decline the invitation from the notifications inbox.

`\n await this.$confirm(\n message,\n \"Postpone invitation\", {\n type: \"warning\",\n cancelButtonText: \"Cancel\",\n confirmButtonText: \"Postpone invitation\",\n dangerouslyUseHTMLString: true\n }\n );\n await this.setOrgInvitationLink(null);\n } catch {}\n }\n\n protected onSignInResult(result: SignInResponse | SignInChallenge) {\n if (result instanceof SignInChallenge && result.isNewPasswordChallenge) {\n this.newPwdChallenge = NewPwdChallenge.create(result);\n this.setCurrentPanel(AuthFormPanel.NewPwdChallenge);\n } else if (result instanceof SignInChallenge){\n this.email = result.username;\n }else {\n this.onSignInComplete()\n }\n }\n\n protected async onInvitationAccepted(orgInvitationLink: OrgInvitationNotificationLink) {\n if (orgInvitationLink.isSignUp) {\n this.onSignUpComplete();\n } else {\n this.onSignInComplete();\n }\n }\n\n protected async onSignInComplete() {\n if (!!this.orgInvitationLink && !this.orgInvitationLink.accepted) {\n this.orgInvitationLink.accepted = false;\n this.orgInvitationLink.isSignUp = false;\n this.setCurrentPanel(AuthFormPanel.RespondInvitation);\n } else {\n await this.setContractPurchase(null);\n this.$emit(\"signed-in\");\n }\n }\n \n protected onSignUpResult(result: SignUp) {\n this.signUpModel = result;\n this.email = result.email;\n this.onSignUpComplete();\n }\n\n protected onCodeVerified() {\n this.setCurrentPanel(AuthFormPanel.SignIn);\n }\n \n protected async onSignUpComplete() {\n if (!!this.orgInvitationLink && !this.orgInvitationLink.accepted) {\n this.orgInvitationLink.accepted = true;\n this.orgInvitationLink.isSignUp = true;\n this.setCurrentPanel(AuthFormPanel.RespondInvitation);\n } else {\n await this.setContractPurchase(null);\n this.setCurrentPanel(AuthFormPanel.SignIn);\n this.$emit(\"signed-up\");\n }\n }\n\n protected onForgotPasswordClick() {\n this.setCurrentPanel(AuthFormPanel.ForgotPassword);\n }\n\n protected onCancelForgotPwd() {\n this.setCurrentPanel(AuthFormPanel.SignIn);\n }\n\n protected toggleAuthPanel() {\n const targetPanel = this.panel.isSignIn \n ? AuthFormPanel.SignUp \n : AuthFormPanel.SignIn;\n this.setCurrentPanel(targetPanel);\n }\n\n protected goToSignIn() {\n this.setCurrentPanel(AuthFormPanel.SignIn);\n }\n\n public closeGuard(close: VoidFunction) {\n switch (this.currentPanel) {\n case AuthFormPanel.ForgotPassword:\n const forgotPwdPanel = this.$refs.forgotPwdPanel as ForgotPwdPanel;\n return forgotPwdPanel.closeGuard(close);\n case AuthFormPanel.NewPwdChallenge:\n const newPwdChallengePanel = this.$refs.newPwdChallengePanel as NewPwdChallengePanel;\n return newPwdChallengePanel.closeGuard(close);\n case AuthFormPanel.SignIn: \n const signInPanel = this.$refs.signInPanel as SignInPanel;\n return signInPanel.closeGuard(close);\n case AuthFormPanel.SignUp: \n const signUpPanel = this.$refs.signUpPanel as SignUpPanel;\n return signUpPanel.closeGuard(close);\n case AuthFormPanel.RespondInvitation:\n const respondInvitationPanel = this.$refs.respondInvitationPanel as RespondInvitationPanel;\n return respondInvitationPanel.closeGuard(close);\n }\n }\n\n protected beforeDestroy() {\n if (this.contractPurchase?.isError || this.contractPurchase?.isUpdate) {\n this.setContractPurchase(null);\n }\n }\n\n}","import AuthController, { AuthFormPanel } from \"../AuthController/AuthController\";\nimport { ContractPurchase } from \"@Module/Auth/Models/ContractPurchase.model\";\nimport LicensingStore from \"@Module/Licensing/Store/Licensing.store\";\nimport { AuthDialogConfig } from \"@Module/Auth/Store/Auth.state\";\nimport { Component, MapAction, MapGetter } from \"types-vue\";\nimport { ConsoleRoute } from \"@Core/Models/ConsoleRoute\";\nimport AuthStore from \"@Module/Auth/Store/Auth.store\";\nimport OrgsStore from \"@Module/Orgs/Store/Orgs.store\";\nimport Vue from \"vue\";\n\n@Component\nexport default class AuthDialog extends Vue {\n\n @MapGetter(LicensingStore.Mapping)\n protected contractPurchase: ContractPurchase;\n\n @MapGetter(AuthStore.Mapping)\n protected authDialogVisible: boolean;\n\n @MapGetter(AuthStore.Mapping)\n protected authDialogConfig: AuthDialogConfig;\n\n @MapAction(AuthStore.Mapping)\n protected setAuthDialogVisible: (visible: boolean) => Promise;\n\n @MapGetter(OrgsStore.Mapping)\n protected noOrganization: boolean;\n\n protected currentPanel: AuthFormPanel = AuthFormPanel.SignIn;\n protected shouldRender: boolean = false;\n protected busy: boolean = false;\n\n protected get dialogWidth(): string {\n switch (this.currentPanel) {\n case AuthFormPanel.SignIn:\n return !!this.contractPurchase ? \"440px\" : \"405px\";\n default: return \"460px\";\n }\n }\n\n protected get panel() {\n return {\n isSignIn: this.currentPanel === AuthFormPanel.SignIn,\n isSignUp: this.currentPanel === AuthFormPanel.SignUp,\n isNewPwdChallenge: this.currentPanel === AuthFormPanel.NewPwdChallenge,\n isRecovery: this.currentPanel === AuthFormPanel.Recovery,\n isForgotPwd: this.currentPanel === AuthFormPanel.ForgotPassword,\n isRespondInvitation: this.currentPanel === AuthFormPanel.RespondInvitation\n }\n }\n\n protected get authContext(): string | null {\n return this.authDialogConfig?.context || null;\n }\n\n protected onResolve(success: boolean) {\n this.authDialogConfig?.resolver(success);\n }\n\n protected onOpen() {\n this.currentPanel = AuthFormPanel.SignIn;\n this.shouldRender = true;\n this.setAuthDialogVisible(true);\n }\n\n protected onClose() {\n this.setAuthDialogVisible(false);\n }\n\n protected onClosed() {\n this.shouldRender = false;\n }\n\n protected closeGuard(close: VoidFunction) {\n const controller = this.$refs.authController as AuthController;\n if (!!controller) { \n controller.closeGuard(close); \n } else {\n close();\n }\n }\n\n protected onCancelForgotPwd() {\n (this.$refs.authController as AuthController).closeGuard(() => {\n this.currentPanel = AuthFormPanel.SignIn;\n });\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./AuthDialog.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./AuthDialog.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AuthDialog.vue?vue&type=template&id=5e08fadf&\"\nimport script from \"./AuthDialog.ts?vue&type=script&lang=ts&\"\nexport * from \"./AuthDialog.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('core.dialog',{ref:\"dialog\",attrs:{\"top\":\"10vh\",\"width\":\"45rem\",\"append-to-body\":\"\",\"visible\":_vm.manageResourcesDialogVisible},on:{\"open\":function($event){return _vm.setManageResourcesDialogVisible(true)},\"close\":function($event){return _vm.setManageResourcesDialogVisible(false)},\"closed\":_vm.onClosed},scopedSlots:_vm._u([{key:\"footer\",fn:function(ref){\nvar cancel = ref.cancel;\nreturn _c('div',{staticClass:\"space-x-16\"},[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":cancel}},[_vm._v(\"Close\")]),_c('core.superadmin-button',{attrs:{\"slot\":\"reference\",\"disabled\":!_vm.canCreate,\"size\":\"small\"},on:{\"click\":_vm.createElement},slot:\"reference\"},[_c('span',[_vm._v(\"Add \"+_vm._s(_vm.formValue))])])],1)}}])},[_c('el-tabs',{staticClass:\"package-type-tabs\",model:{value:(_vm.formValue),callback:function ($$v) {_vm.formValue=$$v},expression:\"formValue\"}},[(_vm.serviceId === _vm.abapSuite)?_c('el-tab-pane',{attrs:{\"label\":\"Product Version\",\"name\":\"version\"}},[(_vm.formValue == 'version')?_c('div',{staticClass:\"resources-form\"},[_c('core.label',{attrs:{\"slot\":\"title\",\"icon-size\":\"18px\",\"icon-spacing\":\".6rem\"},slot:\"title\"},[_c('H2',[_vm._v(\"Add Product Version\")])],1),_c('core.details',{staticClass:\"form-input\",attrs:{\"label\":\"Name\",\"value\":_vm.productVersion.version}},[_c('el-input',{attrs:{\"placeholder\":\"Enter a name\",\"clearable\":\"\"},model:{value:(_vm.productVersion.version),callback:function ($$v) {_vm.$set(_vm.productVersion, \"version\", $$v)},expression:\"productVersion.version\"}})],1),_c('core.details',{staticClass:\"form-input\",attrs:{\"label\":\"Description\",\"value\":_vm.productVersion.description}},[_c('el-input',{attrs:{\"placeholder\":\"version description\",\"clearable\":\"\"},model:{value:(_vm.productVersion.description),callback:function ($$v) {_vm.$set(_vm.productVersion, \"description\", $$v)},expression:\"productVersion.description\"}})],1)],1):_vm._e()]):_vm._e(),_c('el-tab-pane',{attrs:{\"label\":\"Platform\",\"name\":\"platform\"}},[(_vm.formValue == 'platform')?_c('div',{staticClass:\"resources-form\"},[_c('core.label',{attrs:{\"slot\":\"title\",\"icon-size\":\"18px\",\"icon-spacing\":\".6rem\"},slot:\"title\"},[_c('H2',[_vm._v(\"Add Platform\")])],1),_c('core.details',{staticClass:\"form-input\",attrs:{\"label\":\"Name\",\"value\":_vm.platform.name}},[_c('el-input',{attrs:{\"placeholder\":\"Enter a name\",\"clearable\":\"\"},model:{value:(_vm.platform.name),callback:function ($$v) {_vm.$set(_vm.platform, \"name\", $$v)},expression:\"platform.name\"}})],1),_c('core.details',{staticClass:\"form-input\",attrs:{\"label\":\"Description\",\"value\":_vm.platform.description}},[_c('el-input',{attrs:{\"placeholder\":\"platform description\",\"clearable\":\"\"},model:{value:(_vm.platform.description),callback:function ($$v) {_vm.$set(_vm.platform, \"description\", $$v)},expression:\"platform.description\"}})],1),(_vm.serviceId === _vm.abapSuite)?_c('core.details',{staticClass:\"form-input\",attrs:{\"label\":\"Product Version\"}},[_c('resources.product-version-selector',{attrs:{\"productVersions\":_vm.allVersions},model:{value:(_vm.platform.productVersionId),callback:function ($$v) {_vm.$set(_vm.platform, \"productVersionId\", $$v)},expression:\"platform.productVersionId\"}})],1):_vm._e()],1):_vm._e()]),_c('el-tab-pane',{attrs:{\"label\":\"Release\",\"name\":\"release\"}},[(_vm.formValue == 'release')?_c('div',{staticClass:\"resources-form\"},[_c('core.label',{attrs:{\"slot\":\"title\",\"icon-size\":\"18px\",\"icon-spacing\":\".6rem\"},slot:\"title\"},[_c('H2',[_vm._v(\"Add Release\")])],1),_c('core.details',{staticClass:\"form-input\",attrs:{\"label\":\"Name\",\"value\":_vm.release.name}},[_c('el-input',{attrs:{\"placeholder\":\"Enter a name\",\"clearable\":\"\"},model:{value:(_vm.release.name),callback:function ($$v) {_vm.$set(_vm.release, \"name\", $$v)},expression:\"release.name\"}})],1),_c('core.details',{staticClass:\"form-input\",attrs:{\"label\":\"Description\",\"value\":_vm.release.description}},[_c('el-input',{attrs:{\"placeholder\":\"release description\",\"clearable\":\"\"},model:{value:(_vm.release.description),callback:function ($$v) {_vm.$set(_vm.release, \"description\", $$v)},expression:\"release.description\"}})],1),(_vm.serviceId === _vm.abapSuite)?_c('core.details',{staticClass:\"form-input\",attrs:{\"label\":\"Product Version\"}},[_c('resources.product-version-selector',{attrs:{\"productVersions\":_vm.allVersions},model:{value:(_vm.platformFilterForRelease),callback:function ($$v) {_vm.platformFilterForRelease=$$v},expression:\"platformFilterForRelease\"}})],1):_vm._e(),_c('core.details',{staticClass:\"form-input\",attrs:{\"label\":\"Platform\"}},[_c('resources.platform-selector',{attrs:{\"platforms\":_vm.filteredPlatformsForRelease},model:{value:(_vm.release.platform_id),callback:function ($$v) {_vm.$set(_vm.release, \"platform_id\", $$v)},expression:\"release.platform_id\"}})],1)],1):_vm._e()]),_c('el-tab-pane',{attrs:{\"label\":\"Resource\",\"name\":\"resource\"}},[(_vm.formValue == 'resource')?_c('div',{staticClass:\"resources-form\"},[_c('core.label',{attrs:{\"slot\":\"title\",\"icon-size\":\"18px\",\"icon-spacing\":\".6rem\"},slot:\"title\"},[_c('H2',[_vm._v(\"Add Resource\")])],1),_c('core.details',{staticClass:\"form-input\",attrs:{\"label\":\"Name\",\"value\":_vm.resource.name}},[_c('el-input',{attrs:{\"placeholder\":\"Enter a name\",\"clearable\":\"\"},model:{value:(_vm.resource.name),callback:function ($$v) {_vm.$set(_vm.resource, \"name\", $$v)},expression:\"resource.name\"}})],1),_c('core.details',{staticClass:\"form-input\",attrs:{\"label\":\"Description\",\"value\":_vm.resource.description}},[_c('el-input',{attrs:{\"placeholder\":\"resource description\",\"clearable\":\"\"},model:{value:(_vm.resource.description),callback:function ($$v) {_vm.$set(_vm.resource, \"description\", $$v)},expression:\"resource.description\"}})],1),(_vm.serviceId === _vm.abapSuite)?_c('core.details',{staticClass:\"form-input\",attrs:{\"label\":\"Product Version\"}},[_c('resources.product-version-selector',{attrs:{\"productVersions\":_vm.allVersions},model:{value:(_vm.resourceFilters.productVersionId),callback:function ($$v) {_vm.$set(_vm.resourceFilters, \"productVersionId\", $$v)},expression:\"resourceFilters.productVersionId\"}})],1):_vm._e(),_c('core.details',{staticClass:\"form-input\",attrs:{\"label\":\"Platform\"}},[_c('resources.platform-selector',{attrs:{\"platforms\":_vm.resourceFilters.filteredPlatforms},model:{value:(_vm.resourceFilters.platformId),callback:function ($$v) {_vm.$set(_vm.resourceFilters, \"platformId\", $$v)},expression:\"resourceFilters.platformId\"}})],1),_c('core.details',{staticClass:\"form-input\",attrs:{\"label\":\"Release\"}},[_c('resources.release-selector',{attrs:{\"releases\":_vm.resourceFilters.filteredReleases},model:{value:(_vm.resource.releaseId),callback:function ($$v) {_vm.$set(_vm.resource, \"releaseId\", $$v)},expression:\"resource.releaseId\"}})],1),_c('core.details',{staticClass:\"form-input\",attrs:{\"label\":\"Release Note\"}},[_c('div',{staticClass:\"space-y-16\"},[_c('el-form',{attrs:{\"label-width\":\"110px\",\"label-position\":\"right\"}},[_c('el-select',{staticClass:\"w-full\",attrs:{\"disabled\":_vm.releaseNotes.length === 0,\"placeholder\":\"Release note\",\"filterable\":\"\",\"clearable\":\"\"},model:{value:(_vm.resource.notesId),callback:function ($$v) {_vm.$set(_vm.resource, \"notesId\", $$v)},expression:\"resource.notesId\"}},[_c('ion-icon',{staticClass:\"ml-4\",staticStyle:{\"font-size\":\"16px\"},attrs:{\"slot\":\"prefix\",\"name\":\"cube-outline\"},slot:\"prefix\"}),_vm._l((_vm.releaseNotes),function(releaseNote){return _c('el-option',{key:releaseNote.id,attrs:{\"label\":releaseNote.description,\"value\":releaseNote.id}})}),_c('core.empty',{attrs:{\"slot\":\"empty\",\"description\":\"No release Note meets your filtering criteria.\"},slot:\"empty\"},[_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"cube-outline\"},slot:\"icon\"})],1)],2)],1)],1)]),_c('core.details',{staticClass:\"form-input\",attrs:{\"label\":\"Category\"}},[_c('div',{staticClass:\"space-y-16\"},[_c('el-form',{attrs:{\"label-width\":\"110px\",\"label-position\":\"right\"}},[_c('el-select',{staticClass:\"w-full\",attrs:{\"disabled\":_vm.categories.length === 0,\"placeholder\":\"Resource category\",\"filterable\":\"\",\"default-first-option\":\"\"},on:{\"change\":_vm.onCategorySelected},model:{value:(_vm.resource.category),callback:function ($$v) {_vm.$set(_vm.resource, \"category\", $$v)},expression:\"resource.category\"}},[_c('ion-icon',{staticClass:\"ml-4\",staticStyle:{\"font-size\":\"16px\"},attrs:{\"slot\":\"prefix\",\"name\":\"cube-outline\"},slot:\"prefix\"}),_vm._l((_vm.categories),function(category){return _c('el-option',{key:category.name,attrs:{\"label\":category.name,\"value\":category}})}),_c('core.empty',{attrs:{\"slot\":\"empty\",\"description\":\"No category meets your filtering criteria.\"},slot:\"empty\"},[_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"cube-outline\"},slot:\"icon\"})],1)],2)],1)],1)]),_c('core.details',{staticClass:\"form-input\",attrs:{\"label\":\"Subcategory\"}},[_c('div',{staticClass:\"space-y-16\"},[_c('el-form',{attrs:{\"label-width\":\"110px\",\"label-position\":\"right\"}},[_c('el-select',{staticClass:\"w-full\",attrs:{\"disabled\":_vm.subcategories.length === 0,\"placeholder\":\"Resource subcategory\",\"filterable\":\"\",\"default-first-option\":\"\"},model:{value:(_vm.resource.subcategory),callback:function ($$v) {_vm.$set(_vm.resource, \"subcategory\", $$v)},expression:\"resource.subcategory\"}},[_c('ion-icon',{staticClass:\"ml-4\",staticStyle:{\"font-size\":\"16px\"},attrs:{\"slot\":\"prefix\",\"name\":\"cube-outline\"},slot:\"prefix\"}),_vm._l((_vm.subcategories),function(subcategory){return _c('el-option',{key:subcategory,attrs:{\"label\":subcategory,\"value\":subcategory}})}),_c('core.empty',{attrs:{\"slot\":\"empty\",\"description\":\"No subcategory meets your filtering criteria.\"},slot:\"empty\"},[_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"cube-outline\"},slot:\"icon\"})],1)],2)],1)],1)]),_c('el-upload',{staticClass:\"upload\",attrs:{\"http-request\":_vm.process,\"on-remove\":_vm.handleRemove,\"action\":\"\",\"multiple\":\"\",\"limit\":1,\"on-exceed\":_vm.handleExceed,\"file-list\":_vm.fileList}},[_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"primary\"}},[_vm._v(\"Upload File\")])],1)],1):_vm._e()])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { ServiceID } from \"@Service/ServiceID\";\nimport DayJS, { Dayjs } from \"dayjs\";\nimport { ProductVersion } from \"./ProductVersion.model\";\nimport { Platform } from \"./Platform.model\";\nimport { Release } from \"./Release.model\";\n\n\nexport interface ICreateResourceDto {\n product: ServiceID,\n resource: IResourceDto,\n}\n\nexport interface ResourceFilters {\n productVersionId?: number,\n platformId?: number\n filteredPlatforms: Platform[]\n releaseId?: number\n filteredReleases: Release[]\n}\n\n\nexport interface IResourceDto {\n id: string;\n file: string;\n description: string;\n category?: string;\n subcategory: string;\n created_at?: string;\n release_note_id?: number;\n release_id?: number;\n}\n\nexport type IResource = IResourceDto;\n\nexport const enum ResourceType {\n Install = \"Install\",\n Upgrade = \"Upgrade\",\n Maintenance = \"Maintenance\",\n ReleaseNote = \"Release Note\"\n}\n\nexport class Resource {\n id: string;\n fileName: string;\n category?: string;\n subcategory: string;\n description: string;\n created_at?: Dayjs;\n type: ResourceType;\n notesId?: number;\n releaseId?: number;\n\n public static create(dto?: Partial): Resource {\n return new Resource({\n id: dto?.id,\n category: dto?.category, \n description: dto?.description,\n subcategory: dto?.subcategory,\n release_note_id: dto?.release_note_id,\n file: dto?.file,\n release_id: dto?.release_id\n });\n }\n\n private constructor(dto: IResourceDto) {\n this.id = dto.id;\n this.fileName = dto.file;\n this.description = dto.description;\n this.category = !dto.category ? null : dto.category; \n this.subcategory = dto?.subcategory;\n this.type = dto.subcategory as ResourceType;\n this.releaseId = !dto.release_id ? null : dto.release_id\n this.notesId = !dto.release_note_id ? null : dto.release_note_id;\n }\n\n public static fromDto(dto: IResourceDto): Resource {\n return new Resource(dto);\n }\n\n \n public toDto(): IResourceDto {\n return {\n id: this.id,\n file: this.fileName,\n description: this.description,\n category: this.category? this.category : null,\n subcategory: this.subcategory,\n release_id: this.releaseId,\n release_note_id: this.notesId\n };\n }\n\n}","import Dialog from \"@Core/Components/Dialog/Dialog\";\nimport { ServiceID } from \"@Service/ServiceID\";\nimport { Component, MapAction, MapGetter, Watch } from \"types-vue\";\nimport { Prop } from \"vue-property-decorator\";\nimport Vue from \"vue\";\nimport { Execution } from \"@Core/Models/Execution\";\nimport { Notify } from \"@Core/Utils/Notify\";\nimport { ICreateReleaseDto, Release } from \"@Module/Resources/Models/Release.model\";\nimport ResourcesStore from \"@Module/Resources/Store/Resources.store\";\nimport { ICreatePlatformDto, Platform } from \"@Module/Resources/Models/Platform.model\";\nimport ResourcesApi from \"@Module/Resources/API/Resources.api\";\nimport { ICreateResourceDto, IResourceDto, Resource, ResourceFilters } from \"@Module/Resources/Models/Resource.model\";\nimport { Category } from \"@Module/Resources/Models/Categories.model\";\nimport { HttpRequestOptions } from \"element-ui/types/upload\";\nimport { ICreateProductVersionDto, ProductVersion } from \"@Module/Resources/Models/ProductVersion.model\";\nimport { SessionToken } from \"@Module/Auth/Models/SessionToken.model\";\n\n@Component\nexport default class ManageDialog extends Vue {\n @MapGetter(ResourcesStore.Mapping)\n protected manageResourcesDialogVisible: boolean;\n\n @MapGetter(ResourcesStore.Mapping)\n protected allVersions: ProductVersion[];\n\n @MapGetter(ResourcesStore.Mapping)\n protected allPlatforms: Platform[];\n\n @MapAction(ResourcesStore.Mapping)\n protected setManageResourcesDialogVisible: (visible: boolean) => void\n\n @Prop({ type: String, required: true })\n protected serviceId: ServiceID;\n\n @MapAction(ResourcesStore.Mapping)\n protected createPlatform: (platform: ICreatePlatformDto) => Promise;\n\n @MapAction(ResourcesStore.Mapping)\n protected createProductVersion: (productVersion: ICreateProductVersionDto) => Promise;\n\n @MapAction(ResourcesStore.Mapping)\n protected createRelease: (data: ICreateReleaseDto) => Promise;\n\n @MapAction(ResourcesStore.Mapping)\n protected getUploadLink: (data: ICreateResourceDto) => Promise;\n\n @MapAction(ResourcesStore.Mapping)\n protected fetchPlatforms: (serviceId: ServiceID) => Promise;\n\n @MapAction(ResourcesStore.Mapping)\n protected fetchProductVersions: (serviceId: ServiceID) => Promise;\n\n protected getCategories = Execution.create(ResourcesApi.getCategories, ResourcesApi);\n protected uploadResource = Execution.create(ResourcesApi.uploadResource, ResourcesApi);\n protected deleteResource = Execution.create(ResourcesApi.deleteResource, ResourcesApi);\n protected abapSuite = ServiceID.AbapSuite\n protected categories: Category[] = []\n protected platform: Platform = Platform.create()\n protected productVersion: ProductVersion = ProductVersion.create()\n protected release: Release = Release.create()\n protected filteredPlatformsForRelease: Platform[] = []\n protected platformFilterForRelease: number = null\n protected resource: Resource = Resource.create()\n protected resourceFilters: ResourceFilters = {\n productVersionId: null,\n platformId: null,\n releaseId: null,\n filteredPlatforms: [],\n filteredReleases: [],\n }\n protected releaseNotes: IResourceDto[] = []\n protected formValue: string = 'version'\n protected selectedCategory: Category = null\n protected subcategories: string[] = []\n protected searchText: string = null\n protected fileList: File[] = []\n protected file: File = null\n\n @Watch(\"sessionToken\", { immediate: true })\n protected async onSessionChange(token: SessionToken) {\n if (!!token && !token.hasExpired) {\n this.getCategories.run();\n } else {\n this.getCategories.reset();\n }\n }\n\n protected mounted() {\n this.fetchCategories();\n if (this.serviceId == this.abapSuite) {\n this.formValue = 'version'\n } else {\n this.formValue = 'platform'\n }\n }\n\n @Watch(\"allPlatforms\", { immediate: true, deep: true })\n protected onAllPlatformsChange() {\n this.filteredPlatformsForRelease = this.allPlatforms\n this.resourceFilters.filteredPlatforms = this.allPlatforms\n }\n\n @Watch(\"platformFilterForRelease\", { immediate: true, deep: true })\n protected onPlatformChange() {\n this.release.platform_id = null\n if (this.serviceId === this.abapSuite) {\n var selectedVersion = this.allVersions.find(version => version.id == this.platformFilterForRelease)\n if (selectedVersion != null) {\n this.filteredPlatformsForRelease = selectedVersion?.platforms.map(platform => Platform.fromDto(platform))\n }\n }\n }\n\n @Watch(\"resourceFilters.productVersionId\", { immediate: true, deep: true })\n protected onResourceChange() {\n this.resourceFilters.platformId= null \n this.resourceFilters.releaseId= null\n this.resource.releaseId = null\n this.resource.notesId = null\n this.resourceFilters.filteredPlatforms = []\n this.resourceFilters.filteredReleases = []\n this.releaseNotes = []\n \n if (this.serviceId === this.abapSuite) {\n var selectedVersion = this.allVersions.find(version => version.id == this.resourceFilters.productVersionId)\n if (selectedVersion != null) {\n this.resourceFilters.filteredPlatforms = selectedVersion?.platforms.map(platform => Platform.fromDto(platform))\n }\n }\n }\n\n @Watch(\"resourceFilters.platformId\", { immediate: true, deep: true })\n protected onResourcePlatformChange() {\n this.resourceFilters.releaseId= null\n this.resource.releaseId = null\n this.resource.notesId = null\n this.resourceFilters.filteredReleases = []\n this.releaseNotes = []\n \n var selectedPlatform = this.resourceFilters.filteredPlatforms.find(platform => platform.id == this.resourceFilters.platformId)\n if (selectedPlatform != null) {\n this.resourceFilters.filteredReleases = selectedPlatform?.releases\n }\n }\n\n @Watch(\"resource.releaseId\", { immediate: true, deep: true })\n protected onResourceReleaseChange() {\n var release: Release = this.resourceFilters.filteredReleases.find(release => release.id === this.resource.releaseId)\n if (release != null) {\n this.releaseNotes = release.resources.filter(resource => resource.subcategory === 'Release Note')\n }\n\n }\n\n protected async fetchCategories() {\n const dtos = await this.getCategories.run();\n this.categories = dtos.map(Category.fromDto);\n }\n\n private async createNewPlatform() {\n var platformData: ICreatePlatformDto = {\n product: this.serviceId,\n name: this.platform.name,\n description: this.platform.description,\n }\n if (this.serviceId == this.abapSuite) {\n platformData['product_version_id'] = this.platform.productVersionId\n }\n await this.createPlatform(platformData);\n Notify.Success({\n title: \"platform created\",\n message: `platform ${this.platform.name} has been successfully created.`,\n duration: 6000\n });\n this.$emit(\"success\");\n }\n\n private refreshFetch() {\n if (this.serviceId == this.abapSuite) {\n this.fetchProductVersions(this.serviceId);\n } else {\n this.fetchPlatforms(this.serviceId);\n } \n }\n\n private async createNewProductVersion() {\n var pVersionData: ICreateProductVersionDto = {\n product: this.serviceId,\n version: this.productVersion.version,\n description: this.productVersion.description,\n }\n await this.createProductVersion(pVersionData);\n Notify.Success({\n title: \"release created\",\n message: `release ${this.productVersion.version} has been successfully created.`,\n duration: 6000\n });\n this.$emit(\"success\");\n }\n\n private async createElement() {\n switch (this.formValue) {\n case 'resource':\n this.createNewResource();\n this.refreshFetch();\n break;\n case 'release':\n await this.createNewRelease();\n this.refreshFetch();\n break;\n case 'version':\n await this.createNewProductVersion();\n this.refreshFetch();\n break;\n case 'platform':\n await this.createNewPlatform();\n this.refreshFetch();\n break;\n }\n this.refreshFetch();\n (this.$refs.dialog as Dialog).success();\n }\n\n protected get canCreate(): boolean {\n var canCreate: boolean\n switch (this.formValue) {\n case 'version':\n canCreate = !!this.productVersion.description\n && !!this.productVersion.version\n break;\n case 'release':\n canCreate = !!this.release.description\n && !!this.release.name && !!this.release.platform_id\n break;\n case 'platform':\n canCreate = !!this.platform.description\n && !!this.platform.name\n\n if (this.serviceId == this.abapSuite && canCreate == true){\n canCreate = !!this.platform.productVersionId\n }\n break;\n case 'resource':\n canCreate = !!this.resource.category\n && !!this.resource.subcategory\n && !!this.resource.description\n && !!this.resource.fileName\n && !!this.resource.releaseId\n break;\n }\n return canCreate\n }\n\n private async createNewRelease() {\n var releaseData: ICreateReleaseDto = {\n name: this.release.name,\n platform_id: this.release.platform_id,\n description: this.release.description,\n }\n await this.createRelease(releaseData);\n Notify.Success({\n title: \"release created\",\n message: `release ${this.release.name} has been successfully created.`,\n duration: 6000\n });\n this.$emit(\"success\");\n }\n\n private async createNewResource() {\n var resourceData: ICreateResourceDto = {\n resource: this.resource.toDto(),\n product: this.serviceId\n }\n let link = await this.getUploadLink(resourceData);\n\n let data: FormData = new FormData()\n data.append(\"File\", this.file)\n let result = await this.uploadResource.run(link, data);\n if (this.uploadResource.error) {\n Notify.Error({\n title: \"resource upload failed\",\n message: `Resource could not be uploaded.`,\n duration: 6000\n });\n this.$emit(\"error\");\n } else{\n Notify.Success({\n title: \"resource created\",\n message: `Resource has been successfully created.`,\n duration: 6000\n });\n this.$emit(\"success\");\n }\n \n }\n\n protected onCategorySelected(category: Category): void {\n this.resource.category = category.name\n this.resource.subcategory = null\n this.subcategories = category.subcategories\n this.searchText = null;\n }\n\n protected async process(data: HttpRequestOptions) {\n this.resource.fileName = data.file.name\n this.file = data.file\n }\n\n protected onClosed() {\n this.resource = Resource.create();\n this.platform = Platform.create();\n this.release = Release.create();\n this.platformFilterForRelease = null;\n this.file = null;\n this.releaseNotes = []\n this.fileList = []\n this.resourceFilters = {\n productVersionId: null,\n platformId: null,\n releaseId: null,\n filteredPlatforms: [],\n filteredReleases: [],\n }\n\n if (this.serviceId == this.abapSuite) {\n this.filteredPlatformsForRelease = [];\n }\n\n if (this.serviceId !== this.abapSuite) {\n this.resourceFilters.filteredPlatforms = this.allPlatforms;\n }\n }\n\n protected handleRemove() {\n this.resource.fileName = null\n this.file = null\n }\n\n protected handleExceed() {\n this.$message.warning(`You can only upload one resource at a time`);\n }\n}\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./ManageResourcesDialog.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./ManageResourcesDialog.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ManageResourcesDialog.vue?vue&type=template&id=ee10c286&\"\nimport script from \"./ManageResourcesDialog.ts?vue&type=script&lang=ts&\"\nexport * from \"./ManageResourcesDialog.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./ManageResourcesDialog.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('core.collapsable-card',{staticClass:\"next-expirations-collapse\",attrs:{\"title\":_vm.title,\"loading\":_vm.loading,\"separated\":_vm.separated,\"plain\":_vm.plain,\"bordered\":_vm.bordered,\"default-collapsed\":_vm.defaultCollapsed},scopedSlots:_vm._u([{key:\"header\",fn:function(ref){\nvar expanded = ref.expanded;\nreturn _c('div',{staticClass:\"next-expirations-header flex w-full items-center space-x-6 mr-6\"},[_c('div',{staticClass:\"flex-y flex-1 text-ellipsis\"},[_c('core.label',{attrs:{\"icon-spacing\":\"5px\",\"icon-size\":\"14px\"}},[(_vm.loading && !expanded)?_c('i',{staticClass:\"el-icon-loading text-bold\",attrs:{\"slot\":\"icon\"},slot:\"icon\"}):_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"hourglass\"},slot:\"icon\"}),_c('H2',[_vm._v(_vm._s(_vm.title))])],1),_c('span',{staticClass:\"threshold-selector space-x-4\"},[_c('span',{staticClass:\"text-normal\"},[_vm._v(\"In the next\")]),_c('el-dropdown',{attrs:{\"show-timeout\":0},on:{\"command\":function (command) { return command(); }}},[_c('el-link',{attrs:{\"underline\":false}},[_vm._v(\" \"+_vm._s(_vm.expirationThresholdLabel)),_c('i',{staticClass:\"el-icon-arrow-down ml-4\"})]),_c('el-dropdown-menu',{attrs:{\"slot\":\"dropdown\"},slot:\"dropdown\"},_vm._l((_vm.options),function(option){return _c('el-dropdown-item',{key:((option.amount) + \"-\" + (option.unit)),attrs:{\"command\":function () { return _vm.cookie.store(option); }}},[_c('span',[_vm._v(_vm._s(option.amount)+\" \"+_vm._s(option.unit))])])}),1)],1)],1)],1),_c('el-badge',{attrs:{\"type\":_vm.expiredBeforeThreshold.length === 0 ? 'info' : undefined,\"value\":_vm.expiredBeforeThreshold.length}})],1)}}])},[_c('core.list',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],staticClass:\"expirations-list\",attrs:{\"data\":_vm.expiredBeforeThreshold,\"compact\":\"\"},on:{\"select\":function (item) { return _vm.$emit('select', item); }},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar item = ref.item;\nreturn _vm._t(\"default\",null,{\"item\":item})}}],null,true)},[_vm._t(\"empty\",[_c('core.empty',{attrs:{\"slot\":\"empty\",\"compact\":\"\"},slot:\"empty\"},[_c('ion-icon',{staticClass:\"mb-4\",attrs:{\"slot\":\"icon\",\"name\":\"calendar\"},slot:\"icon\"}),_c('span',[_vm._v(\"No expirations for the next \"+_vm._s(_vm.expirationThresholdLabel)+\".\")])],1)],{\"slot\":\"empty\",\"thresholdLabel\":_vm.expirationThresholdLabel})],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { ExpirationThreshold, ExpirationThresholdCookie } from \"@Module/Licensing/Models/ExpirationThreshold.model\";\nimport { ExpirationFilterable } from \"@Module/Licensing/Models/ExpirationFilterable.model\";\nimport { Component, Prop } from \"types-vue\";\nimport DayJS, { Dayjs } from \"dayjs\";\nimport Vue from \"vue\";\n\n@Component\nexport default class NextExpirationsCollapse extends Vue {\n\n @Prop({ type: Array, required: true })\n protected data: ExpirationFilterable[];\n \n @Prop({ type: Object, required: true })\n protected cookie: ExpirationThresholdCookie;\n\n @Prop({ type: String, default: \"Expirations\" })\n protected title: string;\n\n @Prop({ type: Boolean, default: false })\n protected loading: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected plain: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected defaultCollapsed: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected bordered: boolean;\n\n @Prop({ type: Boolean })\n protected separated: boolean;\n\n @Prop({ type: Array, default: () => [\n { amount: 5, unit: \"days\" },\n { amount: 15, unit: \"days\" },\n { amount: 1, unit: \"month\" },\n { amount: 6, unit: \"months\" },\n { amount: 1, unit: \"year\" }\n ] as ExpirationThreshold[]})\n protected options: ExpirationThreshold[];\n\n protected get expirationThreshold(): Dayjs {\n return DayJS().add(this.cookie.value.amount, this.cookie.value.unit);\n }\n\n protected get expirationThresholdLabel(): string {\n return `${this.cookie.value.amount} ${this.cookie.value.unit}`;\n }\n\n protected get expiredBeforeThreshold(): ExpirationFilterable[] {\n return this.data.filter(item => \n item.meetsExpirationThreshold(this.expirationThreshold)\n );\n }\n\n protected storeValue(option: ExpirationThreshold) {\n this.cookie.store(option);\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./NextExpirationsCollapse.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./NextExpirationsCollapse.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./NextExpirationsCollapse.vue?vue&type=template&id=07d30901&\"\nimport script from \"./NextExpirationsCollapse.ts?vue&type=script&lang=ts&\"\nexport * from \"./NextExpirationsCollapse.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./NextExpirationsCollapse.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var map = {\n\t\"./Core/Store/Menu/Menu.store.ts\": \"f79f\",\n\t\"./Core/Store/Navigation/Navigation.store.ts\": \"0055\",\n\t\"./Modules/Auth/Store/Auth.store.ts\": \"d4ad\",\n\t\"./Modules/Legal/Store/Legal.store.ts\": \"acb5\",\n\t\"./Modules/Licensing/Store/Licensing.store.ts\": \"c1cf\",\n\t\"./Modules/Notifications/Store/NotificationsInbox.store.ts\": \"8950\",\n\t\"./Modules/Notifications/Store/NotificationsOutbox.store.ts\": \"a24e\",\n\t\"./Modules/Orgs/Store/Orgs.store.ts\": \"55e0\",\n\t\"./Modules/Reports/Store/Reports.store.ts\": \"1895\",\n\t\"./Modules/Resources/Store/Resources.store.ts\": \"a699\",\n\t\"./Modules/Trial/Store/Trial.store.ts\": \"3eb5\",\n\t\"./Modules/Users/Store/Users.store.ts\": \"aa9e\",\n\t\"./Services/Emory/Store/EmoryBackups.store.ts\": \"95b6\",\n\t\"./Services/Settings/Store/AppSettings/AppSettings.store.ts\": \"eee2\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\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 map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"d8d1\";","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Card.vue?vue&type=style&index=0&lang=scss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('core.collapsable-card',{staticClass:\"filters-collapse\",attrs:{\"title\":_vm.title,\"loading\":_vm.loading,\"disabled\":_vm.disabled,\"separated\":_vm.separated,\"bordered\":_vm.bordered,\"plain\":_vm.plain,\"default-collapsed\":_vm.defaultCollapsed},scopedSlots:_vm._u([{key:\"header\",fn:function(ref){\nvar expanded = ref.expanded;\nreturn [_c('div',{staticClass:\"filters-header flex items-center w-full space-x-8 mr-4\"},[_c('core.pulse',{attrs:{\"type\":\"danger\",\"disabled\":!_vm.filtering,\"y-offset\":\"4px\",\"x-offset\":\"-3px\"}},[_c('core.label',{staticClass:\"text-ellipsis\",attrs:{\"icon-size\":\"14px\",\"icon-spacing\":\"5px\"}},[(_vm.loading && !expanded)?_c('i',{staticClass:\"el-icon-loading text-bold\",attrs:{\"slot\":\"icon\"},slot:\"icon\"}):_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"funnel\"},slot:\"icon\"}),_c('H2',[_vm._v(_vm._s(_vm.title))])],1)],1),_c('el-button',{staticClass:\"ml-auto\",attrs:{\"size\":\"mini\",\"type\":\"text\",\"disabled\":_vm.disabled || !_vm.filtering},on:{\"click\":function($event){$event.stopPropagation();return _vm.$emit('clear')}}},[_c('span',[_vm._v(\"Clear\")])])],1)]}}])},[_c('div',{staticClass:\"filters-content\"},[_vm._t(\"default\")],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Prop } from \"types-vue\";\nimport Vue from \"vue\";\n\n@Component\nexport default class FiltersCollapse extends Vue {\n\n @Prop({ type: String, default: \"Filters\" })\n protected title: string;\n\n @Prop({ type: Boolean, default: false })\n protected defaultCollapsed: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected loading: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected filtering: boolean\n\n @Prop({ type: Boolean, default: false })\n protected disabled: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected plain: boolean;\n \n @Prop({ type: Boolean, default: false })\n protected bordered: boolean;\n\n @Prop({ type: Boolean })\n protected separated: boolean;\n\n}","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./FiltersCollapse.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./FiltersCollapse.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./FiltersCollapse.vue?vue&type=template&id=3b6cf352&\"\nimport script from \"./FiltersCollapse.ts?vue&type=script&lang=ts&\"\nexport * from \"./FiltersCollapse.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./FiltersCollapse.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function (_h,_vm) {var _c=_vm._c;return _c('el-skeleton',{staticClass:\"org-suggestion-skeleton\",attrs:{\"loading\":_vm.props.loading,\"animated\":\"\"}},[_c('div',{staticClass:\"space-y-6\",attrs:{\"slot\":\"template\"},slot:\"template\"},_vm._l((_vm.props.repeat),function(index){return _c('div',{key:index,staticClass:\"flex space-x-16 p-y-6 items-center\"},[_c('div',{staticClass:\"flex-1 flex-y space-y-4\"},[_c('el-skeleton-item',{staticStyle:{\"width\":\"11rem\"},attrs:{\"variant\":\"h3\"}}),_c('el-skeleton-item',{staticStyle:{\"width\":\"17rem\"},attrs:{\"variant\":\"text\"}})],1),_c('el-skeleton-item',{staticStyle:{\"height\":\"30px\",\"width\":\"7.5rem\"},attrs:{\"variant\":\"button\"}})],1)}),0),_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OrgSuggestionSkeleton.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OrgSuggestionSkeleton.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./OrgSuggestionSkeleton.vue?vue&type=template&id=f072a8fc&functional=true&\"\nimport script from \"./OrgSuggestionSkeleton.vue?vue&type=script&lang=js&\"\nexport * from \"./OrgSuggestionSkeleton.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n true,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('core.dialog',{ref:\"dialog\",attrs:{\"top\":\"5vh\",\"width\":\"40rem\",\"before-close\":_vm.closeGuard},on:{\"open\":_vm.onOpen,\"closed\":_vm.onClosed},scopedSlots:_vm._u([{key:\"footer\",fn:function(ref){\nvar cancel = ref.cancel;\nreturn _c('div',{staticClass:\"flex space-x-8\"},[(_vm.isUpdateMode && _vm.user.hasUncommittedChanges)?_c('el-button',{attrs:{\"disabled\":_vm.loading},on:{\"click\":function($event){return _vm.discardChanges()}}},[_c('span',[_vm._v(\"Discard changes\")])]):_vm._e(),_c('div',{staticClass:\"flex-1 content-end space-x-8\"},[_c('el-button',{attrs:{\"type\":\"text\",\"disabled\":_vm.loading},on:{\"click\":cancel}},[_c('span',[_vm._v(\"Cancel\")])]),_c('el-button',{attrs:{\"type\":\"primary\",\"loading\":_vm.loading,\"disabled\":!_vm.user.hasUncommittedChanges || !_vm.canCreateOrUpdate},on:{\"click\":function($event){return _vm.createOrUpdateUser()}}},[(_vm.loading && _vm.isUpdateMode)?_c('span',[_vm._v(\"Updating\")]):(_vm.loading && !_vm.isUpdateMode)?_c('span',[_vm._v(\"Creating\")]):(_vm.isUpdateMode)?_c('span',[_vm._v(\"Update user\")]):_c('span',[_vm._v(\"Create user\")])])],1)],1)}}])},[_c('core.label',{attrs:{\"slot\":\"title\",\"icon-size\":\"20px\"},slot:\"title\"},[_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"person-circle\"},slot:\"icon\"}),(_vm.isUpdateMode)?_c('H1',[_vm._v(\"Update user\")]):_c('H1',[_vm._v(\"Create user\")])],1),_c('el-form',{ref:\"form\",attrs:{\"disabled\":_vm.loading,\"model\":_vm.user,\"rules\":_vm.validationRules,\"label-position\":\"top\",\"autocomplete\":\"none\",\"auto-complete\":\"none\"}},[_c('div',{staticClass:\"space-y-16\"},[(_vm.isUpdateMode)?_c('core.details',{attrs:{\"label\":\"Email Address\",\"value\":_vm.user.username}}):_c('el-form-item',{attrs:{\"label\":\"Email Address\",\"prop\":\"username\"}},[_c('el-input',{attrs:{\"placeholder\":\"Type an email\",\"clearable\":\"\"},model:{value:(_vm.user.username),callback:function ($$v) {_vm.$set(_vm.user, \"username\", $$v)},expression:\"user.username\"}})],1),_c('div',{staticClass:\"flex flex-wrap container-x-16 container-y-8\"},[_c('el-form-item',{staticClass:\"flex-1\",attrs:{\"label\":\"First Name\",\"prop\":\"firstName\"}},[_c('el-input',{attrs:{\"placeholder\":\"Type a first name\",\"clearable\":\"\"},model:{value:(_vm.user.firstName),callback:function ($$v) {_vm.$set(_vm.user, \"firstName\", $$v)},expression:\"user.firstName\"}})],1),_c('el-form-item',{staticClass:\"flex-1\",attrs:{\"label\":\"Last Name\",\"prop\":\"lastName\"}},[_c('el-input',{attrs:{\"placeholder\":\"Type a last name\",\"clearable\":\"\"},model:{value:(_vm.user.lastName),callback:function ($$v) {_vm.$set(_vm.user, \"lastName\", $$v)},expression:\"user.lastName\"}})],1)],1),_c('el-form-item',{staticClass:\"flex-1\",attrs:{\"prop\":\"agreesCommunications\"}},[_c('el-checkbox',{attrs:{\"border\":\"\"},model:{value:(_vm.user.agreesCommunications),callback:function ($$v) {_vm.$set(_vm.user, \"agreesCommunications\", $$v)},expression:\"user.agreesCommunications\"}},[_c('span',[_vm._v(\"Receives communications\")])])],1),_c('el-form-item',{attrs:{\"label\":\"Preview Access\",\"prop\":\"previewsAccess\"}},[_c('el-select',{attrs:{\"placeholder\":\"Select one or more service previews\",\"clearable\":\"\",\"filterable\":\"\",\"multiple\":\"\"},model:{value:(_vm.user.previewsAccess),callback:function ($$v) {_vm.$set(_vm.user, \"previewsAccess\", $$v)},expression:\"user.previewsAccess\"}},[_c('core.empty',{attrs:{\"slot\":\"empty\",\"description\":\"No service meets your filtering criteria.\",\"compact\":\"\"},slot:\"empty\"},[_c('i',{staticClass:\"el-icon-view\",attrs:{\"slot\":\"icon\"},slot:\"icon\"})]),_c('el-option',{attrs:{\"label\":\"Contact Center\",\"value\":\"alo\"}})],1)],1),_c('el-divider',[_vm._v(\"Organizations\")]),_c('el-form-item',{attrs:{\"prop\":\"mainOrgRole\",\"label\":\"Default Organization\"}},[_c('orgs.org-role-editor',{attrs:{\"roles\":_vm.roles,\"disabled-orgs\":_vm.user.allowedOrgRoles.map(function (orgRole) { return orgRole.organization; }),\"clearable\":\"\",\"default-first-role\":\"\"},model:{value:(_vm.user.mainOrgRole),callback:function ($$v) {_vm.$set(_vm.user, \"mainOrgRole\", $$v)},expression:\"user.mainOrgRole\"}})],1),_c('el-form-item',{attrs:{\"label\":\"Allowed Organizations\"}},[_c('el-checkbox',{attrs:{\"border\":\"\"},model:{value:(_vm.user.universalOrgAccess),callback:function ($$v) {_vm.$set(_vm.user, \"universalOrgAccess\", $$v)},expression:\"user.universalOrgAccess\"}},[_c('core.label',{attrs:{\"icon-position\":\"end\",\"icon-spacing\":\"4px\",\"icon-size\":\"15px\",\"type\":_vm.loading ? 'inherit' : 'secondary'}},[_c('span',[_vm._v(\"Universal Organization Access\")]),_c('el-tooltip',{attrs:{\"slot\":\"icon\",\"placement\":\"top\",\"effect\":_vm.user.universalOrgAccess ? 'dark' : 'light',\"content\":\"Allows this user to have access to all registered organizations.\"},slot:\"icon\"},[_c('ion-icon',{attrs:{\"name\":\"help-circle-outline\"}})],1)],1)],1)],1),(!_vm.user.universalOrgAccess)?_c('core.card',{attrs:{\"bordered\":\"\",\"compact\":\"\"}},[_c('div',{staticClass:\"space-y-8\"},[_c('orgs.org-selector',{attrs:{\"value\":_vm.user.allowedOrgRoles.map(function (orgRole) { return orgRole.organization; }),\"disabled-items\":!!_vm.user.mainOrgRole && !!_vm.user.mainOrgRole.organization ? [_vm.user.mainOrgRole.organization] : undefined,\"clearable\":\"\",\"placeholder\":\"Search for an organization\",\"multiple\":\"\",\"collapse-tags\":\"\"},on:{\"change\":_vm.addAllowedOrgRole}},[_c('i',{staticClass:\"el-icon-search\",attrs:{\"slot\":\"prefix\"},slot:\"prefix\"})]),_c('core.list',{staticClass:\"p-x-4\",attrs:{\"data\":_vm.user.allowedOrgRoles,\"label-key-path\":\"organization.name\",\"description-key-path\":\"organization.uuid\",\"selectable\":false,\"compact\":\"\"},scopedSlots:_vm._u([{key:\"accessory-right\",fn:function(ref){\nvar item = ref.item;\nreturn _c('div',{staticClass:\"space-x-8 flex items-center\"},[(item.organization.isTest)?_c('el-tooltip',{attrs:{\"effect\":\"light\",\"placement\":\"top\",\"enterable\":false,\"content\":\"Test organization\"}},[(item.isTest)?_c('ion-icon',{attrs:{\"name\":\"bug-outline\"}}):_vm._e()],1):_vm._e(),(_vm.defaultOrg.id === item.organization.id)?_c('el-tooltip',{attrs:{\"effect\":\"light\",\"placement\":\"top\",\"enterable\":false,\"content\":\"Your default organization\"}},[_c('i',{staticClass:\"el-icon-office-building org-icon\"})]):_vm._e(),(_vm.currentOrg.id === item.organization.id)?_c('el-tooltip',{attrs:{\"effect\":\"light\",\"placement\":\"top\",\"enterable\":false,\"content\":\"Your current organization\"}},[_c('i',{staticClass:\"el-icon-suitcase-1 org-icon\"})]):_vm._e(),_c('orgs.role-selector',{staticStyle:{\"max-width\":\"8.1rem\"},attrs:{\"size\":\"mini\",\"default-first-option\":\"\"},model:{value:(item.role),callback:function ($$v) {_vm.$set(item, \"role\", $$v)},expression:\"item.role\"}},[_c('core.empty',{attrs:{\"slot\":\"empty\",\"description\":\"No matching role\",\"no-icon\":\"\",\"compact\":\"\"},slot:\"empty\"})],1),_c('el-button',{attrs:{\"size\":\"mini\",\"type\":\"danger\",\"icon\":\"el-icon-delete\"},on:{\"click\":function($event){return _vm.removeAllowedOrgRole(item)}}})],1)}}],null,false,2979837298)},[_c('core.empty',{attrs:{\"slot\":\"empty\",\"description\":\"This user has no allowed organizations\",\"compact\":\"\"},slot:\"empty\"},[_c('i',{staticClass:\"el-icon-office-building\",attrs:{\"slot\":\"icon\"},slot:\"icon\"})])],1)],1)]):_c('core.alert',{attrs:{\"type\":\"info\",\"title\":\"Role inheritance\",\"closable\":false,\"plain\":\"\"}},[_c('div',[_vm._v(\"This user has access to all organizations, therefore his access role for every organization will be the one assigned in his default organization.\")]),_c('core.details',{attrs:{\"slot\":\"footer\",\"label\":\"Inherited role\",\"spacing\":\"3px\"},slot:\"footer\"},[_c('orgs.org-role-tag',{attrs:{\"role\":_vm.user.mainOrgRole.role}})],1)],1),_c('transition',{attrs:{\"name\":\"el-zoom-in-top\"}},[(!!_vm.update.error || !!_vm.create.error)?_c('core.alert',{attrs:{\"type\":\"error\",\"title\":\"User error\",\"description\":!!_vm.update.error ? _vm.update.error.message : _vm.create.error.message,\"closable\":false,\"plain\":\"\"}}):_vm._e()],1)],1)])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { OrganizationRole } from \"@Module/Orgs/Models/Roles/OrganizationRole.model\";\nimport { Organization } from \"@Module/Orgs/Models/Organization.model\";\nimport { Role } from \"@Module/Auth/Models/Roles/AccessRole.model\";\nimport { Component, MapAction, MapGetter } from \"types-vue\";\nimport UsersStore from \"@Module/Users/Store/Users.store\";\nimport { User } from \"@Module/Users/Models/User.model\";\nimport OrgsStore from \"@Module/Orgs/Store/Orgs.store\";\nimport AuthStore from \"@Module/Auth/Store/Auth.store\";\nimport Dialog from \"@Core/Components/Dialog/Dialog\";\nimport { Execution } from \"@Core/Models/Execution\";\nimport { ElForm } from \"element-ui/types/form\";\nimport { Notify } from \"@Core/Utils/Notify\";\nimport Vue from \"vue\";\n\n@Component\nexport default class UserEditorDialog extends Vue {\n \n @MapGetter(AuthStore.Mapping)\n protected roles: Role[];\n\n @MapGetter(OrgsStore.Mapping)\n protected defaultOrg: Organization;\n\n @MapGetter(OrgsStore.Mapping)\n protected currentOrg: Organization;\n\n @MapAction(UsersStore.Mapping)\n protected updateUser: (user: User) => Promise;\n\n @MapAction(UsersStore.Mapping)\n protected createUser: (user: User) => Promise;\n\n protected user: User = User.create();\n \n protected validationRules = {\n username: [\n { required: true, message: \"Please enter an email.\", trigger: [\"change\", \"blur\"] },\n { type: \"email\", message: \"Please enter a valid email address.\", trigger: \"blur\" }\n ],\n firstName: [{ required: true, message: \"Please enter a first name.\", trigger: [\"change\", \"blur\"] }], \n lastName: [{ required: true, message: \"Please enter a last name.\", trigger: [\"change\", \"blur\"] }], \n role: [{ required: true, message: \"Please select a role.\", trigger: [\"change\", \"blur\"] }]\n };\n \n protected update = Execution.create((user: User) => this.updateUser(user));\n protected create = Execution.create((user: User) => this.createUser(user));\n\n protected async open(user: User = User.create()): Promise {\n if (user.isRemote) {\n this.user = user.clone();\n } else {\n this.user = user;\n }\n if (!this.user.mainOrgRole) {\n this.user.mainOrgRole = OrganizationRole.create({ isMain: true });\n }\n return (this.$refs.dialog as Dialog).open();\n }\n\n protected async onOpen() {\n (this.$refs.form as ElForm)?.clearValidate();\n }\n\n protected async onClosed() {\n this.user = User.create();\n await this.$nextTick();\n (this.$refs.form as ElForm).clearValidate();\n this.update.reset();\n this.create.reset();\n }\n\n protected get isUpdateMode(): boolean {\n return this.user.isRemote;\n }\n\n protected get loading(): boolean {\n return this.create.loading || this.update.loading;\n }\n\n protected get canCreateOrUpdate(): boolean {\n return !!this.user.username\n && !!this.user.firstName\n && !!this.user.lastName;\n }\n\n protected filterMainOrgOptions(org: Organization): boolean {\n return !this.user.allowedOrgRoles.some(orgRole => orgRole.organization.id === org.id);\n }\n\n protected filterAllowedOrgsOptions(org: Organization): boolean {\n let selectedOrgs = this.user.allowedOrgRoles.map(orgRole => orgRole.organization);\n if (!!this.user.mainOrgRole?.organization) {\n selectedOrgs = [this.user.mainOrgRole.organization, ...selectedOrgs];\n }\n return !selectedOrgs.some(o => o.id === org.id);\n }\n\n protected addAllowedOrgRole(orgs: Organization[]) {\n const orgRoles = orgs.map(org => {\n return this.user.allowedOrgRoles.find(orgRole => orgRole.organization.id === org.id) \n ?? OrganizationRole.create({ role: this.roles[0], isMain: false, org });\n });\n this.user.allowedOrgRoles = orgRoles;\n }\n\n protected removeAllowedOrgRole(orgRole: OrganizationRole) {\n const index = this.user.allowedOrgRoles.findIndex(or => or.organization.id === orgRole.organization.id);\n if (index !== -1) {\n this.user.allowedOrgRoles.splice(index, 1);\n }\n }\n\n protected async discardChanges() {\n try {\n const message = \"Do you really want to discard the changes?\";\n await this.$confirm(message, \"Discard confirmation\", { \n type: \"warning\",\n cancelButtonText: \"Cancel\",\n confirmButtonText: \"Discard changes\"\n });\n this.user.discardUncommittedChanges();\n } catch {}\n }\n\n protected async createOrUpdateUser() {\n try {\n await (this.$refs.form as ElForm).validate();\n } catch { return; }\n if (this.user.isRemote) {\n this.updateCurrentUser();\n } else {\n this.createCurrentUser();\n }\n }\n\n protected async closeGuard(done: Function): Promise {\n if (this.loading) { return; }\n else if (!this.user.isRemote || !this.user.hasUncommittedChanges) { \n return done(); \n }\n try {\n await this.$confirm(\n \"This user has uncommitted changes. Are you sure you want to discard these changes?\",\n \"Discard confirmation\",\n { confirmButtonText: \"Discard changes\", cancelButtonText: \"Cancel\", type: \"warning\" }\n );\n return done();\n } catch (e) { return; }\n }\n\n protected async updateCurrentUser() {\n try {\n const message = \"Do you really want to save the user changes?\";\n const title = \"Update confirmation\";\n await this.$confirm(message, title, { \n type: \"warning\",\n cancelButtonText: \"Cancel\",\n confirmButtonText: \"Update user\"\n });\n await this.update.run(this.user);\n if (!this.update.error) {\n Notify.Success({\n title: \"User updated\",\n message: \"User successfully updated.\",\n duration: 3000\n });\n (this.$refs.dialog as Dialog).success(true);\n }\n } catch {}\n }\n\n protected async createCurrentUser() {\n try {\n const message = \"Do you really want to create the user?\";\n const title = \"Create confirmation\";\n await this.$confirm(message, title, { \n type: \"warning\",\n cancelButtonText: \"Cancel\",\n confirmButtonText: \"Create user\"\n });\n await this.create.run(this.user);\n if (!this.create.error) {\n Notify.Success({\n title: \"User created\",\n message: \"User successfully created.\",\n duration: 3000\n });\n (this.$refs.dialog as Dialog).success(true);\n }\n } catch {}\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./UserEditorDialog.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./UserEditorDialog.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./UserEditorDialog.vue?vue&type=template&id=d775107c&\"\nimport script from \"./UserEditorDialog.ts?vue&type=script&lang=ts&\"\nexport * from \"./UserEditorDialog.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"empty flex-y items-center text-uppercase text-align-center\",class:_vm.emptyClass},[(!_vm.noIcon)?_c('div',{staticClass:\"icon-wrap w-content\"},[_vm._t(\"icon\",[_c('ion-icon',{attrs:{\"name\":\"file-tray\"}})])],2):_vm._e(),_c('div',{staticClass:\"description flex-y content-center items-center space-y-16\"},[_vm._t(\"default\",[_c('div',[_vm._v(_vm._s(_vm.description))])])],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Prop } from \"types-vue\";\nimport Vue from \"vue\";\n\n@Component\nexport default class Empty extends Vue {\n \n @Prop({ type: String, default: null })\n protected description: string;\n\n @Prop({ type: Boolean, default: false })\n protected noIcon: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected compact: boolean;\n\n protected get emptyClass() {\n return {\n \"p-y-24 space-y-6\": !this.compact,\n \"p-y-16 space-y-4\": this.compact,\n }\n }\n \n}","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./Empty.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./Empty.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Empty.vue?vue&type=template&id=33db74ce&scoped=true&\"\nimport script from \"./Empty.ts?vue&type=script&lang=ts&\"\nexport * from \"./Empty.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./Empty.vue?vue&type=style&index=0&id=33db74ce&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"33db74ce\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"space-y-8\"},[_c('core.details',{attrs:{\"label\":\"SID\"}},[_c('core.prop-value-selector',{attrs:{\"data\":_vm.data,\"disabled\":_vm.disabled,\"size\":_vm.size,\"prop\":\"sid\",\"placeholder\":\"Filter by SID\",\"multiple\":\"\",\"filterable\":\"\",\"clearable\":\"\"},model:{value:(_vm.filters.sIds),callback:function ($$v) {_vm.$set(_vm.filters, \"sIds\", $$v)},expression:\"filters.sIds\"}})],1),_c('core.details',{attrs:{\"label\":\"Production Environment\"}},[_c('core.yes-no-checkbox-group',{attrs:{\"disabled\":_vm.disabled,\"size\":_vm.size},model:{value:(_vm.filters.production),callback:function ($$v) {_vm.$set(_vm.filters, \"production\", $$v)},expression:\"filters.production\"}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { AbapSuiteHostFilters } from \"@Service/AbapSuite/Models/Filters/AbapSuiteHostFilters.model\";\nimport { UISize } from \"@Service/Settings/Store/AppSettings/AppSettings.state\";\nimport { AbapSuiteHost } from \"@Service/AbapSuite/Models/AbapSuiteHost.model\";\nimport { Component, Prop } from \"types-vue\";\nimport Vue from \"vue\";\n\n@Component\nexport default class AbapSuiteHostFiltersPanelExtension extends Vue {\n\n @Prop({ type: Object, required: true })\n protected filters: AbapSuiteHostFilters;\n\n @Prop({ type: Boolean, default: false })\n protected disabled: boolean;\n\n @Prop({ type: String, default: null })\n protected size: UISize;\n\n @Prop({ type: Array, default: null })\n protected data: AbapSuiteHost[];\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./HostFiltersPanelExtension.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./HostFiltersPanelExtension.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./HostFiltersPanelExtension.vue?vue&type=template&id=2acf3d71&\"\nimport script from \"./HostFiltersPanelExtension.ts?vue&type=script&lang=ts&\"\nexport * from \"./HostFiltersPanelExtension.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { ConsoleRoute } from \"@Core/Models/ConsoleRoute\";\nimport { User } from \"@Module/Users/Models/User.model\";\nimport { Permission } from \"./Permissions.model\";\nimport { ServiceID } from \"@Service/ServiceID\";\nimport { Console } from \"vue-router\";\n\nexport interface IRoleDto {\n id: number;\n name: string;\n is_managed: boolean;\n}\n\nexport class Role {\n public readonly id: number;\n public readonly name: string;\n public readonly isManaged: boolean;\n\n private constructor(dto: IRoleDto) {\n this.id = dto.id;\n this.name = dto.name;\n this.isManaged = dto.is_managed;\n }\n\n public static fromDto(dto: IRoleDto): Role {\n return new Role(dto);\n }\n\n public meetsFilter(search: string): boolean {\n const text = search ? search.toLowerCase() : \"\";\n return this.name.toLowerCase().includes(text);\n }\n\n public static get Guest(): Role {\n return new Role({ \n id: -1, \n name: \"Guest\", \n is_managed: false \n });\n }\n\n public static get NoAccess(): Role {\n return new Role({ \n id: -2, \n name: \"No Access\", \n is_managed: false \n });\n }\n\n public get isGuest(): boolean {\n return this.id === -1;\n }\n\n public get isNoAccess(): boolean {\n return this.id === -2;\n }\n\n public toDto(): IRoleDto {\n return {\n id: this.id,\n name: this.name,\n is_managed: this.isManaged\n }\n }\n\n}\n\nexport interface IRolePermissionsDto {\n Role: IRoleDto;\n Permissions: string[];\n}\n\nexport class AccessRole {\n public readonly id: number;\n public readonly name: string;\n public readonly permissions: string[];\n public readonly isManaged: boolean;\n public readonly user?: User;\n \n private constructor(dto: IRolePermissionsDto, user?: User) {\n this.id = dto.Role.id;\n this.name = dto.Role.name;\n this.permissions = dto.Permissions;\n this.isManaged = dto.Role.is_managed;\n this.user = user || null;\n }\n\n public static guestRole(user?: User): AccessRole {\n return new AccessRole({ \n Role: Role.Guest.toDto(),\n Permissions: []\n }, user);\n }\n\n public static fromDto(dto: IRolePermissionsDto, user: User): AccessRole {\n return new AccessRole(dto, user);\n }\n\n public get isGuestRole(): boolean {\n return this.id === null;\n }\n\n public canAll(service: ServiceID, ...permissions: Permission[]): boolean {\n return permissions.every(permission => this.can(service, permission));\n }\n\n public canSome(service: ServiceID, ...permissions: Permission[]): boolean {\n return permissions.some(permission => this.can(service, permission));\n }\n\n public canForSomeService(permission: Permission): boolean {\n return this.permissions.some(p => p.endsWith(`:${permission}`));\n }\n\n public can(service: ServiceID, permission: Permission): boolean {\n return this.permissions.includes(`${service}:${permission}`)\n || this.permissions.includes(`${service}:*`);\n }\n\n public grantsAccessToRoute(route: ConsoleRoute | Console.RouteDefinition): boolean {\n const canAccessUser = route.meta.canAccessUser?.(this.user) ?? true;\n const routePermissions = route.meta.permissions || [];\n const reqPermissions = Array.isArray(routePermissions) ? routePermissions : [routePermissions];\n return canAccessUser && this.hasPermissions(...reqPermissions as string[]);\n }\n\n public hasPermissions(...permissions: string[]): boolean {\n return permissions.every(permission => { \n const service = permission.split(\":\")[0];\n return this.permissions.includes(permission)\n || this.permissions.includes(`${service}:*`);\n });\n }\n}","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContractDetailsView.vue?vue&type=style&index=0&id=715cfcc5&lang=scss&scoped=true&\"","export class HostFilters {\n public search: string;\n public hostnames: string[];\n public externalIds: string[];\n\n public static create(): HostFilters {\n return new HostFilters();\n }\n \n protected constructor() {\n this.initialize();\n }\n\n public reset() { \n this.initialize();\n }\n\n protected initialize() {\n this.search = null;\n this.hostnames = [];\n this.externalIds = [];\n }\n\n public get isFiltering(): boolean {\n return this.search !== null\n || this.externalIds.length > 0\n || this.hostnames.length > 0;\n }\n}","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AmisHub.vue?vue&type=style&index=0&id=a6432654&lang=scss&scoped=true&\"","import { UISize } from \"@Service/Settings/Store/AppSettings/AppSettings.state\";\nimport { InstallationOptions } from \"element-ui\";\nimport EnglishLocale from 'element-ui/lib/locale/lang/en';\nimport Locale from 'element-ui/src/locale';\nimport Vue from \"vue\";\n\nexport class AppConfig implements InstallationOptions {\n private static instance: AppConfig;\n\n private _locale: any;\n private _i18n: any;\n public size: UISize;\n public zIndex: number;\n\n private constructor() {\n this.zIndex = 3000;\n this.locale = EnglishLocale;\n this.i18n = null;\n this.size = \"large\";\n }\n\n public static get Instance() {\n return this.instance || (this.instance = Vue.observable(new AppConfig()));\n }\n\n public get locale(): any {\n return this._locale;\n }\n\n public set locale(locale: any) {\n Locale.use(locale);\n this._locale = locale;\n }\n\n public get i18n(): any {\n return this._i18n;\n }\n\n public set i18n(i18n: any) {\n Locale.i18n(i18n);\n this._i18n = i18n;\n }\n}\n\nexport default AppConfig.Instance;","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!!_vm.sessionUser)?_c('core.dialog',{ref:\"dialog\",attrs:{\"width\":\"max-content\",\"show-close\":!_vm.editContract.loading,\"close-on-click-modal\":!_vm.editContract.loading,\"close-on-press-escape\":!_vm.editContract.loading},on:{\"closed\":_vm.onClosed},scopedSlots:_vm._u([{key:\"footer\",fn:function(ref){\nvar cancel = ref.cancel;\nreturn _c('div',{staticClass:\"space-x-8\"},[_c('el-button',{attrs:{\"type\":\"text\",\"disabled\":_vm.editContract.loading},on:{\"click\":cancel}},[_c('span',[_vm._v(\"Cancel\")])]),_c('core.superadmin-button',{attrs:{\"disabled\":!_vm.canEditContract,\"loading\":_vm.editContract.loading},on:{\"click\":_vm.edit}},[(_vm.editContract.loading)?_c('span',[_vm._v(\"Editing\")]):_c('span',[_vm._v(\"Edit contract\")])])],1)}}],null,false,1396820744)},[_c('core.label',{attrs:{\"slot\":\"title\",\"icon-size\":\"16px\",\"icon-spacing\":\".6rem\"},slot:\"title\"},[_c('H1',[_vm._v(\"Edit Contract\")]),_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"receipt-outline\"},slot:\"icon\"})],1),_c('div',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.editContract.loading),expression:\"editContract.loading\"}],staticClass:\"admin-edit-contract\",attrs:{\"element-loading-text\":\"Editing contract...\"}},[(!!_vm.contract)?_c('div',{staticClass:\"space-y-16\"},[_c('licensing.contract-summary',{staticClass:\"pb-8\",attrs:{\"contract\":_vm.contract}}),_c('div',{staticClass:\"flex flex-wrap container-x-16 container-y-16\"},[_c('core.details',{staticClass:\"flex-3\",attrs:{\"label\":\"Poc\"}},[_c('el-checkbox',{staticClass:\"flex-3 mb-16\",attrs:{\"label\":\"Is a Poc\",\"border\":\"\"},model:{value:(_vm.isPoc),callback:function ($$v) {_vm.isPoc=$$v},expression:\"isPoc\"}})],1),_c('core.details',{staticClass:\"flex-3\",attrs:{\"label\":\"Origin\"}},[_c('licensing.origin-selector',{staticClass:\"form-field w-full\",attrs:{\"options\":_vm.originsLinke},model:{value:(_vm.origin),callback:function ($$v) {_vm.origin=$$v},expression:\"origin\"}})],1)],1),_c('div',{staticClass:\"flex flex-wrap container-x-16 container-y-16\"},[_c('core.details',{staticClass:\"flex-6\",attrs:{\"label\":\"Expiration Date\"}},[_c('el-date-picker',{staticClass:\"expiration-field\",attrs:{\"type\":\"datetime\",\"format\":\"MM/dd/yyyy HH:mm:ss\",\"prefix-icon\":\"el-icon-date\",\"picker-options\":_vm.datePickerOptions,\"placeholder\":\"Choose an expiration date\"},model:{value:(_vm.expiration),callback:function ($$v) {_vm.expiration=$$v},expression:\"expiration\"}})],1),_c('core.details',{staticClass:\"expiration-change flex-1\",attrs:{\"label\":\"Expiration Change\"}},[(!!_vm.expiration)?_c('span',[(_vm.contract.expiration.isSame(_vm.expiration))?_c('span',{staticClass:\"text-disabled\"},[_vm._v(\"No expiration change\")]):_c('span',[_c('span',[_vm._v(_vm._s(_vm.contract.expiration.isBefore(_vm.expiration) ? 'Extend for ' : 'Shorten by '))]),_c('span',{staticClass:\"exp-change-amount\"},[_vm._v(_vm._s(_vm.contract.expiration.from(_vm.expiration, true)))])])]):_vm._e()])],1),_c('transition',{attrs:{\"name\":\"el-zoom-in-top\"}},[(!!_vm.editContract.error)?_c('core.alert',{attrs:{\"type\":\"error\",\"title\":\"Contract Update Error\",\"description\":_vm.editContract.error.message,\"plain\":\"\"}}):_vm._e()],1)],1):_vm._e()])],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Contract } from \"@Module/Licensing/Models/Contract.model\";\nimport { DatePickerOptions } from \"element-ui/types/date-picker\";\nimport UsersStore from \"@Module/Users/Store/Users.store\";\nimport { User } from \"@Module/Users/Models/User.model\";\nimport Dialog from \"@Core/Components/Dialog/Dialog\";\nimport { Execution } from \"@Core/Models/Execution\";\nimport { Component, MapAction, MapGetter } from \"types-vue\";\nimport DayJS from \"dayjs\";\nimport Vue from \"vue\";\nimport { Notify } from \"@Core/Utils/Notify\";\nimport LicensingStore, { UpdateContractPayload } from \"@Module/Licensing/Store/Licensing.store\";\nimport { Prop, Watch } from \"vue-property-decorator\";\nimport { ServiceID } from \"@Service/ServiceID\";\nimport { ContractOrigin } from \"@Module/Licensing/Models/ContractOrigin\";\n\n@Component\nexport default class AdminEditContractDialog extends Vue {\n\n @Prop({ type: String, required: true })\n protected serviceId: ServiceID;\n\n @MapGetter(UsersStore.Mapping)\n protected sessionUser: User;\n\n @MapAction(LicensingStore.Mapping)\n private updateContract: (payload: UpdateContractPayload) => Promise;\n\n protected contract: Contract = null;\n protected expiration: Date = null;\n protected isPoc: boolean = false;\n protected origin: string = null;\n protected extendedContractId: number = null;\n protected originsLinke = ContractOrigin.OnlyLinke;\n protected editContract = Execution\n .create((contract: Contract, newExpDate: Date, is_poc: boolean, extendedContractId: number, origin: string, product: ServiceID) => this.updateContract({\n service: this.serviceId,\n data: {\n id: contract.id,\n dto: { expirationDate: newExpDate.toISOString(), is_poc: is_poc, extended_contract_id: extendedContractId, origin: origin, product: product },\n }\n }));\n\n public open(contract: Contract): Promise {\n const dialog = this.$refs.dialog as Dialog;\n if (!dialog) { \n return Promise.resolve(false); \n }\n this.contract = contract;\n this.expiration = contract.expiration.locale(\"es\").toDate();\n this.origin = contract.origin;\n this.extendedContractId = contract.extendedContractId;\n this.isPoc = contract.is_poc;\n return dialog.open();\n }\n \n \n protected onClosed() {\n this.contract = null;\n this.editContract.reset();\n }\n\n @Watch(\"origin\")\n protected onOriginChanged() {\n if (this.origin !== ContractOrigin.Extended){\n this.extendedContractId = null;\n }\n }\n\n protected async edit() {\n await this.editContract.run(this.contract, this.expiration, this.isPoc, this.extendedContractId, this.origin, this.serviceId);\n if (!this.editContract.error) {\n Notify.Success({\n title: \"Contract updated\",\n message: `Contract successfully updated.`\n });\n const dialog = this.$refs.dialog as Dialog;\n dialog.success();\n }\n }\n\n protected get canEditContract(): boolean {\n return !!this.expiration \n && !!this.contract \n && (!this.contract.expiration.isSame(this.expiration) || \n this.contract.is_poc !== this.isPoc ||\n this.contract.extendedContractId !== this.extendedContractId ||\n this.contract.origin !== this.origin);\n }\n\n protected get datePickerOptions(): DatePickerOptions {\n return {\n firstDayOfWeek: 1,\n disabledDate: (time) => time.getTime() < Date.now(),\n shortcuts: [{\n text: 'Extend 1 Week',\n onClick: (picker) => picker.$emit(\"pick\", this.contract.expiration.add(1, \"weeks\").toDate())\n }, {\n text: 'Extend 15 Days',\n onClick: (picker) => picker.$emit(\"pick\", this.contract.expiration.add(15, \"days\").toDate())\n }, {\n text: 'Extend 1 Month',\n onClick: (picker) => picker.$emit(\"pick\", this.contract.expiration.add(1, \"month\").toDate())\n }, {\n text: 'Extend 3 Months',\n onClick: (picker) => picker.$emit(\"pick\", this.contract.expiration.add(3, \"months\").toDate())\n }, {\n text: 'Extend 6 Months',\n onClick: (picker) => picker.$emit(\"pick\", this.contract.expiration.add(6, \"months\").toDate())\n }, {\n text: 'Extend 9 Months',\n onClick: (picker) => picker.$emit(\"pick\", this.contract.expiration.add(9, \"months\").toDate())\n }, {\n text: 'Extend 1 Year',\n onClick: (picker) => picker.$emit(\"pick\", this.contract.expiration.add(1, \"year\").toDate())\n }]\n }\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./AdminEditContractDialog.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./AdminEditContractDialog.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AdminEditContractDialog.vue?vue&type=template&id=1d3135fa&scoped=true&\"\nimport script from \"./AdminEditContractDialog.ts?vue&type=script&lang=ts&\"\nexport * from \"./AdminEditContractDialog.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./AdminEditContractDialog.vue?vue&type=style&index=0&id=1d3135fa&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1d3135fa\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"space-y-16\"},[(!_vm.isInDialog)?_c('div',[(_vm.panel.isSignIn)?_c('core.label',{attrs:{\"icon-size\":\"20px\",\"icon-spacing\":\".5rem\"}},[_c('H1',[_vm._v(\"Sign in\")]),_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"person-circle\"},slot:\"icon\"})],1):(_vm.panel.isSignUp)?_c('core.label',{attrs:{\"icon-size\":\"20px\",\"icon-spacing\":\".5rem\"}},[_c('H1',[_vm._v(\"Sign up\")]),_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"people-circle\"},slot:\"icon\"})],1):(_vm.panel.isNewPwdChallenge)?_c('core.label',{attrs:{\"icon-size\":\"20px\",\"icon-spacing\":\".5rem\"}},[_c('H1',[_vm._v(\"New password required\")]),_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"shield-half\"},slot:\"icon\"})],1):(_vm.panel.isForgotPwd)?_c('core.title',{attrs:{\"disabled\":_vm.busy,\"allow-navigation\":\"\"},on:{\"back\":_vm.onCancelForgotPwd}},[_c('core.label',{attrs:{\"icon-size\":\"16px\"}},[_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"lock-closed\"},slot:\"icon\"}),_c('H1',[_vm._v(\"Password recovery\")])],1)],1):(_vm.panel.isRespondInvitation)?_c('core.label',{attrs:{\"icon-size\":\"20px\",\"icon-spacing\":\".5rem\"}},[_c('i',{staticClass:\"el-icon-postcard\",attrs:{\"slot\":\"icon\"},slot:\"icon\"}),_c('H1',[_vm._v(\"Invitation response\")])],1):_vm._e()],1):_vm._e(),(!!_vm.contractPurchase && (_vm.panel.isSignIn || _vm.panel.isSignUp))?[(_vm.contractPurchase.isError)?_c('core.alert',{attrs:{\"type\":\"error\",\"title\":_vm.contractPurchase.isUpdate ? 'Contract update error' : 'Contract purchase error',\"description\":_vm.contractPurchase.errorDescription,\"compact\":\"\",\"plain\":\"\"}}):(_vm.contractPurchase.isUpdate)?_c('core.alert',{attrs:{\"type\":\"success\",\"title\":\"Contract updated\",\"description\":\"Contract successfully updated.\",\"compact\":\"\",\"plain\":\"\"}}):_c('core.alert',{attrs:{\"type\":\"warning\",\"title\":\"Contract purchase\",\"closable\":false,\"compact\":\"\",\"plain\":\"\"}},[_c('span',[_vm._v(\"Sign in to conclude your contract purchase. Once signed in, your contract purchase will be automatically registered and you will receive a notification in your inbox to complete the purchase process.\")])])]:_vm._e(),(!!_vm.orgInvitationLink && (_vm.panel.isSignIn || _vm.panel.isSignUp))?_c('core.alert',{staticClass:\"invitation-alert\",attrs:{\"type\":\"info\",\"closable\":false,\"show-icon\":false,\"compact\":\"\",\"plain\":\"\"},on:{\"close\":_vm.onCancelInvitation}},[_c('div',{staticClass:\"invitation-alert-header flex content-space-between\",attrs:{\"slot\":\"title\"},slot:\"title\"},[_c('strong',[_vm._v(_vm._s(_vm.panel.isSignIn ? 'Sign in' : 'Sign up')+\" with invitation\")]),_c('el-link',{attrs:{\"disabled\":_vm.busy,\"underline\":false},on:{\"click\":_vm.onCancelInvitation}},[_vm._v(\"Postpone invitation\")])],1),_c('span',[_vm._v(\"You have received an invitation. Once \"+_vm._s(_vm.panel.isSignIn ? 'signed in' : 'signed up')+\", the invitation will be automatically accepted and you will become a member of \"),_c('strong',[_vm._v(_vm._s(_vm.orgInvitationLink.orgName))]),_vm._v(\" organization.\")])]):_vm._e(),(!!_vm.signUpModel && (_vm.panel.isSignIn || _vm.panel.isSignUp))?_c('core.alert',{attrs:{\"type\":\"info\",\"plain\":\"\"}},[_c('span',{attrs:{\"slot\":\"title\"},slot:\"title\"},[_vm._v(\"Welcome, \"+_vm._s(_vm.signUpModel.fullName))]),_c('div',[_vm._v(\"Sign in with the temporary password we have sent you to \"),_c('span',{staticClass:\"text-semibold\"},[_vm._v(_vm._s(_vm.signUpModel.email))]),_vm._v(\".\")])]):_vm._e(),_c('div',{staticClass:\"space-y-32\"},[(_vm.panel.isNewPwdChallenge)?_c('auth.new-pwd-challenge-panel',{ref:\"newPwdChallengePanel\",attrs:{\"challenge\":_vm.newPwdChallenge,\"disabled\":_vm.busy},on:{\"update:disabled\":function($event){_vm.busy=$event},\"cancel\":function($event){return _vm.$emit('cancel')},\"success\":_vm.onSignInComplete}}):(_vm.panel.isForgotPwd)?_c('auth.forgot-pwd-panel',{ref:\"forgotPwdPanel\",attrs:{\"disabled\":_vm.busy},on:{\"update:disabled\":function($event){_vm.busy=$event},\"success\":_vm.goToSignIn}}):(_vm.panel.isSignIn)?_c('auth.sign-in-panel',{ref:\"signInPanel\",attrs:{\"context\":_vm.context,\"skippable\":_vm.skippable || _vm.isInDialog,\"disabled\":_vm.busy},on:{\"update:disabled\":function($event){_vm.busy=$event},\"forgot-password\":_vm.onForgotPasswordClick,\"cancel\":function($event){return _vm.$emit('cancel')},\"success\":_vm.onSignInResult}}):(_vm.panel.isSignUp)?_c('auth.sign-up-panel',{ref:\"signUpPanel\",attrs:{\"skippable\":_vm.skippable || _vm.isInDialog,\"disabled\":_vm.busy},on:{\"update:disabled\":function($event){_vm.busy=$event},\"cancel\":function($event){return _vm.$emit('cancel')},\"success\":_vm.onSignUpResult}}):(_vm.panel.isRespondInvitation)?_c('auth.respond-invitation-panel',{ref:\"respondInvitationPanel\",attrs:{\"disabled\":_vm.busy,\"is-in-dialog\":_vm.isInDialog},on:{\"update:disabled\":function($event){_vm.busy=$event},\"success\":_vm.onInvitationAccepted}}):_vm._e(),(_vm.panel.isSignIn || _vm.panel.isSignUp)?_c('div',{staticClass:\"footer\"},[_c('el-divider',{staticClass:\"mt-8 mb-24\"},[_vm._v(\"OR\")]),_c('div',{staticClass:\"w-full p-y-8 flex items-center space-x-8 content-center\"},[_c('core.label',{attrs:{\"value\":_vm.panel.isSignIn ? 'Don\\'t have an account?' : 'Already have an account?'}}),_c('el-link',{staticClass:\"space-x-4\",attrs:{\"disabled\":_vm.busy,\"type\":\"primary\",\"underline\":false},on:{\"click\":_vm.toggleAuthPanel}},[_c('span',[_vm._v(_vm._s(_vm.panel.isSignIn ? 'Sign up' : 'Sign in')+\".\")])])],1)],1):_vm._e()],1)],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { OrgInvitationNotificationLink } from \"@Module/Notifications/Models/OrgInvitationNotification.model\";\nimport NotificationsInboxStore from \"@Module/Notifications/Store/NotificationsInbox.store\";\nimport RespondInvitationPanel from \"../RespondInvitationPanel/RespondInvitationPanel\";\nimport { SignInChallenge } from \"@Module/Auth/Models/SignIn/SignInChallenge.model\";\nimport { NewPwdChallenge } from \"@Module/Auth/Models/SignIn/NewPwdChallenge.model\";\nimport { SignInResponse } from \"@Module/Auth/Models/SignIn/SignInResponse.model\";\nimport NewPwdChallengePanel from \"../NewPwdChallengePanel/NewPwdChallengePanel\";\nimport { ContractPurchase } from \"@Module/Auth/Models/ContractPurchase.model\";\nimport { Component, MapAction, MapGetter, Prop, Watch } from \"types-vue\";\nimport LicensingStore from \"@Module/Licensing/Store/Licensing.store\";\nimport { SignUp } from \"@Module/Auth/Models/SignUp/SignUp.model\";\nimport ForgotPwdPanel from \"../ForgotPwdPanel/ForgotPwdPanel\";\nimport SignUpPanel from \"../SignUpPanel/SignUpPanel\";\nimport SignInPanel from \"../SignInPanel/SignInPanel\";\nimport Vue from \"vue\";\n\nexport const enum AuthFormPanel {\n SignIn = \"sign-in\",\n SignUp = \"sign-up\",\n NewPwdChallenge = \"new-pwd-challenge\",\n ForgotPassword = \"forgot-password\",\n RespondInvitation = \"respond-invitation\",\n Recovery = \"recovery\"\n}\n\n@Component\nexport default class AuthController extends Vue {\n\n @Prop({ type: Boolean, default: false })\n protected disabled: boolean;\n\n @Prop({ type: String, default: null })\n protected context: string;\n\n @Prop({ type: Boolean, default: true })\n protected showTitle: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected skippable: boolean;\n\n @Prop({ type: String, default: AuthFormPanel.SignIn })\n protected value: AuthFormPanel;\n \n @MapGetter(NotificationsInboxStore.Mapping)\n protected orgInvitationLink: OrgInvitationNotificationLink;\n\n @MapGetter(LicensingStore.Mapping)\n protected contractPurchase: ContractPurchase;\n\n @MapAction(LicensingStore.Mapping)\n protected setContractPurchase: (contractPurchase: ContractPurchase | null) => Promise;\n\n @MapAction(NotificationsInboxStore.Mapping)\n protected setOrgInvitationLink: (link: OrgInvitationNotificationLink | null) => Promise;\n\n protected currentPanel: AuthFormPanel = AuthFormPanel.SignIn;\n protected newPwdChallenge: NewPwdChallenge = null;\n protected busy: boolean = false;\n protected signUpModel: SignUp = null;\n protected email: string = \"\";\n\n @Watch(\"value\", { immediate: true })\n protected onValueChange(newPanel: AuthFormPanel) {\n this.currentPanel = newPanel;\n }\n\n @Watch(\"currentPanel\", { immediate: true })\n protected onCurrentPanelChange(panel: AuthFormPanel) {\n this.$emit(\"change\", panel);\n }\n\n @Watch(\"busy\", { immediate: true })\n protected onBusyChange(busy: boolean) {\n this.$emit(\"update:disabled\", busy);\n }\n\n protected setCurrentPanel(panel: AuthFormPanel) {\n this.currentPanel = panel;\n this.$emit(\"input\", panel);\n }\n\n protected get isInDialog(): boolean {\n return !!this.$parent.$refs.dialog;\n }\n\n protected get panel() {\n return {\n isSignIn: this.currentPanel === AuthFormPanel.SignIn,\n isSignUp: this.currentPanel === AuthFormPanel.SignUp,\n isNewPwdChallenge: this.currentPanel === AuthFormPanel.NewPwdChallenge,\n isRecovery: this.currentPanel === AuthFormPanel.Recovery,\n isForgotPwd: this.currentPanel === AuthFormPanel.ForgotPassword,\n isRespondInvitation: this.currentPanel === AuthFormPanel.RespondInvitation\n }\n }\n\n protected async onCancelInvitation() {\n try {\n const message = `

Are you sure you want to postpone your invitation to ${this.orgInvitationLink.orgName} organization?

` +\n `

Later, once authenticated, you will still be able to accept or decline the invitation from the notifications inbox.

`\n await this.$confirm(\n message,\n \"Postpone invitation\", {\n type: \"warning\",\n cancelButtonText: \"Cancel\",\n confirmButtonText: \"Postpone invitation\",\n dangerouslyUseHTMLString: true\n }\n );\n await this.setOrgInvitationLink(null);\n } catch {}\n }\n\n protected onSignInResult(result: SignInResponse | SignInChallenge) {\n if (result instanceof SignInChallenge && result.isNewPasswordChallenge) {\n this.newPwdChallenge = NewPwdChallenge.create(result);\n this.setCurrentPanel(AuthFormPanel.NewPwdChallenge);\n } else if (result instanceof SignInChallenge){\n this.email = result.username;\n }else {\n this.onSignInComplete()\n }\n }\n\n protected async onInvitationAccepted(orgInvitationLink: OrgInvitationNotificationLink) {\n if (orgInvitationLink.isSignUp) {\n this.onSignUpComplete();\n } else {\n this.onSignInComplete();\n }\n }\n\n protected async onSignInComplete() {\n if (!!this.orgInvitationLink && !this.orgInvitationLink.accepted) {\n this.orgInvitationLink.accepted = false;\n this.orgInvitationLink.isSignUp = false;\n this.setCurrentPanel(AuthFormPanel.RespondInvitation);\n } else {\n await this.setContractPurchase(null);\n this.$emit(\"signed-in\");\n }\n }\n \n protected onSignUpResult(result: SignUp) {\n this.signUpModel = result;\n this.email = result.email;\n this.onSignUpComplete();\n }\n\n protected onCodeVerified() {\n this.setCurrentPanel(AuthFormPanel.SignIn);\n }\n \n protected async onSignUpComplete() {\n if (!!this.orgInvitationLink && !this.orgInvitationLink.accepted) {\n this.orgInvitationLink.accepted = true;\n this.orgInvitationLink.isSignUp = true;\n this.setCurrentPanel(AuthFormPanel.RespondInvitation);\n } else {\n await this.setContractPurchase(null);\n this.setCurrentPanel(AuthFormPanel.SignIn);\n this.$emit(\"signed-up\");\n }\n }\n\n protected onForgotPasswordClick() {\n this.setCurrentPanel(AuthFormPanel.ForgotPassword);\n }\n\n protected onCancelForgotPwd() {\n this.setCurrentPanel(AuthFormPanel.SignIn);\n }\n\n protected toggleAuthPanel() {\n const targetPanel = this.panel.isSignIn \n ? AuthFormPanel.SignUp \n : AuthFormPanel.SignIn;\n this.setCurrentPanel(targetPanel);\n }\n\n protected goToSignIn() {\n this.setCurrentPanel(AuthFormPanel.SignIn);\n }\n\n public closeGuard(close: VoidFunction) {\n switch (this.currentPanel) {\n case AuthFormPanel.ForgotPassword:\n const forgotPwdPanel = this.$refs.forgotPwdPanel as ForgotPwdPanel;\n return forgotPwdPanel.closeGuard(close);\n case AuthFormPanel.NewPwdChallenge:\n const newPwdChallengePanel = this.$refs.newPwdChallengePanel as NewPwdChallengePanel;\n return newPwdChallengePanel.closeGuard(close);\n case AuthFormPanel.SignIn: \n const signInPanel = this.$refs.signInPanel as SignInPanel;\n return signInPanel.closeGuard(close);\n case AuthFormPanel.SignUp: \n const signUpPanel = this.$refs.signUpPanel as SignUpPanel;\n return signUpPanel.closeGuard(close);\n case AuthFormPanel.RespondInvitation:\n const respondInvitationPanel = this.$refs.respondInvitationPanel as RespondInvitationPanel;\n return respondInvitationPanel.closeGuard(close);\n }\n }\n\n protected beforeDestroy() {\n if (this.contractPurchase?.isError || this.contractPurchase?.isUpdate) {\n this.setContractPurchase(null);\n }\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./AuthController.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./AuthController.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AuthController.vue?vue&type=template&id=0c76d8f6&scoped=true&\"\nimport script from \"./AuthController.ts?vue&type=script&lang=ts&\"\nexport * from \"./AuthController.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./AuthController.vue?vue&type=style&index=0&id=0c76d8f6&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0c76d8f6\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LicensingStatusBreakdown.vue?vue&type=style&index=0&id=3a0ae35a&lang=scss&scoped=true&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ListItem.vue?vue&type=style&index=0&id=2bdfd3b1&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('core.card',{staticClass:\"stat-card\",attrs:{\"plain\":_vm.plain,\"bordered\":_vm.bordered,\"no-padding\":\"\"}},[_c('div',{staticClass:\"stat space-y-6\"},[_vm._t(\"title\",[_c('H2',{staticClass:\"mb-6\"},[_vm._v(_vm._s(_vm.title))])]),_vm._t(\"default\",[_c('el-skeleton',{attrs:{\"loading\":_vm.loading,\"animated\":\"\"}},[_c('el-skeleton-item',{staticStyle:{\"width\":\"40px\",\"height\":\"18px\"},attrs:{\"slot\":\"template\"},slot:\"template\"}),_c('span',{staticClass:\"value-label\"},[_vm._v(_vm._s(_vm.value))])],1)])],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Prop } from \"types-vue\";\nimport Vue from \"vue\";\n\n@Component\nexport default class StatCard extends Vue {\n\n @Prop({ type: [String, Number], required: true })\n protected value: string | number;\n\n @Prop({ type: String, required: true })\n protected title: string;\n\n @Prop({ type: Boolean, default: false })\n protected loading: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected plain: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected bordered: boolean;\n\n}","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./StatCard.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./StatCard.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./StatCard.vue?vue&type=template&id=4afb9c81&scoped=true&\"\nimport script from \"./StatCard.ts?vue&type=script&lang=ts&\"\nexport * from \"./StatCard.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./StatCard.vue?vue&type=style&index=0&id=4afb9c81&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4afb9c81\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"flex flex-wrap container-x-16 container-y-16\"},[(!_vm.expand)?_c('core.details',{attrs:{\"label\":\"Status\"}},[_c('licensing.licensing-status-tag',{attrs:{\"status\":_vm.contract.status}})],1):_vm._e(),(!_vm.expand)?_c('core.details',{attrs:{\"label\":\"Origin\"}},[_c('el-tag',{attrs:{\"size\":\"mini\",\"effect\":\"dark\",\"type\":\"info\"}},[_vm._v(_vm._s(_vm.originName(_vm.contract.origin)))])],1):_vm._e(),(!_vm.expand)?_c('core.details',{attrs:{\"label\":\"Licenses\"}},[_c('span',[_vm._v(_vm._s(_vm._f(\"pluralize\")(((_vm.contract.licensesCount) + \" license\"),_vm.contract.licensesCount)))])]):_vm._e(),_c('core.details',{attrs:{\"label\":\"Contract Code\"}},[_c('core.copy-label',{attrs:{\"value\":_vm.contract.externalId}},[_c('el-tooltip',{attrs:{\"effect\":\"light\",\"placement\":\"top\",\"content\":_vm.contract.externalId,\"disabled\":!_vm.contractCode.includes('...'),\"open-delay\":500}},[_c('span',[_vm._v(_vm._s(_vm.contractCode))])])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { ContractOrigin } from \"@Module/Licensing/Models/ContractOrigin\";\nimport { Contract } from \"@Module/Licensing/Models/Contract.model\";\nimport { Component, Prop } from \"types-vue\";\nimport { Utils } from \"@Core/Utils/Utils\";\nimport Vue from \"vue\";\n\n@Component\nexport default class ContractGeneralSummary extends Vue {\n\n @Prop({ type: Object, required: true })\n protected contract: Contract;\n\n @Prop({ type: Boolean, default: false })\n protected expand: boolean;\n\n protected get contractCode(): string {\n if (this.$mq.md) return Utils.smartTrim(this.contract.externalId, 14);\n else return Utils.smartTrim(this.contract.externalId, 16);\n }\n\n protected originName(origin: ContractOrigin): string {\n return ContractOrigin.nameOf(origin);\n }\n \n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./ContractGeneralSummary.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./ContractGeneralSummary.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ContractGeneralSummary.vue?vue&type=template&id=d0b4fa2a&\"\nimport script from \"./ContractGeneralSummary.ts?vue&type=script&lang=ts&\"\nexport * from \"./ContractGeneralSummary.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmoryBackupFiltersPanel.vue?vue&type=style&index=1&lang=scss&\"","import { IOrganizationDto, Organization } from \"../Organization.model\";\nimport { IRoleDto, Role } from \"@Module/Auth/Models/Roles/AccessRole.model\";\n\nexport interface IOrganizationRoleDto {\n role: IRoleDto;\n org: IOrganizationDto;\n is_main: boolean;\n}\n\ninterface OrgRoleOptions {\n org?: Organization;\n role?: Role;\n isMain: boolean;\n children?: OrganizationRole[];\n}\n\nexport class OrganizationRole {\n public role: Role;\n public organization: Organization;\n public isMain: boolean;\n public children: OrganizationRole[];\n\n private constructor(dto?: IOrganizationRoleDto, options: OrgRoleOptions = { isMain: false }) {\n this.role = !!dto?.role ? Role.fromDto(dto.role) : (options.role || null);\n this.organization = !!dto?.org ? Organization.fromDto(dto.org) : (options.org || null);\n this.isMain = dto?.is_main ?? options.isMain ?? false;\n this.children = options.children || [];\n }\n\n public static fromDto(dto: IOrganizationRoleDto): OrganizationRole {\n return new OrganizationRole(dto);\n }\n\n public static create(options?: OrgRoleOptions): OrganizationRole {\n return new OrganizationRole(null, options);\n }\n\n public static noAccess(org: Organization): OrganizationRole {\n return new OrganizationRole(null, {\n org, children: [], isMain: false, role: Role.NoAccess\n });\n }\n\n public get isFulfilled(): boolean {\n return !!this.organization && !!this.role;\n }\n\n public toDto(): IOrganizationRoleDto {\n return {\n org: this.organization?.toDto(),\n role: this.role?.toDto(),\n is_main: this.isMain\n }\n }\n\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:(\"ui-size-\" + _vm.uiSize),attrs:{\"id\":\"app\"}},[(!_vm.currentRoute)?_c('core.loading',{attrs:{\"label\":\"Initializing...\"}}):_c('router-view')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import NavigationStore from \"@Core/Store/Navigation/Navigation.store\";\nimport { Component, MapGetter, mixins, Watch } from \"types-vue\";\nimport { SessionToken } from \"../Models/SessionToken.model\";\nimport { Console, NavigationGuardNext } from \"vue-router\";\nimport { ConsoleRoute } from \"@Core/Models/ConsoleRoute\";\nimport AuthStore from \"@Module/Auth/Store/Auth.store\";\nimport AxiosAPI from \"../../../Core/API/AxiosAPI\";\nimport { Notify } from \"@Core/Utils/Notify\";\nimport SignOutMixin from \"./SignOut.mixin\";\nimport { AxiosError } from \"axios\";\n\ninterface NavigationGuardParams {\n to: Console.Route;\n from: Console.Route;\n next: NavigationGuardNext;\n}\n\n@Component\nexport default class SessionInterceptorMixin extends mixins(SignOutMixin) {\n\n @MapGetter(NavigationStore.Mapping)\n protected currentRoute: ConsoleRoute;\n\n @MapGetter(NavigationStore.Mapping)\n protected getRoute: (path: string) => ConsoleRoute;\n\n @MapGetter(AuthStore.Mapping)\n protected sessionToken: SessionToken;\n\n protected reqInterceptorId: number = null; \n protected resInterceptorId: number = null; \n\n @Watch(\"sessionToken\")\n protected onSessionActiveChange(token: SessionToken) {\n if (!!token) {\n this.addApiInterceptors();\n } else {\n this.ejectApiInterceptors();\n }\n }\n\n protected created() {\n this.addRouteInterceptors();\n }\n\n protected beforeDestroy() {\n this.ejectApiInterceptors();\n }\n\n private addRouteInterceptors() {\n this.$router.beforeEach(async (to: Console.Route, from: Console.Route, next) => {\n if (!!this.sessionToken && this.sessionToken.hasExpired) {\n await this.signOutDueToSessionExpired({ to, from, next });\n }\n if (to.path !== from?.path) {\n this.$Progress.start();\n }\n next();\n });\n this.$router.afterEach((_to, _from) => {\n this.$Progress.finish();\n });\n }\n\n private addApiInterceptors() {\n if (this.reqInterceptorId !== null) { return; }\n this.reqInterceptorId = AxiosAPI.requestInterceptor.use(async config => {\n if (!config.unauthenticated && !!this.sessionToken && this.sessionToken.hasExpired) {\n await this.signOutDueToSessionExpired();\n return new Promise(() => {});\n \n }\n return config;\n });\n\n if (this.resInterceptorId !== null) { return; }\n this.resInterceptorId = AxiosAPI.responseInterceptor.use(undefined, \n async (error: AxiosError) => {\n if (error.response?.status === 401 && !!this.sessionToken) {\n await this.signOutDueToSessionExpired();\n }\n return Promise.reject(error);\n });\n }\n\n private ejectApiInterceptors() {\n if (this.reqInterceptorId !== null) {\n AxiosAPI.requestInterceptor.eject(this.reqInterceptorId);\n this.reqInterceptorId = null\n }\n if (this.resInterceptorId !== null) {\n AxiosAPI.responseInterceptor.eject(this.resInterceptorId);\n this.resInterceptorId = null\n }\n }\n\n private async signOutDueToSessionExpired(nav?: NavigationGuardParams) {\n Notify.Info({ \n title: \"Session expired\", \n message: \"You have been disconnected because your session has expired. Please sign in again.\", \n duration: 6000 \n });\n await this.performSignOut(true);\n this.$router.replace(ConsoleRoute.AuthPath).catch(e => e);\n\n /*if (!!nav) {\n const targetRoute = this.getRoute(nav.to.path);\n const legacyTarget = targetRoute?.isServiceLegacy === true;\n if (!legacyTarget) {\n return nav.next({ \n path: nav.to.path, \n query: nav.to.query,\n params: nav.to.params, \n replace: true \n });\n }\n }\n \n return nav.next({ \n path: this.currentRoute.redirectPath, \n replace: true \n });*/\n }\n\n}","export interface IContractPurchaseDto {\n contractid: string;\n error: string;\n update: string;\n}\n\nexport const enum PurchaseError {\n AlreadyAssigned = 10,\n AssignPending = 20\n}\n\nexport class ContractPurchase {\n public readonly id: number;\n public readonly error: PurchaseError;\n public readonly isUpdate: boolean;\n\n private constructor(dto: IContractPurchaseDto) {\n this.id = parseInt(dto.contractid);\n this.error = !!dto.error ? parseInt(dto.error) as PurchaseError : undefined;\n this.isUpdate = !!dto.update ? true : false;\n }\n \n public static fromQuery(query: any): ContractPurchase | null {\n if (ContractPurchase.hasContractPurchase(query)) {\n return new ContractPurchase(query);\n } else {\n return null;\n }\n }\n\n public get isError(): boolean {\n return this.error !== undefined;\n }\n\n public static clearQuery(query: any): any {\n delete query.contractid;\n delete query.error;\n delete query.update;\n return query;\n }\n\n public static hasContractPurchase(query: any): query is IContractPurchaseDto {\n if (!query) return false;\n return !!(query as IContractPurchaseDto).contractid;\n }\n\n public get errorDescription(): string | null {\n if (!this.isError) { return null; }\n if (this.isUpdate) { return \"An error occurred while updating contract.\"; }\n switch (this.error) {\n case PurchaseError.AlreadyAssigned: return \"Contract is already purchased and assigned to an organization.\"\n case PurchaseError.AssignPending: return \"Contract is already purchased and pending for organization assignment.\"\n default: return \"An error occurred while purchasing the contract.\"\n }\n }\n}","import { ContractPurchaseNotification } from \"@Module/Notifications/Models/ContractPurchaseNotification.model\";\nimport { OrgInvitationNotificationLink } from \"@Module/Notifications/Models/OrgInvitationNotification.model\";\nimport NotificationsOutboxStore from \"@Module/Notifications/Store/NotificationsOutbox.store\";\nimport NotificationsInboxStore from \"@Module/Notifications/Store/NotificationsInbox.store\";\nimport SessionInterceptorMixin from \"../Modules/Auth/Mixins/SessionInterceptor.mixin\";\nimport AppSettingsStore from \"@Service/Settings/Store/AppSettings/AppSettings.store\";\nimport { UISize } from \"@Service/Settings/Store/AppSettings/AppSettings.state\";\nimport { ContractPurchase } from \"@Module/Auth/Models/ContractPurchase.model\";\nimport { Component, MapAction, MapGetter, mixins, Watch } from \"types-vue\";\nimport { AccessRole } from \"@Module/Auth/Models/Roles/AccessRole.model\";\nimport StateCleanerMixin from \"@Module/Auth/Mixins/StateCleaner.mixin\";\nimport { SetRoutePayload } from \"./Store/Navigation/Navigation.state\";\nimport LicensingStore from \"@Module/Licensing/Store/Licensing.store\";\nimport NavigationStore from \"./Store/Navigation/Navigation.store\";\nimport { AuthStatus } from \"@Module/Auth/Store/Auth.state\";\nimport { Console, NavigationGuardNext } from \"vue-router\";\nimport UsersStore from \"@Module/Users/Store/Users.store\";\nimport { User } from \"@Module/Users/Models/User.model\";\nimport { ConsoleRoute } from \"./Models/ConsoleRoute\";\nimport AuthStore from \"@Module/Auth/Store/Auth.store\";\nimport MenuStore from \"./Store/Menu/Menu.store\";\nimport { Notify } from \"./Utils/Notify\";\nimport { Utils } from \"./Utils/Utils\";\nimport Vue from \"vue\";\n\n@Component\nexport default class App extends mixins(SessionInterceptorMixin, StateCleanerMixin) {\n\n @MapGetter(AppSettingsStore.Mapping)\n protected uiSize: UISize;\n\n @MapGetter(UsersStore.Mapping)\n protected sessionUser: User;\n\n @MapGetter(AuthStore.Mapping)\n protected accessRole: AccessRole;\n\n @MapGetter(AuthStore.Mapping)\n protected authStatus: AuthStatus;\n\n @MapGetter(LicensingStore.Mapping)\n protected contractPurchase: ContractPurchase;\n\n @MapGetter(NavigationStore.Mapping)\n protected navigationInitialized: boolean;\n\n @MapGetter(NavigationStore.Mapping)\n protected getRoute: (path: string) => ConsoleRoute;\n\n @MapAction(AppSettingsStore.Mapping)\n private loadSettingsFromCookies: () => Promise;\n\n @MapAction(AuthStore.Mapping)\n private loadSessionFromCookies: () => Promise;\n\n @MapAction(NavigationStore.Mapping)\n protected initNavigation: () => Promise;\n\n @MapAction(NavigationStore.Mapping)\n protected setRoute: (route: SetRoutePayload) => Promise;\n\n @MapAction(MenuStore.Mapping)\n protected setFloatingMenuVisible: (visible: boolean) => Promise;\n\n @MapAction(NotificationsInboxStore.Mapping)\n protected setOrgInvitationLink: (link: OrgInvitationNotificationLink) => Promise;\n\n @MapAction(NotificationsOutboxStore.Mapping)\n protected sendContractPurchase: (contractPurchase: ContractPurchase) => Promise;\n\n @MapAction(LicensingStore.Mapping)\n protected setContractPurchase: (purchase: ContractPurchase) => Promise;\n\n @Watch(\"$route\", { immediate: true })\n protected async onRouteChange(to: Console.Route, from?: Console.Route) {\n if (to.matched.length === 0) { return; }\n\n if (!this.navigationInitialized) { await this.initNavigation(); }\n this.setFloatingMenuVisible(false);\n\n const route = await this.setRoute({ current: to, previous: from });\n if (route.service.meta.menu.label === \"CxLink\") {\n window.document.title = \"CxLink\";\n } else {\n window.document.title = `CxLink - ${route.service.meta.menu.label}`;\n }\n\n if (route.signOutOnEnter && !from) {\n await this.performSignOut();\n }\n\n await this.loadUrlQueryParams(to.query);\n }\n\n @Watch(\"authStatus\", { immediate: true })\n @Watch(\"contractPurchase\", { immediate: true })\n protected async onDestinationRouteChange() {\n if (this.authStatus === AuthStatus.SignedIn && !!this.contractPurchase) {\n\n if (this.contractPurchase.isError || this.contractPurchase.isUpdate) {\n await this.setContractPurchase(null);\n return;\n }\n\n await this.$nextTick();\n const loadingNotif = Notify.Indeterminate({ \n title: \"Registering contract purchase\", \n message: \"Please wait while your contract purchase is being registered.\",\n });\n\n try {\n await this.sendContractPurchase(this.contractPurchase);\n await Utils.sleep(800);\n loadingNotif.close();\n await this.$nextTick();\n Notify.Success({\n title: \"Contract purchase registered\",\n message: `Your contract purchase has been successfully registered. You will receive a notification in your inbox to complete the purchase process.`,\n duration: 10000\n });\n } catch (error) {\n await Utils.sleep(1000);\n loadingNotif.close();\n await this.$nextTick();\n Notify.Error({\n title: \"Purchase registration error\",\n message: `An error occurred registering your contract purchase. Please relaunch the purchase process again.`,\n duration: 10000\n });\n }\n \n await this.setContractPurchase(null);\n }\n }\n\n protected async loadUrlQueryParams(query: Record) {\n query = Object.assign({}, query);\n const hasContractPurchase = ContractPurchase.hasContractPurchase(query);\n const hasOrgInvitationLink = OrgInvitationNotificationLink.hasOrgInvitationLink(query);\n if (!hasContractPurchase && !hasOrgInvitationLink) { \n return; \n }\n \n const contractPurchase = ContractPurchase.fromQuery(query);\n if (!!contractPurchase) {\n await this.setContractPurchase(contractPurchase);\n query = ContractPurchase.clearQuery(query);\n }\n\n const orgInvitation = OrgInvitationNotificationLink.fromQuery(query);\n if (!!orgInvitation) {\n await this.setOrgInvitationLink(orgInvitation);\n query = OrgInvitationNotificationLink.clearQuery(query);\n }\n\n this.$router.replace({ query: query }).catch(e => e);\n }\n\n @Watch(\"uiSize\", { immediate: true })\n protected onUiSizeChange(newSize: UISize, oldSize: UISize) {\n if (!!oldSize) {\n document.body.classList.remove(`ui-size-${oldSize}`);\n }\n document.body.classList.add(`ui-size-${newSize}`);\n }\n\n protected async created() {\n this.$Progress.start();\n await this.initNavigation();\n Vue.$cookies.config(\"30d\");\n await this.loadSettingsFromCookies();\n await this.loadSessionFromCookies();\n this.$router.beforeEach(this.routeGuard);\n this.$Progress.finish();\n }\n\n private async routeGuard(to: Console.Route, from: Console.Route, next: NavigationGuardNext) {\n //Redirect hub to home, that is the new root path\n if (to.path == ConsoleRoute.HubPath){\n return next({ \n path: ConsoleRoute.HomePath,\n replace: true \n });\n }\n if (to.matched.length === 0) { \n return next({ \n path: ConsoleRoute.NotFoundPath, \n replace: true \n });\n }\n\n const route = to.matched[to.matched.length - 1];\n const targetRoute = this.getRoute(route.path);\n if (targetRoute.isServiceLegacy && !targetRoute.hasLegacyAccess) {\n return next({ \n path: ConsoleRoute.NotFoundPath,\n replace: true \n });\n } else if (!!this.sessionUser && !this.accessRole.grantsAccessToRoute(targetRoute)) {\n return next({ \n path: ConsoleRoute.ForbiddenPath,\n replace: true\n });\n } else {\n if (targetRoute.signOutOnEnter && to.path !== from?.path) {\n await this.performSignOut();\n }\n return next();\n }\n }\n \n}","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!./App.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!./App.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=493310ad&\"\nimport script from \"./App.ts?vue&type=script&lang=ts&\"\nexport * from \"./App.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('core.dialog',{ref:\"dialog\",attrs:{\"top\":\"10vh\",\"width\":\"45rem\",\"append-to-body\":\"\",\"visible\":_vm.billingPeriodDialogVisible},on:{\"closed\":_vm.onClosed},scopedSlots:_vm._u([{key:\"footer\",fn:function(ref){\nvar cancel = ref.cancel;\nreturn _c('div',{staticClass:\"space-x-16\"},[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.onClosed}},[_vm._v(\"Close\")]),(_vm.formType ==='update')?_c('core.superadmin-button',{attrs:{\"slot\":\"reference\",\"size\":\"small\"},on:{\"click\":_vm.updateElement},slot:\"reference\"},[_c('span',[_vm._v(\"Update period\")])]):_vm._e(),(_vm.formType ==='create')?_c('core.superadmin-button',{attrs:{\"slot\":\"reference\",\"size\":\"small\"},on:{\"click\":_vm.createElement},slot:\"reference\"},[_c('span',[_vm._v(\"Add period\")])]):_vm._e()],1)}}])},[_c('div',{staticClass:\"reports-form\"},[_c('core.label',{attrs:{\"slot\":\"title\",\"icon-size\":\"18px\",\"icon-spacing\":\".6rem\"},slot:\"title\"},[_c('H2',[_vm._v(\"Billing Period\")])],1),_c('div',{staticClass:\"group-inputs\"},[_c('core.details',{attrs:{\"label\":\"Start Date\"}},[_c('el-date-picker',{staticClass:\"expiration-field\",attrs:{\"picker-options\":_vm.datePickerOptions,\"type\":\"date\",\"format\":\"yyyy/MM/dd\",\"prefix-icon\":\"el-icon-date\",\"placeholder\":\"Choose start date\"},model:{value:(_vm.billingPeriod.startDate),callback:function ($$v) {_vm.$set(_vm.billingPeriod, \"startDate\", $$v)},expression:\"billingPeriod.startDate\"}})],1),_c('core.details',{attrs:{\"label\":\"End Date\"}},[_c('el-date-picker',{staticClass:\"expiration-field\",attrs:{\"picker-options\":_vm.datePickerOptions,\"type\":\"date\",\"format\":\"yyyy/MM/dd\",\"prefix-icon\":\"el-icon-date\",\"placeholder\":\"Choose end date\"},model:{value:(_vm.billingPeriod.endDate),callback:function ($$v) {_vm.$set(_vm.billingPeriod, \"endDate\", $$v)},expression:\"billingPeriod.endDate\"}})],1)],1),_c('div',{staticClass:\"group-inputs\"},[_c('core.details',{attrs:{\"label\":\"Agreement\"}},[_c('el-input',{attrs:{\"controls-position\":\"right\",\"precision\":2,\"step\":0.1,\"value\":_vm.billingPeriod.agreement},model:{value:(_vm.billingPeriod.agreement),callback:function ($$v) {_vm.$set(_vm.billingPeriod, \"agreement\", $$v)},expression:\"billingPeriod.agreement\"}})],1),_c('core.details',{attrs:{\"label\":\"Currency\"}},[_c('el-select',{attrs:{\"placeholder\":\"Select\"},model:{value:(_vm.billingPeriod.currency),callback:function ($$v) {_vm.$set(_vm.billingPeriod, \"currency\", $$v)},expression:\"billingPeriod.currency\"}},_vm._l((_vm.currencyOptions),function(item){return _c('el-option',{key:item,attrs:{\"value\":item}})}),1)],1)],1),_c('div',{staticClass:\"group-inputs\"},[_c('core.details',{attrs:{\"label\":\"Total Amount\"}},[_c('el-input-number',{attrs:{\"controls-position\":\"right\",\"precision\":2,\"step\":0.1,\"value\":_vm.billingPeriod.totalAmount},model:{value:(_vm.billingPeriod.totalAmount),callback:function ($$v) {_vm.$set(_vm.billingPeriod, \"totalAmount\", $$v)},expression:\"billingPeriod.totalAmount\"}})],1),_c('core.details',{attrs:{\"label\":\"Number of payments\"}},[_c('el-input-number',{attrs:{\"controls-position\":\"right\",\"value\":_vm.billingPeriod.paymentsNumber},model:{value:(_vm.billingPeriod.paymentsNumber),callback:function ($$v) {_vm.$set(_vm.billingPeriod, \"paymentsNumber\", $$v)},expression:\"billingPeriod.paymentsNumber\"}})],1)],1),_c('div',{staticClass:\"group-inputs\"},[_c('core.details',{attrs:{\"label\":\"AWS Fee\"}},[_c('el-input-number',{attrs:{\"controls-position\":\"right\",\"value\":_vm.billingPeriod.awsFee},model:{value:(_vm.billingPeriod.awsFee),callback:function ($$v) {_vm.$set(_vm.billingPeriod, \"awsFee\", $$v)},expression:\"billingPeriod.awsFee\"}})],1),_c('core.details',{attrs:{\"label\":\"Revenue\"}},[_c('el-input-number',{attrs:{\"controls-position\":\"right\",\"precision\":2,\"step\":0.1,\"value\":_vm.billingPeriod.revenue},model:{value:(_vm.billingPeriod.revenue),callback:function ($$v) {_vm.$set(_vm.billingPeriod, \"revenue\", $$v)},expression:\"billingPeriod.revenue\"}})],1)],1),_c('div',{staticClass:\"group inputs\"},[_c('core.details',{attrs:{\"label\":\"Observations\"}},[_c('el-input',{attrs:{\"type\":\"textarea\",\"rows\":3,\"controls-position\":\"right\",\"value\":_vm.billingPeriod.observations},model:{value:(_vm.billingPeriod.observations),callback:function ($$v) {_vm.$set(_vm.billingPeriod, \"observations\", $$v)},expression:\"billingPeriod.observations\"}})],1)],1)],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Payment } from \"@Module/Reports/Models/Payment.model\";\nimport { IReportContractDto, ReportContract } from \"@Module/Reports/Models/ReportContract.model\";\nimport ReportsStore from \"@Module/Reports/Store/Reports.store\";\nimport { DatePickerOptions } from \"element-ui/types/date-picker\";\nimport DayJS from \"dayjs\";\nimport { Component, MapAction, MapGetter, Prop, Watch} from \"types-vue\";\nimport Vue from \"vue\";\nimport Dialog from \"@Core/Components/Dialog/Dialog\";\nimport { Execution } from \"@Core/Models/Execution\";\nimport { Notify } from \"@Core/Utils/Notify\";\nimport { cloneDeep } from \"lodash\";\nimport { BillingPeriod, IBillingPeriodDto } from \"@Module/Reports/Models/BillingPeriod.model\";\nimport dayjs from \"dayjs\";\n\n@Component\nexport default class BillingPeriodDialog extends Vue {\n @MapGetter(ReportsStore.Mapping)\n protected billingPeriodDialogVisible: boolean;\n\n @MapAction(ReportsStore.Mapping)\n protected updateBillingPeriod: (contract: IBillingPeriodDto) => Promise;\n\n @MapAction(ReportsStore.Mapping)\n protected addBillingPeriod: (contract: IBillingPeriodDto) => Promise;\n\n @Prop({ type: Number, default: null })\n protected contractId: number;\n\n @MapAction(ReportsStore.Mapping)\n protected setBillingPeriodDialogVisible: (visible: boolean) => void\n \n protected billingPeriod: BillingPeriod = BillingPeriod.create({\n contractID: null,\n agreement: \"\",\n currency: \"\",\n observations: \"\",\n commercialProduct: \"\",\n payments: []\n })\n protected currencyOptions: string[] = [\"USD\", \"EUR\"]\n protected formType: string = \"create\"\n protected update = Execution.create((billingPeriod: IBillingPeriodDto) => this.updateBillingPeriod(billingPeriod));\n protected create = Execution.create((billingPeriod: IBillingPeriodDto) => this.addBillingPeriod(billingPeriod));\n\n async open(billingPeriod: BillingPeriod) {\n if (billingPeriod !== null){\n this.formType = \"update\"\n if (!!billingPeriod.payments){\n this.billingPeriod.payments = billingPeriod.payments.map(payment => { \n if (payment.date != null){\n payment.date = DayJS(payment.date).locale(\"es\").toDate(); return payment }\n }) \n } \n this.billingPeriod.agreement = billingPeriod.agreement\n this.billingPeriod.awsFee = billingPeriod.awsFee\n this.billingPeriod.commercialProduct = billingPeriod.commercialProduct\n this.billingPeriod.paymentsNumber = billingPeriod.paymentsNumber\n this.billingPeriod.contractID = billingPeriod.contractID\n this.billingPeriod.currency = billingPeriod.currency\n this.billingPeriod.endDate = billingPeriod.endDate\n this.billingPeriod.id = billingPeriod.id\n this.billingPeriod.observations = billingPeriod.observations\n this.billingPeriod.revenue = billingPeriod.revenue\n this.billingPeriod.startDate = billingPeriod.startDate\n this.billingPeriod.totalAmount = billingPeriod.totalAmount\n } else {\n this.billingPeriod.contractID = this.contractId;\n }\n this.setBillingPeriodDialogVisible(true)\n }\n\n protected onClosed() {\n this.billingPeriod = BillingPeriod.create({\n contractID: null,\n agreement: \"\",\n currency: \"\",\n observations: \"\",\n commercialProduct: \"\",\n payments: []\n })\n this.formType = \"create\"\n this.update.reset();\n this.setBillingPeriodDialogVisible(false)\n }\n\n protected addPaymentForm() {\n this.billingPeriod.payments.push(Payment.create({ number: this.billingPeriod.payments.length + 1, billingPeriodId: this.billingPeriod.id}))\n }\n\n protected removePaymentForm() {\n this.billingPeriod.payments.pop()\n }\n\n async onOpen() {\n this.setBillingPeriodDialogVisible(true)\n /*this.billingPeriod.payments.map(payment => { \n if (payment.date != null){\n payment.date = DayJS(payment.date).locale(\"es\").toDate(); return payment }\n }) */\n }\n\n private async updateElement() {\n await this.update.run(this.billingPeriod.toDto());\n if (!this.update.error) {\n Notify.Success({\n title: \"Billing Period updated\",\n message: \"Billing Period successfully updated.\",\n duration: 3000\n });\n (this.$refs.dialog as Dialog).success(true);\n }\n}\n\n\nprivate async createElement() {\n await this.create.run(this.billingPeriod.toDto());\n if (!this.create.error) {\n Notify.Success({\n title: \"Billing Period updated\",\n message: \"Billing Period successfully updated.\",\n duration: 3000\n });\n (this.$refs.dialog as Dialog).success(true);\n }\n}\n\n protected get datePickerOptions(): DatePickerOptions {\n return {\n shortcuts: [{\n text: 'In 1 Week',\n onClick: (picker) => picker.$emit(\"pick\", DayJS().add(1, \"weeks\").toDate())\n }, {\n text: 'In 15 Days',\n onClick: (picker) => picker.$emit(\"pick\", DayJS().add(15, \"days\").toDate())\n }, {\n text: 'In 1 Month',\n onClick: (picker) => picker.$emit(\"pick\", DayJS().add(1, \"month\").toDate())\n }, {\n text: 'In 1 Year',\n onClick: (picker) => picker.$emit(\"pick\", DayJS().add(1, \"year\").toDate())\n }]\n }\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./BillingPeriodDialog.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./BillingPeriodDialog.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./BillingPeriodDialog.vue?vue&type=template&id=4275fca2&scoped=true&\"\nimport script from \"./BillingPeriodDialog.ts?vue&type=script&lang=ts&\"\nexport * from \"./BillingPeriodDialog.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./BillingPeriodDialog.vue?vue&type=style&index=0&id=4275fca2&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4275fca2\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('core.layout',[(_vm.permissions.CanCreateAppUsers || _vm.permissions.CanEditAppUsers)?_c('users.user-editor-dialog',{ref:\"userEditorDialog\"}):_vm._e(),_c('div',{staticClass:\"space-y-16\"},[_c('div',{staticClass:\"flex items-center content-space-between\"},[_c('core.title',{staticClass:\"flex-0\",attrs:{\"title\":\"User Details\",\"allow-navigation\":\"\"},on:{\"back\":_vm.onBackClick}},[_c('core.label',{attrs:{\"icon-size\":\"20px\",\"icon-spacing\":\".4rem\"}},[_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"person-circle-outline\"},slot:\"icon\"}),_c('H1',[_vm._v(\"User Details\")])],1),(!_vm.previousRoute)?_c('span',{attrs:{\"slot\":\"back\"},slot:\"back\"},[_vm._v(\"Users Manager\")]):_vm._e()],1),_c('div',{staticClass:\"flex-1 flex content-end space-x-8\"},[(_vm.permissions.CanEditAppUsers)?_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"primary\",\"icon\":\"el-icon-edit\"},on:{\"click\":function($event){return _vm.$refs.userEditorDialog.open(_vm.user)}}},[_c('span',[_vm._v(\"Edit user\")])]):_vm._e(),(_vm.permissions.CanDeleteAppUsers)?_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"danger\",\"icon\":\"el-icon-delete\",\"loading\":_vm.removeUser.loading},on:{\"click\":function($event){return _vm.onDeleteClick(_vm.user)}}},[(_vm.removeUser.loading)?_c('span',[_vm._v(\"Deleting\")]):_c('span',[_vm._v(\"Delete user\")])]):_vm._e()],1)],1),(_vm.getUser.loading)?_c('core.loading',{attrs:{\"label\":\"Fetching user...\"}}):_vm._e(),(!!_vm.error)?_c('div',[(_vm.error.isFatal)?_c('core.redirect-alert',{attrs:{\"redirect-target\":\"/cxlink/users\",\"title\":\"Fatal error\",\"description\":_vm.error.message}}):_c('core.alert',{attrs:{\"type\":\"error\",\"title\":\"User error\",\"description\":_vm.error.message,\"closable\":false}})],1):(!!_vm.user)?_c('div',{staticClass:\"space-y-24\"},[_c('core.card',{attrs:{\"bordered\":_vm.isPlainUi}},[_c('users.user-summary-banner',{attrs:{\"slot\":\"header\",\"user\":_vm.user},slot:\"header\"}),_c('div',{staticClass:\"flex flex-wrap container-x-16 container-y-16\"},[_c('core.details',{attrs:{\"label\":\"Communications\"}},[_c('core.yes-no-label',{attrs:{\"value\":_vm.user.agreesCommunications,\"yes-label\":\"Accepts communications\",\"no-label\":\"Does not accept communications\"}})],1),(_vm.user.hasPreviews)?_c('core.details',{attrs:{\"label\":\"Preview Access\"}},_vm._l((_vm.user.previewsAccess),function(service){return _c('el-tag',{key:service,attrs:{\"effect\":\"dark\",\"type\":\"info\",\"size\":\"mini\"}},[_c('span',[_vm._v(_vm._s(_vm.getServiceName(service)))])])}),1):_vm._e()],1)],1),_c('el-divider',[_c('el-link',{attrs:{\"size\":\"mini\",\"underline\":false,\"icon\":_vm.allSectionsCollapsed ? 'el-icon-arrow-down' : 'el-icon-arrow-right'},on:{\"click\":_vm.toggleExpandAll}},[(_vm.allSectionsCollapsed)?_c('span',[_vm._v(\"Expand all\")]):_c('span',[_vm._v(\"Collapse all\")])])],1),_c('core.card',{attrs:{\"bordered\":_vm.isPlainUi}},[_c('core.collapse',{class:_vm.isPlainUi ? 'm-x-16' : '',model:{value:(_vm.expandedSections),callback:function ($$v) {_vm.expandedSections=$$v},expression:\"expandedSections\"}},[_c('el-collapse-item',{attrs:{\"name\":\"general\"}},[_c('core.label',{attrs:{\"slot\":\"title\",\"icon-size\":\"16px\"},slot:\"title\"},[_c('H2',[_vm._v(\"General\")]),_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"information-circle\"},slot:\"icon\"})],1),_c('users.user-general-summary',{attrs:{\"user\":_vm.user}})],1),_c('el-collapse-item',{attrs:{\"name\":\"org\"}},[_c('core.label',{attrs:{\"slot\":\"title\"},slot:\"title\"},[_c('H2',[_vm._v(\"Default Organization\")]),_c('i',{staticClass:\"el-icon-office-building\",attrs:{\"slot\":\"icon\"},slot:\"icon\"})],1),(!_vm.user.mainOrgRole)?_c('core.empty',{attrs:{\"description\":\"This user has no default organization\",\"compact\":\"\"}},[_c('i',{staticClass:\"el-icon-office-building\",attrs:{\"slot\":\"icon\"},slot:\"icon\"})]):_c('orgs.org-role-summary',{attrs:{\"org-role\":_vm.user.mainOrgRole}})],1),_c('el-collapse-item',{attrs:{\"name\":\"allowed-orgs\"}},[_c('core.label',{attrs:{\"slot\":\"title\"},slot:\"title\"},[_c('H2',[_vm._v(\"Allowed Organizations\")]),_c('i',{staticClass:\"el-icon-office-building\",attrs:{\"slot\":\"icon\"},slot:\"icon\"})],1),(_vm.user.universalOrgAccess)?_c('div',{staticClass:\"space-y-16\"},[_c('el-tooltip',{attrs:{\"placement\":\"top\",\"effect\":\"light\",\"content\":\"Allows this user to have access to all registered organizations.\",\"disable-transitions\":\"\"}},[_c('el-tag',{attrs:{\"effect\":\"dark\",\"type\":\"info\",\"disable-tranistions\":\"\"}},[_c('span',[_vm._v(\"Universal Organization Access\")])])],1),_c('core.alert',{attrs:{\"type\":\"info\",\"title\":\"Role inheritance\",\"closable\":false,\"plain\":\"\"}},[_c('div',[_vm._v(\"This user has access to all organizations, therefore his access role for every organization will be the one assigned in his default organization.\")]),_c('core.details',{attrs:{\"slot\":\"footer\",\"label\":\"Inherited role\"},slot:\"footer\"},[_c('orgs.org-role-tag',{attrs:{\"role\":_vm.user.mainOrgRole.role}})],1)],1)],1):_c('core.list',{staticClass:\"p-x-6\",attrs:{\"data\":_vm.user.allowedOrgRoles,\"label-key-path\":\"organization.name\",\"description-key-path\":\"organization.uuid\",\"selectable\":false},scopedSlots:_vm._u([{key:\"accessory-right\",fn:function(ref){\nvar item = ref.item;\nreturn _c('div',{staticClass:\"flex items-space items-center space-x-8\"},[(item.organization.isTest)?_c('el-tooltip',{attrs:{\"effect\":\"light\",\"placement\":\"top\",\"enterable\":false,\"content\":\"Test organization\"}},[(item.isTest)?_c('ion-icon',{attrs:{\"name\":\"bug-outline\"}}):_vm._e()],1):_vm._e(),(_vm.defaultOrg.id === item.organization.id)?_c('el-tooltip',{attrs:{\"effect\":\"light\",\"placement\":\"top\",\"enterable\":false,\"content\":\"Your default organization\"}},[_c('i',{staticClass:\"el-icon-office-building org-icon\"})]):_vm._e(),(_vm.currentOrg.id === item.organization.id)?_c('el-tooltip',{attrs:{\"effect\":\"light\",\"placement\":\"top\",\"enterable\":false,\"content\":\"Your current organization\"}},[_c('i',{staticClass:\"el-icon-suitcase-1 org-icon\"})]):_vm._e(),_c('el-tooltip',{attrs:{\"effect\":\"light\",\"content\":\"Access role\",\"placement\":\"top\",\"enterable\":false}},[_c('orgs.org-role-tag',{attrs:{\"role\":item.role}})],1)],1)}}])},[_c('core.empty',{attrs:{\"slot\":\"empty\",\"description\":\"This user has no allowed organizations\",\"compact\":\"\"},slot:\"empty\"},[_c('i',{staticClass:\"el-icon-office-building\",attrs:{\"slot\":\"icon\"},slot:\"icon\"})])],1)],1)],1)],1)],1):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { ConsoleError } from \"@Core/Errors/ConsoleError\";\nimport { ConsoleRoute } from \"@Core/Models/ConsoleRoute\";\nimport { Execution } from \"@Core/Models/Execution\";\nimport NavigationStore from \"@Core/Store/Navigation/Navigation.store\";\nimport { Notify } from \"@Core/Utils/Notify\";\nimport { Organization } from \"@Module/Orgs/Models/Organization.model\";\nimport OrgsStore from \"@Module/Orgs/Store/Orgs.store\";\nimport { AccessRole } from \"@Module/Auth/Models/Roles/AccessRole.model\";\nimport { Permission } from \"@Module/Auth/Models/Roles/Permissions.model\";\nimport { User } from \"@Module/Users/Models/User.model\";\nimport UsersStore from \"@Module/Users/Store/Users.store\";\nimport { ServiceID } from \"@Service/ServiceID\";\nimport AppSettingsStore from \"@Service/Settings/Store/AppSettings/AppSettings.store\";\nimport { Component, MapAction, MapGetter, Watch } from \"types-vue\";\nimport AuthStore from \"@Module/Auth/Store/Auth.store\";\nimport Vue from \"vue\";\n\nconst enum Section {\n General = \"general\",\n MainOrg = \"org\",\n AllowedOrgs = \"allowed-orgs\"\n}\n\n@Component\nexport default class UserDetails extends Vue {\n\n @MapGetter(AppSettingsStore.Mapping)\n protected isPlainUi: boolean;\n\n @MapGetter(NavigationStore.Mapping)\n protected previousRoute: ConsoleRoute;\n\n @MapGetter(AuthStore.Mapping)\n protected accessRole: AccessRole;\n\n @MapGetter(UsersStore.Mapping)\n protected users: User[];\n\n @MapGetter(OrgsStore.Mapping)\n protected defaultOrg: Organization;\n\n @MapGetter(OrgsStore.Mapping)\n protected currentOrg: Organization;\n\n @MapAction(UsersStore.Mapping)\n protected fetchUser: (username: string) => Promise;\n\n @MapAction(UsersStore.Mapping)\n protected deleteUser: (user: User) => Promise;\n\n protected error: ConsoleError = null;\n\n protected allSections: Section[] = [ Section.General, Section.MainOrg, Section.AllowedOrgs];\n protected expandedSections: Section[] = this.allSections;\n\n protected getUser = Execution.create((username: string) => this.fetchUser(username));\n protected removeUser = Execution.create((user: User) => this.deleteUser(user));\n\n @Watch(\"$route.params.username\", { immediate: true })\n protected async onUsernameParamChange() {\n this.error = null;\n this.getUser.reset();\n await this.$nextTick();\n\n const username = this.$route.params.username;\n const fetchedUser = this.users.some(user => user.username === username);\n if (!fetchedUser) {\n await this.getUser.run(username);\n if (!!this.getUser.error) {\n const errorMsg = `User with username ${this.$route.params.id} was not found.`;\n this.error = new ConsoleError(errorMsg, { fatal: true, meta: { username } });\n return;\n }\n }\n }\n\n protected get user(): User {\n const username = this.$route.params.username;\n return this.users.find(u => u.username === username);\n }\n\n protected get allSectionsCollapsed(): boolean {\n return this.expandedSections.length === 0;\n }\n\n protected async onDeleteClick(user: User) {\n try {\n await this.$confirm(\n \"Are you sure you want to delete this user? This action can not be undone.\", \n \"Delete confirmation\", {\n confirmButtonText: \"Delete user\",\n cancelButtonText: \"Cancel\",\n type: \"warning\"\n });\n await this.removeUser.run(user);\n if (!!this.removeUser.error) {\n Notify.Error({\n title: \"User deletion error\",\n message: this.removeUser.error.message,\n duration: 3000\n });\n } else {\n Notify.Success({\n title: \"User deleted\",\n message: \"The user was successfully deleted.\",\n duration: 3000\n });\n }\n } catch {}\n }\n\n protected toggleExpandAll() {\n this.expandedSections = this.allSectionsCollapsed ? this.allSections : [];\n }\n\n protected onBackClick() {\n if (!!this.previousRoute) {\n this.$router.back();\n } else {\n this.$router.replace(\"/cxlink/users\");\n }\n }\n \n protected getServiceName(service: ServiceID): string {\n return ServiceID.nameOf(service);\n }\n\n protected get permissions() {\n return {\n CanCreateAppUsers: this.accessRole.can(ServiceID.Console, Permission.CreateAppUsers),\n CanEditAppUsers: this.accessRole.can(ServiceID.Console, Permission.EditAppUsers),\n CanDeleteAppUsers: this.accessRole.can(ServiceID.Console, Permission.DeleteAppUsers)\n }\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./UserDetails.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./UserDetails.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./UserDetails.vue?vue&type=template&id=0b0a8abc&\"\nimport script from \"./UserDetails.ts?vue&type=script&lang=ts&\"\nexport * from \"./UserDetails.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"list-item flex-y\",class:_vm.listItemClass,style:(_vm.listItemStyle),on:{\"click\":_vm.onClick}},[_vm._t(\"default\",[_c('div',{staticClass:\"list-item-default flex w-full space-x-8\"},[(_vm.loading)?_c('i',{staticClass:\"el-icon-loading\"}):_vm._e(),_c('div',{staticClass:\"labels-wrap flex-1 flex-y\"},[_c('span',{staticClass:\"title-label w-full\"},[_vm._v(_vm._s(_vm.titleLabel))]),(!!_vm.descriptionLabel)?_c('span',{staticClass:\"description-label\"},[_vm._v(_vm._s(_vm.descriptionLabel))]):_vm._e()]),_vm._t(\"accessory-right\",null,{\"item\":_vm.item})],2)],{\"item\":_vm.item}),(_vm.separated && !_vm.selectable)?_c('el-divider',{staticClass:\"list-item-separator\"}):_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Map } from \"@Core/Models/Map\";\nimport { Utils } from \"@Core/Utils/Utils\";\nimport { Component, Prop } from \"types-vue\";\nimport Vue from \"vue\";\n\n@Component\nexport default class ListItem extends Vue {\n\n @Prop({ required: true })\n protected item: object;\n\n @Prop({ type: Boolean, default: false })\n protected loading: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected compact: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected disabled: boolean;\n\n @Prop({ type: Boolean, default: true })\n protected selectable: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected separated: boolean;\n\n @Prop({ type: String, default: \"label\" })\n protected labelKeyPath: string;\n\n @Prop({ type: String, default: \"description\" })\n protected descriptionKeyPath: string;\n\n @Prop({ type: [String, Number], default: \"6px\" })\n protected spacing: string | number;\n\n protected get listItemClass(): Map {\n return {\n \"is-loading\": this.loading,\n \"is-disabled\": this.disabled,\n \"is-selectable\": this.selectable,\n \"is-compact\": this.compact\n }\n }\n\n protected get listItemStyle() {\n const vSpacing = Utils.isNumber(this.spacing) ? `${this.spacing}px` : this.spacing;\n return {\n \"padding-top\": `${vSpacing}`,\n \"padding-bottom\": `${vSpacing}`\n }\n }\n\n protected get titleLabel(): string {\n return Utils.getNestedProperty(this.item, this.labelKeyPath);\n }\n\n protected get descriptionLabel(): string | null {\n return Utils.getNestedProperty(this.item, this.descriptionKeyPath) || null;\n }\n\n protected onClick() {\n if (this.disabled || !this.selectable || this.loading) { return; }\n this.$emit(\"select\", this.item);\n }\n\n}","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./ListItem.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./ListItem.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ListItem.vue?vue&type=template&id=2bdfd3b1&scoped=true&\"\nimport script from \"./ListItem.ts?vue&type=script&lang=ts&\"\nexport * from \"./ListItem.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./ListItem.vue?vue&type=style&index=0&id=2bdfd3b1&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2bdfd3b1\",\n null\n \n)\n\nexport default component.exports","import { Execution } from \"@Core/Models/Execution\";\nimport { ElNotificationOptions } from \"element-ui/types/notification\";\nimport { Component, MapAction, Prop, Vue } from \"types-vue\";\nimport { Notification } from \"../Models/Notification.model\";\nimport NotificationsInboxStore from \"../Store/NotificationsInbox.store\";\nimport NotificationsOutboxStore from \"../Store/NotificationsOutbox.store\";\n\nexport interface UiSuccessNotificationMap {\n Accept: ElNotificationOptions;\n Decline: ElNotificationOptions;\n Cancel?: ElNotificationOptions;\n}\n\nexport interface INotificationContent {\n getSuccessNotifConfig(): UiSuccessNotificationMap;\n}\n\n@Component\nexport default class NotificationContentMixin extends Vue {\n\n @Prop({ type: Object, required: true })\n protected notification: Notification;\n\n @Prop({ type: Boolean, default: false })\n protected hideTypeLabel: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected disabled: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected isInbox: boolean;\n\n @MapAction(NotificationsInboxStore.Mapping)\n protected acceptNotification: (notification: Notification) => Promise;\n\n @MapAction(NotificationsInboxStore.Mapping)\n protected declineNotification: (notification: Notification) => Promise;\n\n @MapAction(NotificationsOutboxStore.Mapping)\n protected cancelNotification: (notification: Notification) => Promise;\n\n protected cancelExecution = Execution.create(() => this.cancelNotification(this.notification)).throws();\n protected acceptExecution = Execution.create(() => this.acceptNotification(this.notification)).throws();\n protected declineExecution = Execution.create(() => this.declineNotification(this.notification)).throws();\n\n public get canCancel(): boolean { return true; }\n public get canResend(): boolean { return true; }\n public get canAccept(): boolean { return true; }\n public get canDecline(): boolean { return true; }\n public get isConfiguringResponse(): boolean { return false; }\n\n public async cancel(): Promise {\n await this.cancelExecution.run();\n return true;\n }\n\n public async onCanceled(): Promise {}\n\n public async accept(): Promise {\n await this.acceptExecution.run();\n return true;\n }\n\n public async onAccepted(): Promise {}\n\n public async decline(): Promise { \n await this.declineExecution.run();\n return true;\n }\n\n public async onDeclined(): Promise {}\n\n public async resend(): Promise {}\n\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('core.layout',{staticClass:\"account-settings\",class:_vm.pageClass},[_c('auth.change-pwd-dialog',{ref:\"changePwdDialog\"}),(_vm.permissions.CanListOrgInvitations)?_c('notifications.org-invitations-outbox-dialog',{ref:\"invitationsDialog\"}):_vm._e(),(_vm.permissions.CanCreateChildOrg || _vm.permissions.CanEditOrg)?_c('orgs.org-editor-dialog',{ref:\"orgEditorDialog\"}):_vm._e(),_c('div',{staticClass:\"space-y-16\"},[_c('core.title',{attrs:{\"allow-navigation\":!!_vm.previousRoute},on:{\"back\":function($event){return _vm.$router.back()}}},[_c('core.label',{attrs:{\"value\":\"Account Settings\",\"icon-spacing\":\".5rem\"}},[_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"person-circle\"},slot:\"icon\"})],1)],1),(!!_vm.sessionUser)?_c('div',{staticClass:\"space-y-24\"},[_c('core.card',{attrs:{\"bordered\":_vm.isPlainUi}},[_c('users.user-summary-banner',{attrs:{\"slot\":_vm.sessionUser.hasPreviews ? 'header' : null,\"user\":_vm.sessionUser},slot:_vm.sessionUser.hasPreviews ? 'header' : null}),(_vm.sessionUser.hasPreviews)?_c('core.details',{attrs:{\"label\":\"Preview Access\"}},[_c('div',{staticClass:\"container-x-8 container-y-8\"},_vm._l((_vm.sessionUser.previewsAccess),function(service){return _c('el-tag',{key:service,attrs:{\"effect\":\"dark\",\"type\":\"info\",\"size\":\"mini\"}},[_c('span',[_vm._v(_vm._s(_vm.getServiceName(service)))])])}),1)]):_vm._e()],1),_c('core.card',[_c('core.label',{attrs:{\"slot\":\"header\",\"icon-size\":\"16px\",\"icon-spacing\":\".5rem\"},slot:\"header\"},[_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"shield-checkmark-outline\"},slot:\"icon\"}),_c('H2',[_vm._v(\"Security\")])],1),_c('div',{staticClass:\"flex p-x-8 flex-wrap container-y-16 container-x-24\"},[_c('core.details',{attrs:{\"label\":\"Session Age\"}},[_c('core.date-label',{attrs:{\"date\":_vm.sessionToken.age}})],1),_c('core.details',{attrs:{\"label\":\"Session Expiration\"}},[_c('core.date-label',{attrs:{\"date\":_vm.sessionToken.expiration}})],1),_c('core.details',{attrs:{\"label\":\"Session Duration\"}},[_c('span',[_vm._v(_vm._s(_vm._f(\"capitalize\")(_vm.sessionToken.duration))+\" long\")])])],1),_c('el-divider',{staticClass:\"m-y-16\"}),_c('settings.config-item',{attrs:{\"title\":\"Account Password\",\"description\":\"Change your access password.\"}},[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){return _vm.$refs.changePwdDialog.open()}}},[_vm._v(\"Change password\")])],1)],1),_c('core.card',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.leaveCurrentOrg.loading),expression:\"leaveCurrentOrg.loading\"}],attrs:{\"element-loading-text\":!!_vm.currentOrgRole ? (\"Leaving \" + (_vm.currentOrgRole.organization.name) + \" organization...\") : 'Leaving current organization...'}},[_c('core.label',{attrs:{\"slot\":\"header\",\"icon-size\":\"16px\",\"icon-spacing\":\".5rem\"},slot:\"header\"},[_c('i',{staticClass:\"el-icon-office-building\",attrs:{\"slot\":\"icon\"},slot:\"icon\"}),_c('H2',[_vm._v(\"Organizations\")])],1),(!_vm.currentOrgRole)?_c('orgs.no-org-alert',{staticClass:\"mt-4\",attrs:{\"show-icon\":false,\"show-setup-button\":false,\"compact\":\"\",\"plain\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar goToOrgSetup = ref.goToOrgSetup;\nreturn _c('div',{staticClass:\"w-full flex space-x-16 items-center content-space-between\"},[_c('H3',[_vm._v(\"Currently you do not belong to any organization.\")]),_c('el-button',{attrs:{\"type\":\"text\",\"icon\":\"el-icon-office-building\",\"size\":\"mini\"},on:{\"click\":goToOrgSetup}},[_c('core.label',{attrs:{\"type\":\"inherit\",\"icon-position\":\"end\",\"icon-spacing\":\"2px\"}},[_c('i',{staticClass:\"el-icon-arrow-right\",attrs:{\"slot\":\"icon\"},slot:\"icon\"}),_c('span',[_vm._v(\"Setup your organization\")])])],1)],1)}}],null,false,230572009)}):_vm._e(),(!!_vm.currentOrgRole)?_c('div',{staticClass:\"space-y-16\"},[_c('div',{staticClass:\"orgs-summary flex p-x-8 flex-wrap container-y-16 container-x-16\"},[(!!_vm.currentOrgRole)?_c('core.card',{staticClass:\"flex-1 org-card\",attrs:{\"no-padding\":!_vm.canSwitchOrg,\"plain\":!_vm.canSwitchOrg,\"bordered\":_vm.canSwitchOrg}},[_c('core.details',{attrs:{\"spacing\":\"6px\"}},[_c('div',{staticClass:\"flex items-center\",staticStyle:{\"height\":\"21px\"},attrs:{\"slot\":\"label\"},slot:\"label\"},[(_vm.canSwitchOrg)?_c('H3',{staticClass:\"flex-1\"},[_vm._v(\"Current Organization Details\")]):_c('H3',{staticClass:\"flex-1\"},[_vm._v(\"Organization Details\")]),(_vm.permissions.CanEditOrg)?_c('el-button',{staticStyle:{\"margin-right\":\"-8px\"},attrs:{\"type\":\"text\",\"size\":\"mini\",\"icon\":\"el-icon-edit\"},on:{\"click\":function($event){return _vm.openOrgEditor(_vm.currentOrgRole.organization)}}}):_vm._e()],1),_c('div',{staticClass:\"space-y-8\"},[_c('orgs.org-role-summary',{staticClass:\"items-self-start\",attrs:{\"api-key\":_vm.currentOrgApiKey,\"org-role\":_vm.currentOrgRole}}),(!_vm.sessionUser.universalOrgAccess)?_c('el-link',{staticClass:\"w-full\",attrs:{\"underline\":false,\"type\":\"danger\"},on:{\"click\":_vm.leaveCurrentOrganization}},[_c('core.label',{attrs:{\"icon-size\":\"16px\",\"type\":\"inherit\"}},[(_vm.leaveCurrentOrg.loading)?_c('i',{staticClass:\"el-icon-loading\",attrs:{\"slot\":\"icon\"},slot:\"icon\"}):_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"log-out-outline\"},slot:\"icon\"}),(_vm.leaveCurrentOrg.loading)?_c('span',[_vm._v(\"Leaving \"+_vm._s(_vm.currentOrgRole.organization.name)+\" organization...\")]):_c('span',[_vm._v(\"Leave \"+_vm._s(_vm.currentOrgRole.organization.name)+\" organization\")])],1)],1):_vm._e()],1)])],1):_vm._e(),(_vm.canSwitchOrg && !!_vm.defaultOrgRole)?_c('core.card',{staticClass:\"flex-1 org-card\",attrs:{\"bordered\":\"\"}},[_c('core.details',{attrs:{\"spacing\":\"6px\"}},[_c('core.label',{attrs:{\"slot\":\"label\",\"icon-position\":\"end\",\"icon-size\":\"15px\",\"icon-spacing\":\"5px\",\"type\":\"inherit\"},slot:\"label\"},[_c('H3',[_vm._v(\"Default Organization Details\")]),(_vm.canSwitchOrg)?_c('el-tooltip',{attrs:{\"slot\":\"icon\",\"effect\":\"light\",\"placement\":\"top\",\"transition\":\"el-zoom-in-bottom\",\"enterable\":false,\"content\":\"Your default organization will be the one you automatically access once you log in to CxLink and do not have an active organization change.\"},slot:\"icon\"},[_c('ion-icon',{attrs:{\"name\":\"information-circle-outline\"}})],1):_vm._e()],1),_c('orgs.org-role-summary',{attrs:{\"org-role\":_vm.defaultOrgRole}})],1)],1):_vm._e(),(_vm.canSwitchOrg)?_c('core.card',{staticClass:\"flex-none\",attrs:{\"bordered\":\"\"}},[_c('core.details',[_c('H3',{attrs:{\"slot\":\"label\"},slot:\"label\"},[_vm._v(\"Organization Access\")]),(_vm.sessionUser.universalOrgAccess)?_c('span',[_vm._v(\"All organizations\")]):_c('span',[_vm._v(_vm._s(_vm._f(\"pluralize\")((_vm.orgAccessCount + \" organization\"),_vm.orgAccessCount)))])],1)],1):_vm._e()],1),(_vm.canSwitchOrg)?_c('div',[_c('el-divider',{staticClass:\"m-y-16\"}),_c('settings.config-item',{attrs:{\"description\":\"Configure your default organization.\"}},[_c('core.label',{attrs:{\"slot\":\"title\",\"icon-position\":\"end\",\"icon-size\":\"15px\",\"icon-spacing\":\"5px\",\"type\":\"inherit\"},slot:\"title\"},[_c('H3',[_vm._v(\"Default Organization\")]),(_vm.canSwitchOrg)?_c('el-tooltip',{attrs:{\"slot\":\"icon\",\"effect\":\"light\",\"placement\":\"top\",\"transition\":\"el-zoom-in-bottom\",\"enterable\":false,\"content\":\"Your default organization will be the one you automatically access once you log in to CxLink and do not have an active organization change.\"},slot:\"icon\"},[_c('ion-icon',{attrs:{\"name\":\"information-circle-outline\"}})],1):_vm._e()],1),_c('span',{staticClass:\"default-org-selector flex space-x-6\"},[_c('orgs.org-selector',{ref:\"defaultOrgSelector\",staticClass:\"flex-1\",attrs:{\"loading\":_vm.setAsDefaultOrg.loading,\"value\":_vm.defaultOrgRole.organization,\"show-role\":\"\",\"default-expand-all\":\"\",\"compact\":\"\"},on:{\"change\":_vm.onDefaultOrgChange}}),(_vm.currentOrgRole.organization.id !== _vm.defaultOrgRole.organization.id)?_c('el-tooltip',{attrs:{\"effect\":\"light\",\"content\":\"Switch back to default organization\",\"open-delay\":500,\"enterable\":false,\"placement\":\"top-end\",\"transition\":\"el-zoom-in-bottom\"}},[_c('el-button',{attrs:{\"type\":\"text\",\"icon\":\"el-icon-top-right\"},on:{\"click\":function($event){return _vm.switchOrgRole(_vm.defaultOrgRole)}}})],1):_vm._e()],1)],1)],1):_vm._e(),(!!_vm.currentOrgRoleHierarchy && _vm.permissions.CanCreateChildOrg)?_c('div',[_c('el-divider',{staticClass:\"m-y-16\"}),_c('settings.config-item',{attrs:{\"direction\":\"vertical\",\"description\":\"Manage your current organization structure.\"}},[_c('H3',{attrs:{\"slot\":\"title\"},slot:\"title\"},[_vm._v(\"Current Organization Structure\")]),_c('orgs.org-role-tree',{staticClass:\"org-structure-tree mt-4\",attrs:{\"data\":[_vm.currentOrgRoleHierarchy],\"default-expand\":[_vm.currentOrgRoleHierarchy],\"selectable\":false,\"child-inset\":\"\",\"include-no-access-roles\":\"\",\"plain\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar data = ref.data;\nreturn (_vm.currentOrgRole.organization.id === data.orgRole.organization.id)?_c('el-dropdown',{key:data.id,attrs:{\"trigger\":\"click\"},on:{\"command\":function (command) { return command(); }}},[_c('el-button',{staticStyle:{\"margin-left\":\"1px\"},attrs:{\"size\":\"mini\",\"icon\":\"el-icon-more\"}}),_c('el-dropdown-menu',{attrs:{\"slot\":\"dropdown\"},slot:\"dropdown\"},[_c('el-dropdown-item',{attrs:{\"icon\":\"el-icon-plus\",\"command\":function () { return _vm.openOrgEditor(undefined, _vm.currentOrgRole.organization); }}},[_c('span',[_vm._v(\"Add child organization\")])]),(_vm.permissions.CanEditOrg)?_c('el-dropdown-item',{attrs:{\"icon\":\"el-icon-edit\",\"command\":function () { return _vm.openOrgEditor(_vm.currentOrgRole.organization); }}},[_c('span',[_vm._v(\"Edit organization\")])]):_vm._e(),_c('el-dropdown-item',{staticClass:\"text-danger text-medium\",attrs:{\"disabled\":_vm.leaveCurrentOrg.loading,\"command\":function () { return _vm.leaveCurrentOrganization(); }}},[_c('core.label',{attrs:{\"icon-size\":\"16px\",\"type\":\"inherit\"}},[(_vm.leaveCurrentOrg.loading)?_c('i',{staticClass:\"el-icon-loading\"}):_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"log-out-outline\"},slot:\"icon\"}),(_vm.leaveCurrentOrg.loading)?_c('span',[_vm._v(\"Leaving \"+_vm._s(_vm.currentOrgRole.organization.name)+\" organization...\")]):_c('span',[_vm._v(\"Leave \"+_vm._s(_vm.currentOrgRole.organization.name)+\" organization\")])],1)],1)],1)],1):(_vm.canSwitchToOrgRole(data.orgRole))?_c('el-tooltip',{attrs:{\"effect\":\"light\",\"content\":\"Switch to organization\",\"open-delay\":500,\"enterable\":false,\"placement\":\"top-end\",\"transition\":\"el-zoom-in-bottom\"}},[_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"text\",\"icon\":\"el-icon-top-right\"},on:{\"click\":function($event){return _vm.switchOrgRole(data.orgRole)}}})],1):_vm._e()}}],null,true)})],1)],1):_vm._e()]):_vm._e(),(_vm.orgSuggestions.length > 0)?_c('div',[_c('el-divider',{staticClass:\"m-y-16\"}),_c('settings.config-item',{attrs:{\"direction\":\"vertical\",\"description\":\"Below you will find a list of organizations that we believe may be relevant to you.\"}},[_c('core.label',{attrs:{\"slot\":\"title\"},slot:\"title\"},[_c('H3',[_vm._v(\"Organization Suggestions\")]),(_vm.getOrgSuggestions.loading)?_c('i',{staticClass:\"el-icon-loading\",attrs:{\"slot\":\"icon\"},slot:\"icon\"}):_vm._e()],1),_c('div',{staticClass:\"space-y-16 pt-4\"},[_c('core.alert',{attrs:{\"type\":\"info\",\"closable\":false,\"plain\":\"\"}},[_c('div',[_vm._v(\"When requesting access, a notification will be sent to the selected organization. This notification must be reviewed and approved.\")])]),_c('orgs.org-suggestion-list',{attrs:{\"suggestions\":_vm.orgSuggestions,\"loading\":_vm.getOrgSuggestions.loading || _vm.getInbox.loading,\"request-notifications\":_vm.myOrgRequestsOutbox,\"invitation-notifications\":_vm.orgInvitationsInbox}})],1)],1)],1):_vm._e(),(_vm.showListAccessRequestInbox || _vm.showInvitationsInbox)?_c('div',[_c('div',{staticClass:\"flex flex-wrap container-x-16 container-y-4\"},[(_vm.showListAccessRequestInbox)?_c('div',{staticClass:\"flex-1\"},[_c('el-divider',{staticClass:\"m-y-16\"}),_c('settings.config-item',{attrs:{\"direction\":\"vertical\",\"description\":\"Accept or decline organization access requests.\"}},[_c('core.label',{attrs:{\"slot\":\"title\"},slot:\"title\"},[_c('H3',[_vm._v(\"Access Requests Inbox\")]),(_vm.getInbox.loading)?_c('i',{staticClass:\"el-icon-loading\",attrs:{\"slot\":\"icon\"},slot:\"icon\"}):_vm._e()],1),_c('notifications.notifications-list',{staticClass:\"mt-4\",attrs:{\"notifications\":_vm.orgAccessRequestInbox,\"hide-type-label\":\"\",\"plain\":\"\"}})],1)],1):_vm._e(),(_vm.showInvitationsInbox)?_c('div',{staticClass:\"flex-1\"},[_c('el-divider',{staticClass:\"m-y-16\"}),_c('settings.config-item',{attrs:{\"direction\":\"vertical\",\"description\":\"Accept or decline organization invitations.\"}},[_c('core.label',{attrs:{\"slot\":\"title\"},slot:\"title\"},[_c('H3',[_vm._v(\"Invitations Inbox\")]),(_vm.getInbox.loading)?_c('i',{staticClass:\"el-icon-loading\",attrs:{\"slot\":\"icon\"},slot:\"icon\"}):_vm._e()],1),_c('notifications.notifications-list',{staticClass:\"mt-4\",attrs:{\"notifications\":_vm.orgInvitationsInbox,\"hide-type-label\":\"\",\"plain\":\"\"}})],1)],1):_vm._e()])]):_vm._e(),(_vm.permissions.CanInviteOrgMembers)?_c('div',[_c('el-divider',{staticClass:\"m-y-16\"}),_c('settings.config-item',{attrs:{\"direction\":\"vertical\",\"description\":\"Invite new members to your organization.\"}},[_c('H3',{attrs:{\"slot\":\"title\"},slot:\"title\"},[_vm._v(\"Invite members\")]),_c('orgs.invite-member-form',{staticClass:\"m-y-4\",attrs:{\"roles\":_vm.roles}})],1)],1):_vm._e(),(_vm.permissions.CanListOrgInvitations)?_c('div',[_c('el-divider',{staticClass:\"m-y-16\"}),_c('settings.config-item',{attrs:{\"description\":\"Manage the organization's pending invitations.\"}},[_c('H3',{attrs:{\"slot\":\"title\"},slot:\"title\"},[_vm._v(\"Pending Invitations\")]),_c('el-button',{attrs:{\"icon\":\"el-icon-postcard\",\"type\":\"primary\"},on:{\"click\":function($event){return _vm.$refs.invitationsDialog.open()}}},[_c('span',[_vm._v(\"Pending invitations\")])])],1)],1):_vm._e(),(!!_vm.currentOrgRole && _vm.permissions.CanListOrgUsers)?_c('div',[_c('el-divider',{staticClass:\"m-y-16\"}),_c('settings.config-item',{attrs:{\"direction\":\"vertical\",\"description\":\"Members in your organization.\"}},[_c('core.label',{attrs:{\"slot\":\"title\",\"icon-size\":\"13px\",\"icon-spacing\":\"4px\"},slot:\"title\"},[(_vm.getOrgUsers.loading && !_vm.firstOrgUsersLoad)?_c('i',{staticClass:\"el-icon-loading\",attrs:{\"slot\":\"icon\"},slot:\"icon\"}):_vm._e(),_c('H3',[_vm._v(\"Organization members\")])],1),(_vm.firstOrgUsersLoad)?_c('core.loading',{attrs:{\"height\":\"7.2rem\",\"label\":\"Loading organization members...\"}}):(!!_vm.getOrgUsers.error)?_c('core.alert',{staticClass:\"mt-4\",attrs:{\"type\":\"error\",\"title\":\"Organization users error\",\"description\":_vm.getOrgUsers.error.message,\"closable\":false,\"plain\":\"\"}},[_c('el-button',{attrs:{\"slot\":\"footer\",\"icon\":\"el-icon-refresh-right\",\"type\":\"default\",\"size\":\"mini\"},on:{\"click\":_vm.getOrgUsers.run},slot:\"footer\"},[_vm._v(\"Try again\")])],1):_c('users.users-role-manager',{attrs:{\"users\":_vm.organizationUsers}})],1)],1):_vm._e()],1)],1):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { OrgAccessRequestNotification } from '@Module/Notifications/Models/OrgAccessRequestNotification.model';\nimport { OrgInvitationNotification } from '@Module/Notifications/Models/OrgInvitationNotification.model';\nimport NotificationsOutboxStore from '@Module/Notifications/Store/NotificationsOutbox.store';\nimport NotificationsInboxStore from '@Module/Notifications/Store/NotificationsInbox.store';\nimport { OrganizationRole } from '@Module/Orgs/Models/Roles/OrganizationRole.model';\nimport { Notification, NotificationType } from '@Module/Notifications/Models/Notification.model';\nimport OrgEditorDialog from '@Module/Orgs/Components/OrgEditorDialog/OrgEditorDialog';\nimport { AccessRole, Role } from '@Module/Auth/Models/Roles/AccessRole.model';\nimport { Component, MapAction, MapGetter, mixins, Watch } from 'types-vue';\nimport OrgSelector from '@Module/Orgs/Components/OrgSelector/OrgSelector';\nimport { Permission } from '@Module/Auth/Models/Roles/Permissions.model';\nimport AppSettingsStore from '../../Store/AppSettings/AppSettings.store';\nimport { Organization } from '@Module/Orgs/Models/Organization.model';\nimport { SessionToken } from '@Module/Auth/Models/SessionToken.model';\nimport NavigationStore from '@Core/Store/Navigation/Navigation.store';\nimport OrgSwitchMixin from '@Module/Orgs/Mixins/OrgSwitch.mixin';\nimport AppRestartMixin from '@Core/Mixins/AppRestart.mixin';\nimport { ConsoleRoute } from '@Core/Models/ConsoleRoute';\nimport UsersStore from '@Module/Users/Store/Users.store';\nimport { User } from '@Module/Users/Models/User.model';\nimport OrgsStore from '@Module/Orgs/Store/Orgs.store';\nimport AuthStore from '@Module/Auth/Store/Auth.store';\nimport UsersApi from '@Module/Users/API/Users.api';\nimport { Execution } from '@Core/Models/Execution';\nimport { ServiceID } from '@Service/ServiceID';\nimport { Notify } from '@Core/Utils/Notify';\nimport { Utils } from '@Core/Utils/Utils';\nimport { Map } from '@Core/Models/Map';\nimport OrgsApi from '@Module/Orgs/API/Orgs.api';\n\n@Component\nexport default class AccountSettings extends mixins(OrgSwitchMixin, AppRestartMixin) {\n\n @MapGetter(NavigationStore.Mapping)\n protected previousRoute: ConsoleRoute;\n\n @MapGetter(AppSettingsStore.Mapping)\n protected isPlainUi: boolean;\n\n @MapGetter(AuthStore.Mapping)\n protected sessionToken: SessionToken;\n\n @MapGetter(UsersStore.Mapping)\n protected sessionUser: User;\n \n @MapGetter(UsersStore.Mapping)\n protected orgUsers: User[];\n\n @MapGetter(AuthStore.Mapping)\n protected accessRole: AccessRole;\n\n @MapGetter(OrgsStore.Mapping)\n protected defaultOrgRole: OrganizationRole;\n\n @MapGetter(OrgsStore.Mapping)\n protected currentOrgRole: OrganizationRole;\n\n @MapGetter(OrgsStore.Mapping)\n protected canSwitchOrg: boolean;\n \n @MapGetter(AuthStore.Mapping)\n protected roles: Role[];\n\n @MapGetter(OrgsStore.Mapping)\n protected currentOrgRoleHierarchy: OrganizationRole[];\n\n @MapGetter(OrgsStore.Mapping)\n protected orgSuggestions: Organization[];\n\n @MapGetter(NotificationsOutboxStore.Mapping)\n protected myOrgRequestsOutbox: OrgAccessRequestNotification[];\n\n @MapGetter(NotificationsInboxStore.Mapping)\n protected orgAccessRequestInbox: OrgAccessRequestNotification[];\n \n @MapGetter(NotificationsInboxStore.Mapping)\n protected orgInvitationsInbox: OrgInvitationNotification[];\n\n @MapAction(OrgsStore.Mapping)\n protected setDefaultOrganization: (org: Organization) => Promise;\n\n @MapAction(NotificationsOutboxStore.Mapping)\n protected fetchMyOutbox: (type: NotificationType) => Promise;\n\n @MapAction(OrgsStore.Mapping)\n protected fetchOrgSuggestions: () => Promise;\n\n @MapAction(NotificationsInboxStore.Mapping)\n protected fetchInbox: () => Promise;\n\n @MapAction(UsersStore.Mapping)\n protected fetchOrgUsers: () => Promise;\n\n @MapAction(UsersStore.Mapping)\n protected removeUserFromCurrentOrg: (user: User) => Promise;\n\n protected remove = Execution.create((user: User) => this.removeUserFromCurrentOrg(user))\n protected currentOrgApiKey = \"\";\n protected leaveCurrentOrg = Execution.create(async (user: User, org: Organization) => UsersApi.removeUserFromOrg(user, org));\n protected setAsDefaultOrg = Execution.create((org: Organization) => this.setDefaultOrganization(org));\n protected getOrgUsers = Execution.create(async () => this.fetchOrgUsers());\n protected getOrgAPIKey = Execution.create(async (org: Organization) => OrgsApi.fetchOrgAPIKey(org));\n protected getInbox = Execution.create(async () => {\n try { return this.fetchInbox(); } catch {}\n });\n protected getOrgSuggestions = Execution.create(async () => {\n try {\n return Promise.all([\n this.fetchOrgSuggestions(),\n this.fetchMyOutbox(NotificationType.OrgAccessRequest)\n ]);\n } catch {}\n });\n\n @Watch(\"permissions.CanListOrgUsers\", { immediate: true })\n protected async onCanListOrgUsers() {\n if (!this.permissions.CanListOrgUsers || !this.currentOrgRole) { return }\n this.getOrgUsers.run();\n }\n\n @Watch(\"currentOrgRole\", { immediate: true })\n protected async onCurrentOrgRole() {\n if (!this.currentOrgRole) { return }\n this.getApiKey();\n }\n\n protected async mounted() {\n await this.getInbox.run();\n await this.getOrgSuggestions.run();\n this.getApiKey();\n }\n\n\n\n protected async getApiKey() {\n const orgAPIKey = await this.getOrgAPIKey.run(this.currentOrgRole.organization);\n if (!!orgAPIKey) {\n this.currentOrgApiKey = orgAPIKey;\n } else {\n Notify.Error({\n title: \"API key error\",\n message: `An error occurred while retrieving organization API key.`\n });\n }\n }\n\n protected get showListAccessRequestInbox(): boolean {\n return this.permissions.CanAcceptOrgAccessRequest && this.orgAccessRequestInbox.length > 0;\n }\n\n protected get showInvitationsInbox(): boolean {\n return this.orgInvitationsInbox.length > 0;\n }\n\n protected get firstOrgUsersLoad(): boolean {\n return this.orgUsers.length === 0 \n && this.getOrgUsers.loading;\n }\n\n protected get organizationUsers(): User[] {\n return this.orgUsers\n .filter(user => user.username !== this.sessionUser.username);\n }\n\n protected openOrgEditor(org?: Organization, parent?: Organization) {\n const targetOrg = org || Organization.create({ parent_id: parent?.id });\n (this.$refs.orgEditorDialog as OrgEditorDialog).open(targetOrg);\n }\n\n protected get orgAccessCount(): number {\n return this.orgRoles.filter(orgRole => !orgRole.role.isNoAccess).length;\n }\n\n protected async onDefaultOrgChange(org: Organization) {\n try {\n const title = `Default organization confirmation`;\n const message = `Are you sure you want to set ${org.name} as your default organization?`;\n await this.$confirm(message, title, {\n type: \"warning\",\n cancelButtonText: \"Cancel\",\n confirmButtonText: \"Set as default\"\n });\n (this.$refs.defaultOrgSelector as OrgSelector)?.blur();\n await this.setAsDefaultOrg.run(org);\n if (!!this.setAsDefaultOrg.error) {\n Notify.Error({\n title: \"Default organization error\",\n message: `An error occurred setting ${org.name} as your default organization.`\n });\n } else {\n if (this.currentOrgRole.organization.id !== this.defaultOrgRole.organization.id) {\n this.switchToDefaultOrg();\n }\n await Utils.sleep(100);\n Notify.Success({\n title: `Organization set as default`,\n message: `The organization ${org.name} was successfully set as default.`\n });\n }\n } catch {}\n }\n\n protected async switchToDefaultOrg() {\n try {\n const title = `Switch to default organization`;\n const message = `Do you want to switch to your new default organization ${this.defaultOrgRole.organization.name}?`;\n await this.$confirm(message, title, {\n type: \"warning\",\n cancelButtonText: \"Cancel\",\n confirmButtonText: \"Switch to default\"\n });\n this.switchOrgRole(this.defaultOrgRole);\n } catch {}\n }\n\n protected async leaveCurrentOrganization() {\n try {\n const org = this.currentOrgRole.organization;\n const title = `Leave organization`;\n const message = `Are you sure you want to leave ${org.name} organization?`;\n await this.$prompt(message, title, {\n type: \"warning\",\n cancelButtonText: \"Cancel\",\n confirmButtonText: `Leave ${org.name}`,\n confirmButtonClass: 'el-button--danger',\n dangerouslyUseHTMLString: true,\n inputErrorMessage: `Type '${org.name}' to confirm`,\n inputValidator: value => value === org.name,\n inputPlaceholder: `Type '${org.name}' to confirm`\n });\n await this.leaveCurrentOrg.run(this.sessionUser, this.currentOrgRole.organization);\n if (!this.leaveCurrentOrg.error) {\n this.promptAppRestart();\n await this.$nextTick();\n Notify.Success({\n title: `You have left ${org.name}`,\n message: `You have successfully left ${org.name} organization.`\n });\n } else {\n Notify.Error({\n title: `Error leaving ${org.name}`,\n message: `An error occurred while leaving ${org.name} organization. Please try again later.`\n });\n }\n } catch {}\n }\n\n protected get pageClass(): Map {\n return { \n \"is-plain\": this.isPlainUi\n }\n }\n\n protected get permissions() {\n return {\n CanEditOrg: this.accessRole.can(ServiceID.Console, Permission.EditOrg),\n CanInviteOrgMembers: this.accessRole.can(ServiceID.Console, Permission.InviteOrgMembers),\n CanListOrgUsers: this.accessRole.can(ServiceID.Console, Permission.ListOrgUsers),\n CanListOrgInvitations: this.accessRole.can(ServiceID.Console, Permission.ListOrgInvitations),\n CanAcceptOrgAccessRequest: this.accessRole.can(ServiceID.Console, Permission.AcceptOrgAccessRequest),\n CanCreateChildOrg: this.accessRole.can(ServiceID.Console, Permission.CreateChildOrg)\n }\n }\n\n protected getServiceName(service: ServiceID): string {\n return ServiceID.nameOf(service);\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./AccountSettings.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./AccountSettings.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AccountSettings.vue?vue&type=template&id=37643d9c&scoped=true&\"\nimport script from \"./AccountSettings.ts?vue&type=script&lang=ts&\"\nexport * from \"./AccountSettings.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./AccountSettings.vue?vue&type=style&index=0&lang=scss&\"\nimport style1 from \"./AccountSettings.vue?vue&type=style&index=1&id=37643d9c&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"37643d9c\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StatCard.vue?vue&type=style&index=0&id=4afb9c81&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"license-return-notif-content flex-y space-y-6\"},[(!_vm.hideTypeLabel)?_c('core.label',{attrs:{\"icon-size\":\"14px\",\"icon-spacing\":\"4px\"}},[_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"reader-outline\"},slot:\"icon\"}),_c('H3',[_vm._v(_vm._s(_vm.notification.label))])],1):_vm._e(),_c('div',{staticClass:\"text-semibold\"},[(_vm.isInbox)?[(_vm.notification.voluntaryReturn)?_c('span',[_vm._v(_vm._s(_vm.notification.sourceOrg.name)+\" wants to return \"+_vm._s(_vm.licenseService)+\" licenses.\")]):_c('span',[_vm._v(_vm._s(_vm.notification.sourceOrg.name)+\" is claiming ownership of \"+_vm._s(_vm.licenseService)+\" licenses.\")])]:_c('span',[_vm._v(_vm._s(_vm.licenseService)+\" license return request notification sent to \"+_vm._s(_vm.notification.destinationOrg.name)+\".\")])],2),_c('notifications.notification-summary-container',[(_vm.shouldShowTenantDetails)?_c('core.details',{attrs:{\"label\":\"Tenant\",\"spacing\":\"2px\"}},[_c('orgs.org-label',{attrs:{\"org\":_vm.notification.sourceOrg}})],1):_vm._e(),(_vm.shouldShowOwnerDetails)?_c('core.details',{attrs:{\"label\":\"Owner\",\"spacing\":\"2px\"}},[_c('orgs.org-label',{attrs:{\"org\":_vm.notification.destinationOrg}})],1):_vm._e(),_c('core.details',{attrs:{\"label\":\"Service\",\"spacing\":\"2px\"}},[_c('span',[_vm._v(_vm._s(_vm.licenseService))])]),_c('core.details',{attrs:{\"label\":\"License summary\",\"spacing\":\"3px\"}},[_c('div',{staticClass:\"flex items-center flex-wrap container-x-4 container-y-4\"},_vm._l((_vm.notification.summary),function(ids,dimension){return _c('el-tag',{key:dimension,attrs:{\"effect\":\"dark\",\"type\":\"info\",\"disable-transitions\":\"\",\"size\":\"tiny\"}},[_c('core.label',{attrs:{\"type\":\"inherit\",\"icon-spacing\":\"2px\",\"icon-size\":\"12px\"}},[_c('el-tooltip',{attrs:{\"slot\":\"icon\",\"effect\":\"light\",\"placement\":\"top\",\"transition\":\"el-zoom-in-bottom\"},slot:\"icon\"},[_c('span',{attrs:{\"slot\":\"content\"},slot:\"content\"},[_vm._v(\"Identifiers: \"),_c('span',{staticClass:\"text-semibold\"},[_vm._v(\"#L\"+_vm._s(ids.join(', #L')))])]),_c('ion-icon',{attrs:{\"name\":\"information-circle-outline\"}})],1),_c('span',[_vm._v(_vm._s(dimension)+\" \"),_c('strong',[_vm._v(\"x\"+_vm._s(ids.length))])])],1)],1)}),1)])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import NotificationContentMixin, { INotificationContent, UiSuccessNotificationMap } from \"@Module/Notifications/Mixins/NotificationContentMixin\";\nimport { LicenseReturnNotification } from \"@Module/Notifications/Models/LicenseReturnNotification.model\";\nimport NotificationsInboxStore from \"@Module/Notifications/Store/NotificationsInbox.store\";\nimport { Component, MapAction, mixins, Prop } from \"types-vue\";\nimport { ServiceID } from \"@Service/ServiceID\";\n\n@Component\nexport default class LicenseReturnNotifContent extends mixins(NotificationContentMixin) implements INotificationContent {\n\n @Prop({ type: Object, required: true })\n protected notification: LicenseReturnNotification;\n\n @MapAction(NotificationsInboxStore.Mapping)\n protected acceptExchangeNotification: (notification: LicenseReturnNotification) => Promise;\n\n public get canResend(): boolean {\n return false;\n }\n\n public getSuccessNotifConfig(): UiSuccessNotificationMap {\n return {\n Accept: {\n title: \"Invitation accepted\", \n message: `License return request successfully accepted.`,\n duration: 6000\n },\n Decline: {\n title: \"Invitation declined\", \n message: `License return request successfully declined.`,\n duration: 6000\n },\n Cancel: {\n title: \"License return cancelled\", \n message: `License return request has been successfully cancelled.`\n }\n }\n }\n\n public get licenseService(): string {\n return ServiceID.nameOf(this.notification.service);\n }\n \n public get shouldShowTenantDetails(): boolean {\n return this.isInbox && this.notification.voluntaryReturn\n || !this.isInbox && !this.notification.voluntaryReturn;\n }\n\n public get shouldShowOwnerDetails(): boolean {\n return this.isInbox && !this.notification.voluntaryReturn\n || !this.isInbox && this.notification.voluntaryReturn;\n }\n\n public async accept(): Promise {\n await this.acceptExchangeNotification(this.notification);\n return true;\n }\n\n}","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--13-3!./LicenseReturnNotifContent.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--13-3!./LicenseReturnNotifContent.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LicenseReturnNotifContent.vue?vue&type=template&id=a3c76b9e&\"\nimport script from \"./LicenseReturnNotifContent.ts?vue&type=script&lang=ts&\"\nexport * from \"./LicenseReturnNotifContent.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { OrganizationRole } from \"../Models/Roles/OrganizationRole.model\";\nimport NavigationStore from \"@Core/Store/Navigation/Navigation.store\";\nimport { Component, MapAction, MapGetter } from \"types-vue\";\nimport { Organization } from \"../Models/Organization.model\";\nimport { ConsoleRoute } from \"@Core/Models/ConsoleRoute\";\nimport OrgsStore from \"../Store/Orgs.store\";\nimport { Utils } from \"@Core/Utils/Utils\";\nimport Vue from \"vue\";\n\n@Component\nexport default class OrgSwitchMixin extends Vue {\n\n @MapGetter(NavigationStore.Mapping)\n protected currentRoute: ConsoleRoute;\n\n @MapGetter(OrgsStore.Mapping)\n protected currentOrgRole: OrganizationRole;\n\n @MapGetter(OrgsStore.Mapping)\n protected orgRoles: OrganizationRole[];\n\n @MapAction(OrgsStore.Mapping)\n protected switchToOrgRole: (org: OrganizationRole) => Promise;\n\n protected canSwitchToOrg(org: Organization): boolean {\n if (this.currentOrgRole.organization.id === org.id) { return false; }\n return this.orgRoles.some(orgRole => orgRole.organization.id === org.id && !orgRole.role.isNoAccess)\n }\n\n protected canSwitchToOrgRole(orgRole: OrganizationRole): boolean {\n return this.currentOrgRole.organization.id !== orgRole.organization.id \n && !orgRole.role.isNoAccess;\n }\n\n protected async switchToOrg(org: Organization) {\n if (!this.canSwitchToOrg(org)) { return; }\n const orgRole = this.orgRoles.find(orgRole => orgRole.organization.id === org.id);\n if (!!orgRole) {\n return this.switchOrgRole(orgRole);\n }\n }\n\n protected async switchOrgRole(orgRole: OrganizationRole) { \n if (!this.canSwitchToOrgRole(orgRole)) { return; }\n const text = `Switching ${!orgRole.isMain ? 'to' : 'back to'} ${orgRole.organization.name} organization as ${orgRole.role.name}...`;\n this.$loading({ lock: true, text });\n await this.switchToOrgRole(orgRole);\n await Utils.sleep(1000);\n this.$router.replace(\n this.currentRoute.redirectPath, \n () => window.location.reload(), \n () => window.location.reload()\n );\n }\n\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"flex flex-wrap container-x-16 container-y-16\"},[_c('core.details',{attrs:{\"label\":\"Creation\"}},[_c('core.date-label',{attrs:{\"format\":\"MM/DD/YY HH:mm\",\"date\":_vm.license.creation}})],1),_c('core.details',{attrs:{\"label\":\"Expiration\"}},[_c('core.date-label',{attrs:{\"format\":\"MM/DD/YY HH:mm\",\"date\":_vm.license.expiration}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { License } from \"@Module/Licensing/Models/License.model\";\nimport { Component, Prop } from \"types-vue\";\nimport Vue from \"vue\";\n\n@Component\nexport default class LicenseValiditySummary extends Vue {\n\n @Prop({ type: Object, required: true })\n protected license: License;\n\n @Prop({ type: Boolean, default: false })\n protected expand: boolean;\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./LicenseValiditySummary.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./LicenseValiditySummary.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LicenseValiditySummary.vue?vue&type=template&id=4d07c2ce&\"\nimport script from \"./LicenseValiditySummary.ts?vue&type=script&lang=ts&\"\nexport * from \"./LicenseValiditySummary.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CopyLabel.vue?vue&type=style&index=0&id=26bea02e&lang=scss&scoped=true&\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContractsReport.vue?vue&type=style&index=0&id=4995bf1c&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('core.dialog',{ref:\"dialog\",attrs:{\"width\":\"29rem\",\"destroy-on-close\":\"\"},scopedSlots:_vm._u([{key:\"footer\",fn:function(ref){\nvar cancel = ref.cancel;\nreturn _c('div',{staticClass:\"space-x-8\"},[_c('el-button',{attrs:{\"disabled\":_vm.changePwd.loading,\"type\":\"text\"},on:{\"click\":cancel}},[_vm._v(\"Cancel\")]),_c('el-button',{attrs:{\"loading\":_vm.changePwd.loading,\"disabled\":!_vm.newPassword,\"type\":\"primary\"},on:{\"click\":_vm.changePassword}},[(!_vm.changePwd.loading)?_c('span',[_vm._v(\"Change password\")]):_c('span',[_vm._v(\"Changing password\")])])],1)}}])},[_c('core.label',{attrs:{\"slot\":\"title\",\"icon-size\":\"20px\"},slot:\"title\"},[_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"key\"},slot:\"icon\"}),_c('H1',[_vm._v(\"Change password\")])],1),_c('div',{staticClass:\"space-y-16\"},[_c('auth.new-pwd-form',{ref:\"newPwdForm\",attrs:{\"disabled\":_vm.changePwd.loading},on:{\"change\":_vm.onPasswordChange}}),_c('transition',{attrs:{\"name\":\"el-zoom-in-top\"}},[(!!_vm.changePwd.error)?_c('core.alert',{attrs:{\"type\":\"error\",\"closable\":false,\"title\":\"Password Change Error\",\"description\":_vm.changePwd.error.message,\"plain\":\"\"}},[_c('el-button',{attrs:{\"slot\":\"footer\",\"icon\":\"el-icon-refresh-right\",\"type\":\"default\",\"size\":\"mini\"},on:{\"click\":_vm.changePassword},slot:\"footer\"},[_vm._v(\"Try again\")])],1):_vm._e()],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import UsersStore from \"@Module/Users/Store/Users.store\";\nimport { User } from \"@Module/Users/Models/User.model\";\nimport Dialog from \"@Core/Components/Dialog/Dialog\";\nimport { Execution } from \"@Core/Models/Execution\";\nimport NewPwdForm from \"../NewPwdForm/NewPwdForm\";\nimport { Component, MapGetter } from \"types-vue\";\nimport AuthApi from \"@Module/Auth/API/Auth.api\";\nimport { Notify } from \"@Core/Utils/Notify\";\nimport Vue from \"vue\";\n\n@Component\nexport default class ChangePwdDialog extends Vue {\n\n @MapGetter(UsersStore.Mapping)\n protected sessionUser: User;\n\n protected newPassword: string = null;\n protected changePwd = Execution.create(AuthApi.changePassword, AuthApi);\n\n public open(): Promise {\n return (this.$refs.dialog as Dialog).open();\n }\n \n protected async changePassword() {\n this.changePwd.reset();\n await this.changePwd.run(this.sessionUser.username, this.newPassword);\n if (!this.changePwd.error) {\n Notify.Success({ \n title: \"Password Changed\",\n message: \"Your account password has been successfully changed.\",\n duration: 3000\n });\n (this.$refs.dialog as Dialog).success();\n }\n }\n\n protected onPasswordChange(value: string, valid: boolean) {\n this.newPassword = valid ? value : null;\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./ChangePwdDialog.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./ChangePwdDialog.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ChangePwdDialog.vue?vue&type=template&id=3a019e14&\"\nimport script from \"./ChangePwdDialog.ts?vue&type=script&lang=ts&\"\nexport * from \"./ChangePwdDialog.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TrialStatus.vue?vue&type=style&index=0&id=26dddd30&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"list\",class:_vm.listClass},[(!_vm.listItems || _vm.listItems.length === 0)?_vm._t(\"empty\",[_c('core.empty',{attrs:{\"description\":\"No data\"}})]):_vm._e(),_vm._l((_vm.listItems),function(item,index){return _c('core.list-item',{key:_vm.getId(item),attrs:{\"compact\":_vm.compact,\"loading\":item.loading,\"disabled\":item.disabled,\"selectable\":_vm.selectable,\"separated\":index === _vm.data.length - 1 ? false : _vm.separated,\"label-key-path\":_vm.labelKeyPath,\"description-key-path\":_vm.descriptionKeyPath,\"item\":item.data,\"spacing\":_vm.spacing},on:{\"select\":function($event){return _vm.onListItemSelected(item)}}},[_vm._t(\"default\",[_c('template',{slot:\"accessory-right\"},[_vm._t(\"accessory-right\",null,{\"item\":item.data,\"loading\":item.loading,\"disabled\":item.disabled})],2)],{\"item\":item.data,\"loading\":item.loading,\"disabled\":item.disabled})],2)})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Utils } from \"@Core/Utils/Utils\";\nimport { Component, Prop, Watch } from \"types-vue\";\nimport Vue from \"vue\";\n\nexport interface ListItem {\n loading: boolean;\n disabled: boolean;\n data: T;\n}\n\nexport type ItemSelectionHandler = (item: object) => void | Promise;\n\n@Component\nexport default class List extends Vue {\n\n @Prop({ required: true })\n protected data: object[];\n\n @Prop({ type: Boolean, default: false })\n protected disabled: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected compact: boolean;\n\n @Prop({ type: Boolean, default: true })\n protected selectable: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected separated: boolean;\n\n @Prop({ type: String, default: \"id\" })\n protected idKeyPath: string;\n\n @Prop({ type: String, default: \"label\" })\n protected labelKeyPath: string;\n\n @Prop({ type: String, default: \"description\" })\n protected descriptionKeyPath: string;\n\n @Prop({ type: Function, default: null })\n protected select: ItemSelectionHandler;\n\n @Prop({ type: [String, Number], default: \"6px\" })\n protected spacing: string | number;\n\n protected listItems: ListItem[] = [];\n\n @Watch(\"data\", { immediate: true })\n protected onDataChange(data: object[]) {\n this.listItems = data\n .map(item => ({ loading: false, disabled: this.disabled, data: item }));\n }\n \n @Watch(\"disabled\", { immediate: true })\n protected onDisablilityChange(disabled: boolean) {\n this.listItems.forEach(item => item.disabled = disabled);\n }\n\n protected get listClass() {\n return {\n \"is-selectable\": this.selectable,\n \"is-separated\": this.separated,\n \"is-compact\": this.compact\n }\n }\n\n protected getId(item: object): string {\n return Utils.getNestedProperty(item, this.idKeyPath);\n }\n\n protected async onListItemSelected(item: ListItem) {\n item.loading = true;\n this.$emit(\"select\", item.data);\n await this.select?.(item.data);\n item.loading = false;\n }\n\n}","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./List.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./List.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./List.vue?vue&type=template&id=510db9f7&scoped=true&\"\nimport script from \"./List.ts?vue&type=script&lang=ts&\"\nexport * from \"./List.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./List.vue?vue&type=style&index=0&id=510db9f7&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"510db9f7\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-tag',{staticClass:\"backup-status-tag\",attrs:{\"size\":\"mini\",\"effect\":\"light\",\"type\":_vm.type,\"disable-transitions\":\"\"}},[_c('core.label',{attrs:{\"icon-position\":\"end\",\"icon-size\":\"14px\",\"icon-spacing\":\"2px\",\"type\":\"inherit\"}},[_c('span',[_vm._v(_vm._s(_vm._f(\"capitalize\")(_vm.status)))]),_vm._t(\"icon\",null,{\"slot\":\"icon\"})],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { BackupStatus } from \"@Service/Emory/Models/Backups/Backup.model\";\nimport { Component, Prop } from \"types-vue\";\nimport Vue from \"vue\";\n\n@Component\nexport default class BackupStatusTag extends Vue {\n\n @Prop({ type: String, required: true })\n protected status: BackupStatus;\n\n protected get type(): \"info\" | \"success\" | \"danger\" | \"warning\" | \"\" {\n switch (this.status) {\n case BackupStatus.Completed: return \"success\";\n case BackupStatus.Started: return \"info\";\n case BackupStatus.Failed: return \"danger\";\n }\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./EmoryBackupStatusTag.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./EmoryBackupStatusTag.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./EmoryBackupStatusTag.vue?vue&type=template&id=69dfcdbd&\"\nimport script from \"./EmoryBackupStatusTag.ts?vue&type=script&lang=ts&\"\nexport * from \"./EmoryBackupStatusTag.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./EmoryBackupStatusTag.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-tag',{attrs:{\"effect\":\"light\",\"size\":_vm.size,\"type\":_vm.type,\"disable-transitions\":\"\"}},[(_vm.license.status.isActive)?_c('span',[_vm._v(_vm._s(_vm.availableSlots)+\" \"+_vm._s(_vm._f(\"pluralize\")('host',_vm.availableSlots)))]):_c('span',[_vm._v(_vm._s(_vm.license.status.label))])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { License } from \"@Module/Licensing/Models/License.model\";\nimport { UISize } from \"@Service/Settings/Store/AppSettings/AppSettings.state\";\nimport { Component, Prop } from \"types-vue\";\nimport Vue from \"vue\";\n\n@Component\nexport default class LicenseAvailabilityTag extends Vue {\n\n @Prop({ type: Object, required: true })\n protected license: License;\n\n @Prop({ type: String, default: \"mini\" })\n protected size: UISize | \"tiny\";\n\n protected get availableSlots(): number {\n return this.license.maxHosts - this.license.hostCount;\n }\n\n protected get type(): \"info\" | \"success\" | \"danger\" | \"warning\" | \"\" {\n if (this.availableSlots > 0 && this.license.status.isActive) { \n return \"success\"; \n } else { \n return \"danger\"; \n }\n }\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./LicenseAvailabilityTag.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./LicenseAvailabilityTag.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LicenseAvailabilityTag.vue?vue&type=template&id=4484a590&\"\nimport script from \"./LicenseAvailabilityTag.ts?vue&type=script&lang=ts&\"\nexport * from \"./LicenseAvailabilityTag.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import NavigationStore from \"@Core/Store/Navigation/Navigation.store\";\nimport { ConsoleRoute } from \"@Core/Models/ConsoleRoute\";\nimport { Component, MapGetter } from \"types-vue\";\nimport { Utils } from \"@Core/Utils/Utils\";\nimport { Loading } from \"element-ui\";\nimport Vue from \"vue\";\n\n@Component\nexport default class AppRestartMixin extends Vue {\n\n @MapGetter(NavigationStore.Mapping)\n protected currentRoute: ConsoleRoute;\n\n protected async promptAppRestart(message?: string): Promise {\n try {\n await this.$alert(\n \"The application needs to be refreshed in order to finish setting up your organizations.\", \n \"Refresh Required\", {\n type: \"info\",\n confirmButtonText: 'Refresh now',\n showClose: false,\n callback: async () => {\n Loading.service({ fullscreen: true, lock: true, text: \"Refreshing...\" });\n await Utils.sleep(1000);\n this.$router.replace(\n this.currentRoute.redirectPath, \n () => window.location.reload(), \n () => window.location.reload()\n );\n }\n });\n } catch {}\n }\n\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"footer flex content-space-between space-x-8\"},[_vm._m(0),_c('div',{staticClass:\"flex-none flex-y items-end space-y-8\"},[_c('H2',[_vm._v(\"Legal\")]),_c('el-link',{attrs:{\"underline\":false},on:{\"click\":_vm.openDataProtectionDialog}},[_vm._v(\"Data Protection Policy\")]),_c('el-link',{attrs:{\"underline\":false,\"href\":_vm.termsAndConditionsUrl,\"target\":\"_blank\"}},[_vm._v(\"Website Terms and Conditions\")])],1)])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"flex-y flex-none space-y-16\"},[_c('div',{staticClass:\"flex items-center space-x-4\"},[_c('span',[_vm._v(\"Powered by \")]),_c('a',{staticClass:\"linke-logo\",attrs:{\"href\":\"https://www.syntax.com\",\"target\":\"_blank\"}},[_c('img',{attrs:{\"height\":\"12\",\"src\":\"logos/syntax-logo_color.svg\"}})])])])}]\n\nexport { render, staticRenderFns }","import LegalStore from \"@Module/Legal/Store/Legal.store\";\nimport { Component, MapAction } from \"types-vue\";\nimport Vue from \"vue\";\n\n@Component\nexport default class Footer extends Vue {\n\n @MapAction(LegalStore.Mapping)\n protected openDataProtectionDialog: () => void;\n\n protected get termsAndConditionsUrl() {\n return process.env.VUE_APP_TERMS_AND_CONDITIONS_URL;\n }\n\n}","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./Footer.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./Footer.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Footer.vue?vue&type=template&id=7fe4cb8d&scoped=true&\"\nimport script from \"./Footer.ts?vue&type=script&lang=ts&\"\nexport * from \"./Footer.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./Footer.vue?vue&type=style&index=0&id=7fe4cb8d&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7fe4cb8d\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"space-y-16\"},[_c('el-form',{ref:\"newPasswordForm\",staticClass:\"space-y-16\",attrs:{\"spellcheck\":\"false\",\"model\":_vm.model,\"rules\":_vm.validationRules,\"disabled\":_vm.disabled,\"label-position\":\"top\"}},[_c('el-form-item',{attrs:{\"prop\":\"newPassword\",\"label\":\"New password\"}},[_c('el-input',{attrs:{\"autocomplete\":\"new-password\",\"placeholder\":\"Enter your new password\",\"show-password\":\"\",\"clearable\":\"\"},on:{\"input\":_vm.onInputChange},model:{value:(_vm.model.newPassword),callback:function ($$v) {_vm.$set(_vm.model, \"newPassword\", $$v)},expression:\"model.newPassword\"}})],1),_c('el-form-item',{attrs:{\"prop\":\"repeatPassword\",\"label\":\"Repeat new password\"}},[_c('el-input',{attrs:{\"autocomplete\":\"new-password\",\"placeholder\":\"Repeat your new password\",\"show-password\":\"\",\"clearable\":\"\"},on:{\"input\":_vm.onInputChange},model:{value:(_vm.model.repeatPassword),callback:function ($$v) {_vm.$set(_vm.model, \"repeatPassword\", $$v)},expression:\"model.repeatPassword\"}})],1)],1),_c('div',{staticClass:\"validation-list space-y-6\"},[_c('div',{staticClass:\"validation flex items-center space-x-8\",class:{ 'is-valid': _vm.hasLowercase, 'is-validation-attempt': _vm.validationAttempt }},[_c('i',{class:_vm.hasLowercase ? 'el-icon-success' : 'el-icon-warning-outline'}),_c('span',[_vm._v(\"Your password has at least one lowercase letter.\")])]),_c('div',{staticClass:\"validation flex items-center space-x-8\",class:{ 'is-valid': _vm.hasUppercase, 'is-validation-attempt': _vm.validationAttempt }},[_c('i',{class:_vm.hasUppercase ? 'el-icon-success' : 'el-icon-warning-outline'}),_c('span',[_vm._v(\"Your password has at least one uppercase letter.\")])]),_c('div',{staticClass:\"validation flex items-center space-x-8\",class:{ 'is-valid': _vm.hasDigit, 'is-validation-attempt': _vm.validationAttempt }},[_c('i',{class:_vm.hasDigit ? 'el-icon-success' : 'el-icon-warning-outline'}),_c('span',[_vm._v(\"Your password has at least one digit.\")])]),_c('div',{staticClass:\"validation flex items-center space-x-8\",class:{ 'is-valid': _vm.hasSpecialChar, 'is-validation-attempt': _vm.validationAttempt }},[_c('i',{class:_vm.hasSpecialChar ? 'el-icon-success' : 'el-icon-warning-outline'}),_c('span',[_vm._v(\"Your password has at least one special character.\")])]),_c('div',{staticClass:\"validation flex items-center space-x-8\",class:{ 'is-valid': _vm.noWhitespace, 'is-validation-attempt': _vm.validationAttempt }},[_c('i',{class:_vm.noWhitespace ? 'el-icon-success' : 'el-icon-warning-outline'}),_c('span',[_vm._v(\"Your password does not contains any whitespace.\")])]),_c('div',{staticClass:\"validation flex items-center space-x-8\",class:{ 'is-valid': _vm.hasMinLength, 'is-validation-attempt': _vm.validationAttempt }},[_c('i',{class:_vm.hasMinLength ? 'el-icon-success' : 'el-icon-warning-outline'}),_c('span',[_vm._v(\"Your password has at least 8 characters length.\")])]),_c('div',{staticClass:\"validation flex items-center space-x-8\",class:{ 'is-valid': _vm.bothPasswordsMatch, 'is-validation-attempt': _vm.validationAttempt }},[_c('i',{class:_vm.bothPasswordsMatch ? 'el-icon-success' : 'el-icon-warning-outline'}),_c('span',[_vm._v(\"Both passwords match.\")])])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { ElForm } from \"element-ui/types/form\";\nimport { Component, Prop } from \"types-vue\";\nimport Vue from \"vue\";\n\nexport interface NewPasswordModel {\n newPassword: string;\n repeatPassword: string;\n}\n\n@Component\nexport default class NewPwdForm extends Vue {\n \n @Prop({ type: Boolean, default: false })\n protected disabled: boolean;\n\n protected validationAttempt: boolean = false;\n protected wasValid: boolean = false;\n\n protected model: NewPasswordModel = {\n newPassword: null,\n repeatPassword: null\n };\n\n protected validationRules: object = {\n newPassword: [\n { required: true, message: \"Enter your new password.\", trigger: \"blur\" },\n { required: true, message: \"Enter your new password.\", trigger: \"change\" }\n ],\n repeatPassword: [\n { required: true, message: \"Repeat your new password.\", trigger: \"blur\" },\n { required: true, message: \"Repeat your new password.\", trigger: \"change\" }\n ],\n }\n\n protected readonly Regex = {\n SpecialChar: /[!@#$%^&*(),.?\":{}|<>]/,\n Uppercase: /[A-Z]/,\n Lowercase: /[a-z]/,\n Whitespace: /\\s/,\n Digit: /[\\d]/,\n Length: /\\w{1,8}/\n }\n\n protected get hasValue(): boolean { return !!this.model.newPassword }\n protected get hasSpecialChar(): boolean { return this.hasValue && this.Regex.SpecialChar.test(this.model.newPassword); }\n protected get hasUppercase(): boolean { return this.hasValue && this.Regex.Uppercase.test(this.model.newPassword); }\n protected get hasLowercase(): boolean { return this.hasValue && this.Regex.Lowercase.test(this.model.newPassword); }\n protected get noWhitespace(): boolean { return this.hasValue && !this.Regex.Whitespace.test(this.model.newPassword); }\n protected get hasDigit(): boolean { return this.hasValue && this.Regex.Digit.test(this.model.newPassword); }\n protected get hasMinLength(): boolean { return this.hasValue && this.Regex.Length.test(this.model.newPassword); }\n protected get bothPasswordsMatch(): boolean {\n const bothFieldsWithValue = !!this.model.newPassword && !!this.model.repeatPassword;\n if (!bothFieldsWithValue) { return false; }\n return this.model.newPassword === this.model.repeatPassword;\n }\n\n public get isValid(): boolean {\n return this.hasValue\n && this.bothPasswordsMatch\n && this.hasSpecialChar\n && this.hasUppercase\n && this.hasLowercase\n && this.noWhitespace\n && this.hasDigit\n && this.hasMinLength;\n }\n\n public validate(): Promise {\n return new Promise(async (resolve, reject) => {\n try {\n this.validationAttempt = true;\n await (this.$refs.newPasswordForm as ElForm).validate();\n if (!this.isValid) { reject(); }\n else { resolve(this.model.newPassword); }\n } catch {\n reject();\n }\n });\n }\n\n protected onInputChange(value: string) {\n const isValid = this.isValid;\n this.$emit(\"input\", value, isValid);\n if (isValid !== this.wasValid) {\n this.$emit(\"change\", value, isValid);\n }\n this.wasValid = this.isValid;\n }\n\n public reset() {\n this.model = { newPassword: null, repeatPassword: null };\n (this.$refs.newPasswordForm as ElForm)?.clearValidate();\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./NewPwdForm.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./NewPwdForm.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./NewPwdForm.vue?vue&type=template&id=b6ccb51a&scoped=true&\"\nimport script from \"./NewPwdForm.ts?vue&type=script&lang=ts&\"\nexport * from \"./NewPwdForm.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./NewPwdForm.vue?vue&type=style&index=0&id=b6ccb51a&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"b6ccb51a\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[((!!_vm.label || !!_vm.$slots.label))?_c('div',{staticClass:\"label-wrap\"},[_vm._t(\"label\",[_c('span',{staticClass:\"list-label\"},[_vm._v(_vm._s(_vm.label))])])],2):_vm._e(),_c('core.list',{staticClass:\"resources-list\",attrs:{\"label-key-path\":\"\",\"description-key-path\":\"\",\"disabled\":_vm.disabled,\"data\":_vm.sortedResources,\"selectable\":false,\"compact\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar item = ref.item;\nvar disabled = ref.disabled;\nreturn _c('span',{staticClass:\"space-x-4\"},[(item.subcategory !== 'Release Note')?_c('div',{staticClass:\"resource-container\"},[_c('span',[_vm._v(_vm._s(item.description))]),_c('div',[(!!item.release_note_id)?_c('el-tooltip',{attrs:{\"open-delay\":500,\"effect\":\"light\",\"content\":\"Package notes\",\"enterable\":false}},[_c('el-button',{attrs:{\"disabled\":disabled,\"type\":\"text\",\"size\":\"mini\",\"icon\":\"el-icon-notebook-2\"},on:{\"click\":function($event){return _vm.downloadResource(item.release_note_id)}}})],1):_vm._e(),_c('el-tooltip',{attrs:{\"open-delay\":500,\"effect\":\"light\",\"content\":item.file,\"enterable\":false}},[_c('el-button',{attrs:{\"disabled\":disabled,\"type\":\"text\",\"size\":\"mini\"},on:{\"click\":function($event){return _vm.downloadResource(item.id)}}},[_vm._v(\"Download\")])],1)],1)]):_vm._e()])}}])})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Resource, ResourceType } from \"@Module/Resources/Models/Resource.model\";\nimport { UISize, UIPlacement } from \"@Service/Settings/Store/AppSettings/AppSettings.state\";\nimport { Organization } from \"@Module/Orgs/Models/Organization.model\";\nimport { Component, MapAction, MapGetter, Prop, Watch } from \"types-vue\";\nimport { Release } from \"@Module/Resources/Models/Release.model\";\nimport ResourcesApi from \"@Module/Resources/API/Resources.api\";\nimport OrgsStore from \"@Module/Orgs/Store/Orgs.store\";\nimport { ServiceID } from \"@Service/ServiceID\";\nimport { Notify } from \"@Core/Utils/Notify\";\nimport AuthStore from \"@Module/Auth/Store/Auth.store\";\nimport { SessionToken } from \"@Module/Auth/Models/SessionToken.model\";\nimport Vue from \"vue\";\nimport { Execution } from \"@Core/Models/Execution\";\nimport ResourcesStore from \"@Module/Resources/Store/Resources.store\";\nimport { WizardConfig } from \"@Module/Resources/Models/WizardConfig.model\";\nimport { Dimension } from \"@Module/Licensing/Models/Dimension.model\";\nimport dayjs from \"dayjs\";\n\n@Component\nexport default class ResourcesList extends Vue {\n\n @Prop({ type: String, required: true })\n protected serviceId: ServiceID;\n\n @Prop({ type: Number, default: null})\n protected selectedVersion: Number;\n\n @Prop({ type: Object, default: null})\n protected selectedDimension: Dimension;\n\n @Prop({ type: Boolean, default: false })\n protected disabled: boolean;\n\n @Prop({ type: String, default: null })\n protected label: string;\n\n @Prop({type: Array})\n protected resources: Resource[]\n \n protected sortedResources: Resource[] = []\n protected getResourceLink = Execution.create(ResourcesApi.getResourceLink, ResourcesApi);\n\n protected mounted() {\n this.sortedResources = this.resources.sort((a,b) => (a.created_at >= (b.created_at) ? 1 : -1))\n }\n\n protected async downloadResource(resId: number) {\n try {\n const resourceLink = await this.getResourceLink.run(resId, this.serviceId);\n window.open(resourceLink);\n } catch (error) {\n let message = \"An error occurred starting the resource download. Please, try again later.\";\n Notify.Error({ title: \"Download error\", message });\n }\n } \n\n }\n\n ","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./ResourcesList.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./ResourcesList.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ResourcesList.vue?vue&type=template&id=212fa4bc&\"\nimport script from \"./ResourcesList.ts?vue&type=script&lang=ts&\"\nexport * from \"./ResourcesList.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./ResourcesList.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('core.dialog',{ref:\"dialog\",attrs:{\"width\":\"34rem\",\"closeOnClickModal\":!_vm.isLoading,\"closeOnPressEscape\":!_vm.isLoading,\"showClose\":!_vm.isLoading,\"destroy-on-close\":\"\"}},[_c('core.label',{attrs:{\"slot\":\"title\",\"icon-size\":\"18px\",\"icon-y-offset\":\"2px\"},slot:\"title\"},[(_vm.isUpdateMode)?_c('H1',[_vm._v(\"Update organization\")]):_c('H1',[_vm._v(\"Create organization\")]),_c('i',{staticClass:\"el-icon-office-building\",attrs:{\"slot\":\"icon\"},slot:\"icon\"})],1),_c('orgs.org-editor-form',{ref:\"form\",on:{\"loading\":function (loading) { return _vm.isLoading = loading; },\"success\":_vm.onEditorSuccess},scopedSlots:_vm._u([{key:\"footer\",fn:function(ref){\nvar loading = ref.loading;\nreturn _c('el-button',{attrs:{\"type\":\"text\",\"disabled\":loading},on:{\"click\":function($event){return _vm.$refs.dialog.cancel()}}},[_c('span',[_vm._v(\"Cancel\")])])}}]),model:{value:(_vm.newOrg),callback:function ($$v) {_vm.newOrg=$$v},expression:\"newOrg\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Organization } from \"@Module/Orgs/Models/Organization.model\";\nimport Dialog from \"@Core/Components/Dialog/Dialog\";\nimport { Component } from \"types-vue\";\nimport Clone from \"lodash.clonedeep\";\nimport Vue from \"vue\";\n\n@Component\nexport default class OrgEditorDialog extends Vue {\n\n protected newOrg: Organization = Organization.create();\n\n protected isLoading: boolean = false;\n\n public open(org: Organization = Organization.create()) {\n this.newOrg = Clone(org);\n const dialog = this.$refs.dialog as Dialog;\n return dialog.open();\n }\n\n protected get isUpdateMode(): boolean {\n return this.newOrg.isRemote;\n }\n\n protected onEditorSuccess(org: Organization) {\n (this.$refs.dialog as Dialog).success();\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./OrgEditorDialog.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./OrgEditorDialog.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OrgEditorDialog.vue?vue&type=template&id=1b022846&\"\nimport script from \"./OrgEditorDialog.ts?vue&type=script&lang=ts&\"\nexport * from \"./OrgEditorDialog.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { ConsoleError } from \"@Core/Errors/ConsoleError\";\nimport { ServiceID } from \"@Service/ServiceID\";\n\ninterface TrialStatusApiErrorMeta {\n service: ServiceID;\n}\n\nexport class TrialStatusApiError extends ConsoleError {}","import { ConsoleError } from \"@Core/Errors/ConsoleError\";\nimport { ServiceID } from \"@Service/ServiceID\";\n\ninterface GetTrialDimensionsApiErrorMeta {\n service: ServiceID;\n}\n\nexport class GetTrialDimensionsApiError extends ConsoleError {}","import { IDimensionUnitsDto } from \"@Module/Licensing/Models/Dimension.model\";\nimport { Organization } from \"@Module/Orgs/Models/Organization.model\";\nimport { ConsoleError } from \"@Core/Errors/ConsoleError\";\nimport { ServiceID } from \"@Service/ServiceID\";\n\ninterface StartTrialApiErrorMeta {\n org: Organization;\n service: ServiceID;\n dimensions: IDimensionUnitsDto[];\n}\n\nexport class StartTrialApiError extends ConsoleError {}","import { Organization } from \"@Module/Orgs/Models/Organization.model\";\nimport { ITrialInfoDto } from \"@Module/Trial/Models/TrialInfo.model\";\nimport { TrialStatusApiError } from \"../Errors/TrialStatusApiError\";\nimport AxiosAPI from \"@Core/API/AxiosAPI\";\nimport { GetTrialDimensionsApiError } from \"../Errors/GetTrialDimensionsApiError\";\nimport { StartTrialApiError } from \"../Errors/StartTrialApiError\";\nimport { IDimensionDto, IDimensionUnitsDto } from \"@Module/Licensing/Models/Dimension.model\";\nimport { IContractDto } from \"@Module/Licensing/Models/Contract.model\";\nimport { ServiceID } from \"@Service/ServiceID\";\n\nexport interface IStartTrialResponseDto {\n trial: ITrialInfoDto;\n contract: IContractDto;\n}\n\nclass TrialAPI extends AxiosAPI {\n private static instance: TrialAPI;\n\n public static get Instance(): TrialAPI {\n return this.instance || (this.instance = new this());\n }\n\n protected url(slug?: string): string {\n const baseUrl = `${process.env.VUE_APP_SERVICE_URL_BACKEND}`;\n return !!slug ? `${baseUrl}/${slug}` : baseUrl;\n }\n \n public async getTrialInfo(service: ServiceID): Promise {\n try {\n const url = this.url(\"contracts/trial\");\n const response = await this.axios.get(url, { \n params: { product: service }\n });\n return response.data;\n } catch (error) {\n const message = `An error occurred while retrieving your trial information.`;\n throw new TrialStatusApiError(message, { \n cause: error, \n meta: { service } \n });\n }\n }\n\n public async requestTrialStart(\n service: ServiceID, \n org: Organization, \n dimensions: IDimensionUnitsDto[]\n ): Promise {\n try {\n const url = this.url(\"contracts/trial\");\n const response = await this.axios.post(url, {\n product: service, \n orgname: org.name, \n orguuid: org.uuid, \n dimensions\n });\n return response.data;\n } catch (error) {\n const message = `An error occurred requesting your trial start. Please try again later.`;\n throw new StartTrialApiError(message, {\n cause: error,\n meta: { service, org, dimensions }\n });\n }\n }\n\n public async getTrialDimensions(service: ServiceID): Promise {\n try {\n const url = this.url(\"dimensions\");\n const response = await this.axios.get(url, {\n params: { trial: true, product: service }\n });\n return response.data;\n } catch (error) {\n const message = `An error occurred while retrieving the available trial dimensions.`;\n throw new GetTrialDimensionsApiError(message, { \n cause: error, \n meta: { service } \n });\n }\n }\n}\n\nexport default TrialAPI.Instance;","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NotificationSkeleton.vue?vue&type=style&index=0&id=2ac63be4&lang=scss&scoped=true&\"","export type UIMode = \"plain\" | \"cards\";\nexport type UIContentSizeMode = \"compact\" | \"airy\";\nexport type UISize = \"large\" | \"medium\" | \"small\" | \"mini\";\nexport type UIPlacement = \"top\" | \"top-start\" | \"top-end\" | \"bottom\" | \"bottom-start\" | \"bottom-end\" | \"left\" | \"left-start\" | \"left-end\" | \"right\" | \"right-start\" | \"right-end\";\n\nexport const AppSettingsDefaults: AppSettingsStoreState = {\n _collapsedMenu: false,\n _hiddenBreadcrumb: false,\n _expandSubmenus: true,\n _uiSize: \"large\",\n _uiMode: \"cards\",\n _uiContentSizeMode: \"airy\",\n _hiddenLoadingIndicator: false,\n}\n\nexport interface AppSettingsStoreState {\n _collapsedMenu: boolean;\n _hiddenBreadcrumb: boolean;\n _hiddenLoadingIndicator: boolean;\n _expandSubmenus: boolean;\n _uiSize: UISize;\n _uiMode: UIMode;\n _uiContentSizeMode: UIContentSizeMode;\n}","import { AppSettingsDefaults, AppSettingsStoreState, UIContentSizeMode, UIMode, UISize } from \"./AppSettings.state\";\nimport { Action, Getter, Module, Mutation, VuexModule } from \"types-vue\";\nimport { Utils } from \"@Core/Utils/Utils\";\nimport { ActionContext } from \"vuex\";\nimport Vue from \"vue\";\nimport AppConfig from \"@Core/AppConfig\";\n\nconst enum AppSettingsStoreCookie {\n ExpandSubmenus = \"settings.app.menu.expand-submenus\",\n CollapsedMenu = \"settings.app.menu.collapsed\",\n HiddenBreadcrumb = \"settings.app.ui.hidden-breadcrumb\",\n HiddenLoadingIndicator = \"settings.app.ui.hidden-loading-indicator\",\n UiMode = \"settings.app.ui.ui-mode\",\n UiSize = \"settings.app.ui.ui-size\",\n UiContentSizeMode = \"settings.app.ui.content-size-mode\"\n}\n\nconst enum AppSettingsStoreCommit {\n SetCollapsedMenu = \"_setCollapsedMenu\",\n SetExpandSubmenus = \"_setExpandSubmenus\", \n SetUiMode = \"_setUiMode\",\n SetUiSize = \"_setUiSize\",\n SetUiContentSizeMode = \"_setUiContentSizeMode\",\n SetHiddenBreadcrumb = \"_setHiddenBreadcrumb\",\n SetHiddenLoadingIndicator = \"_setHiddenLoadingIndicator\"\n}\n\nconst enum AppSettingsStoreAction {\n SetCollapsedMenu = \"setCollapsedMenu\",\n SetExpandSubmenus = \"setExpandSubmenus\",\n SetUiMode = \"setUiMode\",\n SetUiSize = \"setUiSize\",\n SetUiContentSizeMode = \"setUiContentSizeMode\",\n SetHiddenBreadcrumb = \"setHiddenBreadcrumb\",\n SetHiddenLoadingIndicator = \"setHiddenLoadingIndicator\",\n}\n\n@Module({ namespaced: true })\nexport default class AppSettingsStore extends VuexModule implements AppSettingsStoreState {\n public static readonly Mapping = Utils.createVuexMappingOptions(\"AppSettings\");\n\n public _collapsedMenu: boolean = AppSettingsDefaults._collapsedMenu;\n public _hiddenBreadcrumb: boolean = AppSettingsDefaults._hiddenBreadcrumb;\n public _uiSize: UISize = AppSettingsDefaults._uiSize;\n public _uiMode: UIMode = AppSettingsDefaults._uiMode;\n public _uiContentSizeMode: UIContentSizeMode = AppSettingsDefaults._uiContentSizeMode;\n public _hiddenLoadingIndicator: boolean = AppSettingsDefaults._hiddenLoadingIndicator;\n public _expandSubmenus: boolean = AppSettingsDefaults._expandSubmenus;\n\n @Getter() public collapsedMenu(): boolean { \n return this._collapsedMenu; \n }\n\n @Getter() public expandSubmenus(): boolean { \n return this._expandSubmenus; \n }\n\n @Getter() public uiSize(): UISize { \n return this._uiSize; \n }\n\n @Getter() public uiMode(): UIMode { \n return this._uiMode; \n }\n\n @Getter() public hiddenBreadcrumb(): boolean { \n return this._hiddenBreadcrumb; \n }\n\n @Getter() public hiddenLoadingIndicator(): boolean { \n return this._hiddenLoadingIndicator; \n }\n\n @Getter() public uiContentSizeMode(): UIContentSizeMode { \n return this._uiContentSizeMode; \n }\n\n @Getter()\n public isPlainUi(): boolean { \n return this._uiMode === \"plain\"; \n }\n\n @Mutation()\n protected _setCollapsedMenu(collapsed: boolean) {\n this._collapsedMenu = collapsed;\n Vue.$cookies.set(AppSettingsStoreCookie.CollapsedMenu, collapsed, Infinity);\n }\n\n @Mutation()\n protected _setExpandSubmenus(expand: boolean) {\n this._expandSubmenus = expand;\n Vue.$cookies.set(AppSettingsStoreCookie.ExpandSubmenus, expand, Infinity);\n }\n\n @Mutation()\n protected _setHiddenBreadcrumb(hidden: boolean) {\n this._hiddenBreadcrumb = hidden;\n Vue.$cookies.set(AppSettingsStoreCookie.HiddenBreadcrumb, hidden, Infinity);\n }\n\n @Mutation()\n protected _setHiddenLoadingIndicator(hidden: boolean) {\n this._hiddenLoadingIndicator = hidden;\n Vue.$cookies.set(AppSettingsStoreCookie.HiddenLoadingIndicator, hidden, Infinity);\n }\n\n @Mutation()\n protected _setUiMode(mode: UIMode) {\n this._uiMode = mode;\n Vue.$cookies.set(AppSettingsStoreCookie.UiMode, mode, Infinity);\n }\n\n @Mutation()\n protected _setUiSize(size: UISize) {\n this._uiSize = size;\n AppConfig.size = size;\n Vue.$cookies.set(AppSettingsStoreCookie.UiSize, size, Infinity);\n }\n\n @Mutation()\n protected _setUiContentSizeMode(mode: UIContentSizeMode) {\n this._uiContentSizeMode = mode;\n Vue.$cookies.set(AppSettingsStoreCookie.UiContentSizeMode, mode, Infinity);\n }\n\n @Action({ useContext: true, commit: AppSettingsStoreCommit.SetCollapsedMenu })\n protected async toggleCollapsedMenu(ctx: ActionContext) {\n return !ctx.state._collapsedMenu;\n }\n\n @Action({ commit: AppSettingsStoreCommit.SetCollapsedMenu })\n protected async setCollapsedMenu(collapsed: boolean) {\n return collapsed ?? AppSettingsDefaults._collapsedMenu;\n }\n\n @Action({ commit: AppSettingsStoreCommit.SetExpandSubmenus })\n protected async setExpandSubmenus(expand: boolean) {\n return expand ?? AppSettingsDefaults._expandSubmenus;\n }\n\n @Action({ commit: AppSettingsStoreCommit.SetHiddenBreadcrumb })\n protected async setHiddenBreadcrumb(hidden: boolean) {\n return hidden ?? AppSettingsDefaults._hiddenBreadcrumb;\n }\n\n @Action({ commit: AppSettingsStoreCommit.SetHiddenLoadingIndicator })\n protected async setHiddenLoadingIndicator(hidden: boolean) {\n return hidden ?? AppSettingsDefaults._hiddenLoadingIndicator;\n }\n\n @Action({ commit: AppSettingsStoreCommit.SetUiMode })\n protected async setUiMode(mode: UIMode) {\n return mode || AppSettingsDefaults._uiMode;\n }\n\n @Action({ commit: AppSettingsStoreCommit.SetUiSize })\n protected async setUiSize(size: UISize) {\n return size || AppSettingsDefaults._uiSize;\n }\n\n @Action({ commit: AppSettingsStoreCommit.SetUiContentSizeMode })\n protected async setUiContentSizeMode(mode: UIContentSizeMode) {\n return mode || AppSettingsDefaults._uiContentSizeMode;\n }\n\n @Action({ useContext: true })\n protected async restoreAppSettingDefaults(ctx: ActionContext) {\n await ctx.dispatch(AppSettingsStoreAction.SetCollapsedMenu, null);\n await ctx.dispatch(AppSettingsStoreAction.SetExpandSubmenus, null);\n await ctx.dispatch(AppSettingsStoreAction.SetHiddenBreadcrumb, null);\n await ctx.dispatch(AppSettingsStoreAction.SetHiddenLoadingIndicator, null);\n await ctx.dispatch(AppSettingsStoreAction.SetUiMode, null);\n await ctx.dispatch(AppSettingsStoreAction.SetUiContentSizeMode, null);\n await ctx.dispatch(AppSettingsStoreAction.SetUiSize, null);\n }\n\n @Action({ useContext: true })\n protected async loadSettingsFromCookies(ctx: ActionContext) {\n let collapsed = Vue.$cookies.get(AppSettingsStoreCookie.CollapsedMenu);\n collapsed = Utils.isString(collapsed) ? collapsed === \"true\" : collapsed; \n await ctx.dispatch(AppSettingsStoreAction.SetCollapsedMenu, collapsed);\n\n let expandSubmenus = Vue.$cookies.get(AppSettingsStoreCookie.ExpandSubmenus);\n expandSubmenus = Utils.isString(expandSubmenus) ? expandSubmenus === \"true\" : expandSubmenus; \n await ctx.dispatch(AppSettingsStoreAction.SetExpandSubmenus, expandSubmenus);\n\n let hiddenBreadcrumb = Vue.$cookies.get(AppSettingsStoreCookie.HiddenBreadcrumb);\n hiddenBreadcrumb = Utils.isString(hiddenBreadcrumb) ? hiddenBreadcrumb === \"true\" : hiddenBreadcrumb; \n await ctx.dispatch(AppSettingsStoreAction.SetHiddenBreadcrumb, hiddenBreadcrumb);\n\n let hiddenLoadingIndicator = Vue.$cookies.get(AppSettingsStoreCookie.HiddenLoadingIndicator);\n hiddenLoadingIndicator = Utils.isString(hiddenLoadingIndicator) ? hiddenLoadingIndicator === \"true\" : hiddenLoadingIndicator; \n await ctx.dispatch(AppSettingsStoreAction.SetHiddenLoadingIndicator, hiddenLoadingIndicator);\n\n const uiSize = Vue.$cookies.get(AppSettingsStoreCookie.UiSize);\n await ctx.dispatch(AppSettingsStoreAction.SetUiSize, uiSize);\n\n const uiMode = Vue.$cookies.get(AppSettingsStoreCookie.UiMode);\n await ctx.dispatch(AppSettingsStoreAction.SetUiMode, uiMode);\n\n const uiContentSizeMode = Vue.$cookies.get(AppSettingsStoreCookie.UiContentSizeMode);\n await ctx.dispatch(AppSettingsStoreAction.SetUiContentSizeMode, uiContentSizeMode);\n }\n\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-aside',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(_vm.onClickOutsideMenu),expression:\"onClickOutsideMenu\"}],staticClass:\"aside\",class:_vm.menuClass,attrs:{\"width\":\"auto\"}},[(_vm.isFloating)?_c('div',{staticClass:\"floating-header flex items-center content-space-between p-x-16 space-x-8\"},[_c('el-button',{staticClass:\"floating-menu-toggle-button\",attrs:{\"type\":\"text\"},on:{\"click\":_vm.toggleFloatingMenuVisibility}},[_c('ion-icon',{attrs:{\"name\":\"menu-outline\"}})],1),_c('transition',{attrs:{\"name\":\"el-fade-in\"}},[(!_vm.collapsedMenu)?_c('img',{staticClass:\"floating-header-logo\",attrs:{\"height\":\"50%\",\"src\":\"logos/cxlink-logo_color.svg\"},on:{\"click\":_vm.goToHome}}):_vm._e()])],1):_vm._e(),_c('div',{staticClass:\"menu-wrap\"},[_c('el-tooltip',{attrs:{\"transition\":\"el-zoom-in-center\",\"content\":_vm.collapsedMenu ? 'Expand menu' : 'Collapse menu',\"effect\":\"light\",\"placement\":\"right\"}},[_c('el-button',{staticClass:\"collapse-button\",attrs:{\"type\":\"text\"},on:{\"click\":_vm.toggleCollapsedMenu}},[_c('ion-icon',{attrs:{\"src\":_vm.collapsedMenu ? 'icons/menu-expanded.svg' : 'icons/menu-collapsed.svg'}})],1)],1),_c('el-menu',{ref:\"menu\",staticClass:\"menu\",attrs:{\"default-openeds\":_vm.openedSubmenus,\"default-active\":_vm.activeSectionPath,\"collapse\":_vm.collapsedMenu},on:{\"select\":_vm.onMenuItemSelected}},[_vm._l((_vm.serviceSections),function(sectionRoute){return [(!sectionRoute.children)?_c('core.menu-item',{key:sectionRoute.path,attrs:{\"index\":sectionRoute.path,\"label\":sectionRoute.meta.menu.label,\"active-index\":_vm.activeSectionPath,\"collapse\":_vm.collapsedMenu,\"auth-required\":!_vm.sessionToken && sectionRoute.meta.authRequired}},[_c('core.icon',{attrs:{\"slot\":\"icon\",\"name\":sectionRoute.meta.menu.icon.name,\"type\":sectionRoute.meta.menu.icon.type},slot:\"icon\"}),(!_vm.sessionToken && sectionRoute.meta.authRequired)?_c('ion-icon',{attrs:{\"slot\":\"append-icon\",\"name\":\"lock-closed\"},slot:\"append-icon\"}):(_vm.currentRoute.isServiceInPreview && sectionRoute.meta.authRequired && !_vm.userHasPreviewAccessToRoute)?_c('ion-icon',{attrs:{\"slot\":\"append-icon\",\"name\":\"eye-off\"},slot:\"append-icon\"}):_vm._e()],1):_c('core.sub-menu-item',{key:sectionRoute.path,attrs:{\"index\":sectionRoute.path,\"label\":sectionRoute.meta.menu.label,\"active-index\":_vm.activeSectionPath,\"collapse\":_vm.collapsedMenu}},[(_vm.collapsedMenu)?_c('div',{staticClass:\"p-x-6 m-y-6 ml-8\"},[_c('H3',[_vm._v(_vm._s(sectionRoute.meta.menu.label))])],1):_vm._e(),_c('core.icon',{attrs:{\"slot\":\"icon\",\"name\":sectionRoute.meta.menu.icon.name,\"type\":sectionRoute.meta.menu.icon.type},slot:\"icon\"}),_vm._l((sectionRoute.children),function(sectionChildRoute){return _c('core.menu-item',{key:sectionChildRoute.path,attrs:{\"label\":sectionChildRoute.meta.menu.label,\"index\":sectionChildRoute.path,\"active-index\":_vm.activeSectionPath,\"collapse\":_vm.collapsedMenu,\"show-tooltip\":false}},[_c('core.icon',{attrs:{\"slot\":\"icon\",\"name\":sectionChildRoute.meta.menu.icon.name,\"type\":sectionChildRoute.meta.menu.icon.type},slot:\"icon\"}),(!_vm.sessionToken && (sectionRoute.meta.authRequired || sectionChildRoute.meta.authRequired))?_c('ion-icon',{attrs:{\"slot\":\"append-icon\",\"name\":\"lock-closed\"},slot:\"append-icon\"}):(!_vm.currentRoute.isServiceInPreview && (sectionRoute.meta.authRequired || sectionChildRoute.meta.authRequired) && !_vm.userHasPreviewAccessToRoute)?_c('ion-icon',{attrs:{\"slot\":\"append-icon\",\"name\":\"eye-off\"},slot:\"append-icon\"}):_vm._e()],1)})],2)]})],2)],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { UIContentSizeMode } from \"@Service/Settings/Store/AppSettings/AppSettings.state\";\nimport AppSettingsStore from \"@Service/Settings/Store/AppSettings/AppSettings.store\";\nimport NavigationStore from \"@Core/Store/Navigation/Navigation.store\";\nimport { AccessRole } from \"@Module/Auth/Models/Roles/AccessRole.model\";\nimport { SessionToken } from \"@Module/Auth/Models/SessionToken.model\";\nimport { Component, MapAction, MapGetter, Watch } from \"types-vue\";\nimport UsersStore from \"@Module/Users/Store/Users.store\";\nimport { ConsoleRoute } from \"@Core/Models/ConsoleRoute\";\nimport { User } from \"@Module/Users/Models/User.model\";\nimport AuthStore from \"@Module/Auth/Store/Auth.store\";\nimport MenuStore from \"@Core/Store/Menu/Menu.store\";\nimport { ElMenu } from \"element-ui/types/menu\";\nimport { Map } from \"@Core/Models/Map\";\nimport { Console } from \"vue-router\";\nimport Vue from \"vue\";\n\n@Component\nexport default class Menu extends Vue {\n\n @MapGetter(NavigationStore.Mapping)\n protected currentRoute: ConsoleRoute;\n\n @MapGetter(AppSettingsStore.Mapping)\n protected collapsedMenu: boolean;\n\n @MapGetter(AppSettingsStore.Mapping)\n protected expandSubmenus: boolean;\n\n @MapGetter(AppSettingsStore.Mapping)\n protected isPlainUi: boolean;\n\n @MapGetter(NavigationStore.Mapping)\n protected docsUrl: string;\n\n @MapGetter(AuthStore.Mapping)\n protected sessionToken: SessionToken;\n\n @MapGetter(UsersStore.Mapping)\n protected sessionUser: User;\n\n @MapGetter(AuthStore.Mapping)\n protected accessRole: AccessRole;\n\n @MapGetter(AppSettingsStore.Mapping)\n protected uiContentSizeMode: UIContentSizeMode;\n\n @MapAction(AppSettingsStore.Mapping)\n protected toggleCollapsedMenu: () => Promise;\n\n @MapAction(AppSettingsStore.Mapping)\n protected setCollapsedMenu: (collapsed: boolean) => Promise;\n\n @MapAction(MenuStore.Mapping)\n protected setFloatingMenuVisible: (visible: boolean) => Promise;\n\n @MapAction(MenuStore.Mapping)\n protected toggleFloatingMenuVisibility: () => Promise;\n\n @MapGetter(MenuStore.Mapping)\n protected isFloatingMenuVisible: boolean;\n\n protected openedSubmenus: string[] = [];\n protected menu: ElMenu = null;\n \n protected mounted() {\n this.menu = this.$refs.menu as ElMenu;\n }\n\n @Watch(\"expandSubmenus\")\n @Watch(\"menu.items\")\n protected onMenuReady() {\n if (!this.expandSubmenus) { return [] };\n const menuItems = Object.keys((this.$refs.menu as any)?.items || {});\n const submenus = Object.keys((this.$refs.menu as any)?.submenus || {});\n const menuItemsCount = menuItems.length ?? 0; \n if (menuItemsCount < 10) {\n this.openedSubmenus = [...submenus, ...submenus.map(path => {\n const parent = this.serviceSections.find(r => r.path === path) as Console.ParentRouteDefinition;\n return parent.children.map(child => child.path);\n }).flat()];\n } else {\n this.openedSubmenus = [];\n }\n }\n\n protected get activeSectionPath(): string {\n return this.currentRoute?.meta.menu.selectionPath || this.currentRoute?.path || null;\n }\n\n protected get serviceSections(): Console.RouteDefinition[] {\n const sections = this.currentRoute?.getServiceSectionsForRole(this.accessRole) || [];\n return sections;\n }\n\n @Watch(\"$mq.lg\", { immediate: true })\n protected onLargeScreenSize(isLarge: boolean, wasLarge: boolean) {\n this.setCollapsedMenu(!wasLarge && isLarge);\n }\n\n @Watch(\"$mq.md\", { immediate: true })\n protected onMediumScreenSize(isMedium: boolean, wasMedium: boolean) {\n if (wasMedium && !isMedium) {\n this.setFloatingMenuVisible(false);\n }\n }\n\n protected onMenuItemSelected(path: string) {\n if (this.currentRoute.path === path) { return; }\n if (this.currentRoute.replaceNavigation) {\n this.$router.replace(path).catch(e => e);\n } else {\n this.$router.push(path).catch(e => e);\n }\n }\n\n protected onClickOutsideMenu() {\n if (this.isFloating && this.isFloatingMenuVisible) {\n this.toggleFloatingMenuVisibility();\n }\n }\n\n protected goToHome() {\n this.setFloatingMenuVisible(false);\n this.$router.replace('/').catch(e => e);\n }\n\n protected get isFloating(): boolean {\n return this.$mq.md;\n }\n\n protected get menuClass(): Map {\n return { \n \"is-plain\": this.isPlainUi, \n \"is-airy\": this.uiContentSizeMode === \"airy\",\n \"is-docs-embedded\": !!this.docsUrl,\n \"is-collapsed\": this.collapsedMenu,\n \"is-floating\": this.isFloating,\n \"is-floating-visible\": this.isFloatingMenuVisible\n };\n }\n\n protected get userHasPreviewAccessToRoute(): boolean {\n return this.currentRoute.isAccessibleForUserWithPreviewAccess(this.sessionUser?.previewsAccess);\n }\n\n}","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./Menu.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./Menu.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Menu.vue?vue&type=template&id=629aae7e&scoped=true&\"\nimport script from \"./Menu.ts?vue&type=script&lang=ts&\"\nexport * from \"./Menu.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./Menu.vue?vue&type=style&index=0&id=629aae7e&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"629aae7e\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"config-item flex-y p-x-8\",class:_vm.configItemClass},[_c('core.details',{staticClass:\"w-full flex-1\",attrs:{\"label\":_vm.title,\"value\":_vm.description,\"spacing\":_vm.spacing}},[_vm._t(\"title\",null,{\"slot\":\"label\"}),_vm._t(\"description\")],2),_c('div',{staticClass:\"component-wrap\"},[_vm._t(\"default\")],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Prop } from \"types-vue\";\nimport Vue from \"vue\";\n\n@Component\nexport default class ConfigItem extends Vue {\n\n @Prop({ type: String, default: null })\n protected title: string;\n\n @Prop({ type: String, default: null })\n protected description: string;\n\n @Prop({ type: [String, Number], default: \"2px\" })\n protected spacing: string | number;\n\n @Prop({ type: Boolean, default: false })\n protected disabled: boolean;\n\n @Prop({ type: String, default: \"horizontal\" })\n protected direction: \"horizontal\" | \"vertical\";\n\n protected get configItemClass() {\n return {\n \"is-horizontal\": this.direction === \"horizontal\",\n \"is-vertical\": this.direction === \"vertical\",\n \"is-disabled\": this.disabled\n }\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./ConfigItem.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./ConfigItem.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ConfigItem.vue?vue&type=template&id=6a5aa9fc&scoped=true&\"\nimport script from \"./ConfigItem.ts?vue&type=script&lang=ts&\"\nexport * from \"./ConfigItem.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./ConfigItem.vue?vue&type=style&index=0&id=6a5aa9fc&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6a5aa9fc\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('core.layout',[_c('div',{staticClass:\"cxlink-home\"},[_c('div',{staticClass:\"flex container-y-8 flex-wrap items-center w-full space-x-8 content-space-between mb-16\"},[_c('core.title',[_c('core.label',{attrs:{\"icon-size\":\"20px\",\"icon-spacing\":\".5rem\"}},[_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"bookmark\"},slot:\"icon\"}),_c('H1',[_vm._v(\"CxLink\")])],1)],1)],1),_c('div',[_c('div',{staticClass:\"flex flex-wrap container-x-16 container-y-16\"},[_c('div',{staticClass:\"service-summary-panel flex-2\"},[_c('p',[_vm._v(\"Welcome to our CxLink Portal. for managing contracts, licenses, and user access. This portal is designed to provide our customers with an intuitive and efficient way to handle their administrative needs.\")])])]),_c('H2',{staticClass:\"mb-8 mt-16\"},[_vm._v(\"Services\")]),_c('div',{staticClass:\"flex flex-wrap container-x-24 container-y-24\"},_vm._l((_vm.serviceShortcuts),function(service){return _c('core.card',{key:service.path,staticClass:\"service-card\",attrs:{\"bordered\":_vm.isPlainUi}},[_c('core.label',{attrs:{\"slot\":\"header\",\"icon-spacing\":\".5rem\"},slot:\"header\"},[_c('core.icon',{staticClass:\"service-icon\",attrs:{\"slot\":\"icon\",\"name\":service.meta.menu.icon.name,\"type\":service.meta.menu.icon.type},slot:\"icon\"}),_c('div',{staticClass:\"flex items-center\"},[_c('div',{staticClass:\"flex-1\"},[_c('H1',[_vm._v(_vm._s(service.meta.menu.label))])],1),_c('el-tooltip',{attrs:{\"content\":\"In Preview\",\"transition\":\"el-zoom-in-bottom\",\"effect\":\"light\",\"placement\":\"top\"}},[(service.meta.appInfo.inPreview)?_c('i',{staticClass:\"ml-8 flex-none el-icon-view\"}):_vm._e()])],1)],1),_c('div',{staticClass:\"flex-y full space-y-8\"},[_c('div',{staticClass:\"flex-1\"},[_vm._v(_vm._s(service.meta.appInfo.summary))]),_c('el-button',{staticClass:\"w-full\",attrs:{\"type\":\"text\",\"size\":\"small\"},on:{\"click\":function($event){return _vm.$router.replace(service.path)}}},[_c('ion-icon',{staticClass:\"mr-6\",attrs:{\"name\":\"open-outline\"}}),_c('span',[_vm._v(\"Get started\")])],1)],1)],1)}),1)],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import NavigationStore from '@Core/Store/Navigation/Navigation.store';\nimport AppSettingsStore from '@Service/Settings/Store/AppSettings/AppSettings.store';\nimport { Component, MapGetter } from 'types-vue';\nimport Vue from \"vue\";\nimport { Console } from 'vue-router';\n\n@Component\nexport default class ConsoleHub extends Vue {\n\n @MapGetter(AppSettingsStore.Mapping)\n protected isPlainUi: boolean;\n\n @MapGetter(NavigationStore.Mapping)\n protected availableServiceRoutes: Console.RouteRecord[];\n\n protected get serviceShortcuts(): Console.RouteRecord[] {\n return this.availableServiceRoutes\n .filter(route => route.meta.menu?.groupId !== \"internal\");\n }\n\n protected availableOtherRoutes: Console.RouteRecord[];\n\n protected get otherShortcuts(): Console.RouteRecord[] {\n return this.availableOtherRoutes\n .filter(route => route.meta.menu?.groupId !== \"internal\");\n }\n\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./ConsoleHub.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./ConsoleHub.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ConsoleHub.vue?vue&type=template&id=c6c27fea&scoped=true&\"\nimport script from \"./ConsoleHub.ts?vue&type=script&lang=ts&\"\nexport * from \"./ConsoleHub.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./ConsoleHub.vue?vue&type=style&index=0&lang=scss&\"\nimport style1 from \"./ConsoleHub.vue?vue&type=style&index=1&id=c6c27fea&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"c6c27fea\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.type === 'checkbox-button')?_c('el-checkbox-group',{attrs:{\"disabled\":_vm.disabled,\"size\":_vm.size},on:{\"change\":_vm.onStatusSelectionChange},model:{value:(_vm.status),callback:function ($$v) {_vm.status=$$v},expression:\"status\"}},_vm._l((_vm.options),function(phase){return _c('el-checkbox-button',{key:phase,attrs:{\"label\":phase}},[_c('span',[_vm._v(_vm._s(_vm.statusName(phase)))])])}),1):(_vm.type === 'select')?_c('el-select',{attrs:{\"disabled\":_vm.disabled,\"size\":_vm.size,\"placeholder\":_vm.placeholder,\"no-match-text\":\"No matching status\",\"default-first-option\":\"\",\"clearable\":_vm.clearable,\"filterable\":_vm.filterable,\"multiple\":_vm.multiple},on:{\"change\":_vm.onStatusSelectionChange},model:{value:(_vm.status),callback:function ($$v) {_vm.status=$$v},expression:\"status\"}},_vm._l((_vm.options),function(phase){return _c('el-option',{key:phase,attrs:{\"label\":_vm.statusName(phase),\"value\":phase}})}),1):_c('el-checkbox-group',{attrs:{\"disabled\":_vm.disabled,\"size\":_vm.size},on:{\"change\":_vm.onStatusSelectionChange},model:{value:(_vm.status),callback:function ($$v) {_vm.status=$$v},expression:\"status\"}},_vm._l((_vm.options),function(phase){return _c('el-checkbox',{key:phase,attrs:{\"label\":phase,\"border\":\"\"}},[_c('span',[_vm._v(_vm._s(_vm.statusName(phase)))])])}),1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { LicensingStatusPhase } from \"@Module/Licensing/Models/LicensingStatus.model\";\nimport { UISize } from \"@Service/Settings/Store/AppSettings/AppSettings.state\";\nimport { Component, Prop, Watch } from \"types-vue\";\nimport Vue from \"vue\";\n\n@Component\nexport default class StatusSelector extends Vue {\n\n @Prop({ type: [String, Array], required: true })\n protected value: LicensingStatusPhase | LicensingStatusPhase[];\n\n @Prop({ type: String, default: \"checkbox\" })\n protected type: \"checkbox\" | \"select\" | \"checkbox-button\";\n\n @Prop({ type: String, default: \"Filter by status\" })\n protected placeholder: string;\n\n @Prop({ type: Boolean, default: false })\n protected disabled: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected multiple: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected filterable: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected clearable: boolean;\n\n @Prop({ type: String, default: null })\n protected size: UISize;\n\n @Prop({ type: Array, default: () => LicensingStatusPhase.Basic })\n protected options: LicensingStatusPhase[];\n\n protected status: LicensingStatusPhase | LicensingStatusPhase[] = null;\n\n @Watch(\"value\", { immediate: true })\n protected onValueChange(status: LicensingStatusPhase | LicensingStatusPhase[]) {\n this.status = status;\n }\n\n protected onStatusSelectionChange(status: LicensingStatusPhase | LicensingStatusPhase[]) {\n this.$emit(\"input\", status);\n }\n\n protected statusName(phase: LicensingStatusPhase): string {\n return LicensingStatusPhase.nameOf(phase);\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./StatusSelector.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./StatusSelector.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./StatusSelector.vue?vue&type=template&id=8b30b7c8&\"\nimport script from \"./StatusSelector.ts?vue&type=script&lang=ts&\"\nexport * from \"./StatusSelector.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-popover',{attrs:{\"placement\":_vm.placement,\"title\":\"Purchase methods\",\"width\":\"200\",\"trigger\":\"click\",\"transition\":\"el-zoom-in-top\",\"popper-class\":\"purchase-popover\"}},[_c('el-divider',{staticClass:\"mb-8 mt-16\"}),_c('core.list',{staticClass:\"methods-list\",attrs:{\"data\":_vm.purchaseMethods},on:{\"select\":_vm.onPurchaseMethodSelected}},[_c('core.empty',{attrs:{\"slot\":\"empty\",\"description\":\"There are no purchase methods.\",\"compact\":\"\"},slot:\"empty\"},[_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"pricetag-outline\"},slot:\"icon\"})],1)],1),_vm._t(\"default\",[_c('el-button',{attrs:{\"size\":_vm.size,\"type\":_vm.type}},[_c('ion-icon',{staticClass:\"mr-6\",attrs:{\"name\":\"pricetag\"}}),_c('span',[_vm._v(_vm._s(_vm.label))])],1)],{\"slot\":\"reference\"})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { UIPlacement, UISize } from \"@Service/Settings/Store/AppSettings/AppSettings.state\";\nimport NavigationStore from \"@Core/Store/Navigation/Navigation.store\";\nimport { Component, MapGetter, Prop } from \"types-vue\";\nimport { Console } from \"vue-router\";\nimport Vue from \"vue\";\n\n@Component\nexport default class PurchasePopover extends Vue {\n\n @Prop({ type: String, default: \"bottom\" })\n protected placement: UIPlacement;\n\n @Prop({ type: String, default: null })\n protected size: UISize;\n\n @Prop({ type: String, default: \"primary\" })\n protected type: \"\" | \"default\" | \"primary\" | \"info\" | \"danger\" | \"success\" | \"warning\";\n\n @Prop({ type: String, default: \"Purchase a contract\" })\n protected label: string;\n \n @MapGetter(NavigationStore.Mapping)\n protected currentService: Console.ParentRouteDefinition;\n\n protected get purchaseMethods(): Console.PurchaseMethod[] {\n return this.currentService?.meta.appInfo?.purchaseMethods || [];\n }\n\n protected onPurchaseMethodSelected(method: Console.PurchaseMethod) {\n window.open(method.url);\n }\n} ","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./PurchasePopover.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./PurchasePopover.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PurchasePopover.vue?vue&type=template&id=413f5232&scoped=true&\"\nimport script from \"./PurchasePopover.ts?vue&type=script&lang=ts&\"\nexport * from \"./PurchasePopover.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./PurchasePopover.vue?vue&type=style&index=0&id=413f5232&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"413f5232\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LicenseListRow.vue?vue&type=style&index=0&id=281451f1&lang=scss&scoped=true&\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReportContractsExpand.vue?vue&type=style&index=0&lang=scss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{staticClass:\"service-viewport full-screen\",class:_vm.serviceViewportClass,attrs:{\"direction\":\"vertical\"}},[_c('core.header'),(!_vm.hiddenLoadingIndicator)?_c('vue-progress-bar',{staticClass:\"top-progress-bar flex-none\"}):_vm._e(),_c('el-backtop',{attrs:{\"target\":\"#viewport-content\",\"right\":16,\"bottom\":32}},[_c('el-tooltip',{attrs:{\"open-delay\":250,\"transition\":\"el-zoom-in-bottom\",\"effect\":\"light\",\"placement\":\"top\",\"content\":\"Back to top\"}},[_c('div',{staticClass:\"full flex items-center content-center\"},[_c('ion-icon',{attrs:{\"name\":\"arrow-up-outline\"}})],1)])],1),_c('el-container',{attrs:{\"direction\":\"horizontal\"}},[_c('core.menu',{staticClass:\"menu\"}),_c('el-main',{ref:\"viewportContent\",staticClass:\"space-y-24\",attrs:{\"id\":\"viewport-content\"}},[(!!_vm.currentRoute)?_c('div',{staticClass:\"space-y-24\"},[(_vm.signingOut)?_c('div',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(true),expression:\"true\"}],staticClass:\"app-loading-mask full\",attrs:{\"element-loading-background\":\"transparent\",\"element-loading-text\":\"Signing out...\"}}):(_vm.restoringSession)?_c('div',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(true),expression:\"true\"}],staticClass:\"app-loading-mask full\",attrs:{\"element-loading-background\":\"transparent\",\"element-loading-text\":\"Restoring session...\"}}):(_vm.authRequired)?_c('auth.auth-page'):(_vm.currentRoute.meta.authRequired && !_vm.userHasPreviewAccessToRoute)?_c('core.preview-access-view'):(!_vm.userHasAccessToRoute)?_c('core.forbidden-view',{attrs:{\"redirect-target\":_vm.currentRoute.service.path}}):_c('router-view')],1):_vm._e()]),(!!_vm.docsUrl)?_c('el-aside',{staticClass:\"docs-embed flex-y pos-relative\",attrs:{\"width\":\"23%\"}},[_c('div',{staticClass:\"docs-header flex items-center content-space-between p-x-16\"},[_c('core.label',{attrs:{\"type\":\"inherit\",\"icon-size\":\"14px\"}},[_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"book\"},slot:\"icon\"}),_c('H3',[_vm._v(\"Documentation\")])],1),_c('div',{staticClass:\"flex items-center space-x-6\"},[_c('el-tooltip',{attrs:{\"effect\":\"light\",\"placement\":\"top-end\",\"content\":\"Open in new tab\",\"disabled\":_vm.docsPageLoading,\"transition\":\"el-zoom-in-bottom\"}},[_c('el-button',{staticClass:\"docs-button\",attrs:{\"size\":\"mini\",\"type\":\"text\",\"icon\":\"el-icon-top-right\",\"disabled\":_vm.docsPageLoading,\"circle\":\"\"},on:{\"click\":function($event){return _vm.openCurrentDocsUrlInNewTab()}}})],1),_c('el-tooltip',{attrs:{\"effect\":\"light\",\"placement\":\"top-end\",\"content\":\"Close\",\"transition\":\"el-zoom-in-bottom\"}},[_c('el-button',{staticClass:\"docs-button\",attrs:{\"size\":\"mini\",\"type\":\"text\",\"icon\":\"el-icon-close\",\"circle\":\"\"},on:{\"click\":function($event){return _vm.closeDocsPanel()}}})],1)],1)],1),_c('div',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.docsPageLoading),expression:\"docsPageLoading\"}],staticClass:\"flex-1\",attrs:{\"element-loading-text\":\"Loading documentation...\"}},[_c('iframe',{ref:\"iFrame\",attrs:{\"width\":\"100%\",\"height\":\"100%\",\"src\":_vm.docsUrl,\"title\":\"CxLink Documentation\",\"frameborder\":\"0\"},on:{\"load\":_vm.onDocsPageLoad}})])]):_vm._e()],1),_c('auth.auth-dialog'),_c('legal.data-protection-dialog')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { UIContentSizeMode } from '@Service/Settings/Store/AppSettings/AppSettings.state';\nimport AppSettingsStore from '@Service/Settings/Store/AppSettings/AppSettings.store';\nimport { Permission } from '@Module/Auth/Models/Roles/Permissions.model';\nimport { Component, MapAction, MapGetter, Vue, Watch } from 'types-vue';\nimport { AccessRole } from '@Module/Auth/Models/Roles/AccessRole.model';\nimport NavigationStore from '@Core/Store/Navigation/Navigation.store';\nimport { SessionToken } from '@Module/Auth/Models/SessionToken.model';\nimport { TrialInfo } from '@Module/Trial/Models/TrialInfo.model';\nimport { AuthStatus } from '@Module/Auth/Store/Auth.state';\nimport UsersStore from '@Module/Users/Store/Users.store';\nimport { ConsoleRoute } from '@Core/Models/ConsoleRoute';\nimport LegalStore from '@Module/Legal/Store/Legal.store';\nimport TrialStore from '@Module/Trial/Store/Trial.store';\nimport { User } from '@Module/Users/Models/User.model';\nimport AuthStore from '@Module/Auth/Store/Auth.store';\nimport OrgsStore from '@Module/Orgs/Store/Orgs.store';\nimport { ServiceID } from '@Service/ServiceID';\nimport { Map } from '@Core/Models/Map';\nimport { Console } from 'vue-router';\n\n@Component\nexport default class ServiceViewport extends Vue {\n\n @MapGetter(NavigationStore.Mapping)\n protected currentRoute: ConsoleRoute;\n\n @MapGetter(AppSettingsStore.Mapping)\n protected isPlainUi: boolean;\n\n @MapGetter(AppSettingsStore.Mapping)\n protected hiddenLoadingIndicator: boolean;\n\n @MapGetter(AuthStore.Mapping)\n protected authStatus: AuthStatus;\n\n @MapGetter(AuthStore.Mapping)\n protected sessionToken: SessionToken;\n\n @MapGetter(UsersStore.Mapping)\n protected sessionUser: User;\n\n @MapGetter(AuthStore.Mapping)\n protected accessRole: AccessRole;\n\n @MapGetter(AppSettingsStore.Mapping)\n protected uiContentSizeMode: UIContentSizeMode;\n\n @MapGetter(NavigationStore.Mapping)\n protected docsUrl: string;\n\n @MapGetter(OrgsStore.Mapping)\n protected noOrganization: boolean;\n\n @MapAction(TrialStore.Mapping)\n protected fetchTrialInfo: (service: ServiceID) => Promise;\n\n @MapAction(LegalStore.Mapping)\n protected closeDataProtectionDialog: () => Promise;\n\n @MapAction(AuthStore.Mapping)\n protected closeAuthDialog: () => Promise;\n\n @MapAction(NavigationStore.Mapping)\n protected closeDocsPanel: () => Promise;\n\n protected docsPageLoading: boolean = false;\n\n @Watch(\"sessionToken\", { immediate: true })\n @Watch(\"currentRoute.serviceId\", { immediate: true })\n protected onServiceOrSessionChange() {\n if (!!this.sessionToken \n && !!this.currentRoute.serviceId \n && this.permissions.CanRequestTrial) {\n this.fetchTrialInfo(this.currentRoute.serviceId);\n }\n }\n\n @Watch(\"$route\")\n protected onRouteChange(to: Console.Route, from: Console.Route) {\n if (to.path === from?.path) { return; }\n const scroller = this.$refs.viewportContent as Vue;\n scroller?.$el.scrollTo({ top: 0, behavior: 'auto' });\n }\n\n protected get authRequired(): boolean {\n return this.currentRoute.meta.authRequired && (!this.sessionUser || !this.sessionToken);\n }\n\n protected get restoringSession(): boolean {\n return this.authStatus === AuthStatus.RestoringSession;\n }\n\n protected get signingOut(): boolean {\n return this.authStatus === AuthStatus.SigningOut;\n }\n\n protected get signedIn(): boolean {\n return this.authStatus === AuthStatus.SignedIn;\n }\n\n protected get serviceViewportClass(): Map {\n return { \n \"is-plain\": this.isPlainUi,\n \"is-airy\": this.uiContentSizeMode === \"airy\",\n \"is-docs-embedded\": !!this.docsUrl\n };\n }\n\n protected get userHasPreviewAccessToRoute(): boolean {\n return this.currentRoute.isAccessibleForUserWithPreviewAccess(this.sessionUser?.previewsAccess);\n }\n\n protected get userHasAccessToRoute(): boolean {\n return this.accessRole.grantsAccessToRoute(this.currentRoute);\n }\n\n protected get permissions() {\n return {\n CanRequestTrial: this.accessRole.can(this.currentRoute.serviceId, Permission.RequestTrial)\n }\n }\n\n protected openCurrentDocsUrlInNewTab() {\n let url = this.docsUrl;\n try {\n const iFrame = this.$refs.iFrame as HTMLIFrameElement;\n url = iFrame.contentWindow.location.href;\n } catch (error) {}\n window.open(url, \"_blank\");\n }\n\n protected beforeDestroy() {\n this.closeAuthDialog();\n this.closeDataProtectionDialog();\n }\n\n @Watch(\"docsUrl\")\n protected onDocsUrlChange() {\n\n this.docsPageLoading = true;\n }\n\n protected onDocsPageLoad() {\n this.docsPageLoading = false;\n }\n\n @Watch(\"signedIn\")\n protected onSignedIn(isSignedIn: boolean) {\n if (isSignedIn && this.noOrganization && !this.currentRoute.isOrgConfig) {\n this.$router.replace(ConsoleRoute.OrgConfigPath);\n }\n }\n \n}","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./ServiceViewport.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./ServiceViewport.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ServiceViewport.vue?vue&type=template&id=c73d1bc0&scoped=true&\"\nimport script from \"./ServiceViewport.ts?vue&type=script&lang=ts&\"\nexport * from \"./ServiceViewport.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./ServiceViewport.vue?vue&type=style&index=0&id=c73d1bc0&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"c73d1bc0\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('core.card',{staticClass:\"collapsable-card\",class:_vm.classBinding,attrs:{\"plain\":_vm.plain,\"bordered\":_vm.bordered,\"no-padding\":\"\"}},[_c('core.collapse',{staticClass:\"collapse\",attrs:{\"accordion\":\"\"},on:{\"change\":_vm.onCollapseStatusChange},model:{value:(_vm.expanded),callback:function ($$v) {_vm.expanded=$$v},expression:\"expanded\"}},[_c('el-collapse-item',{attrs:{\"name\":\"expanded\"}},[_c('div',{staticClass:\"section-header flex items-center w-full h-auto\",attrs:{\"slot\":\"title\"},slot:\"title\"},[_vm._t(\"header\",[_c('div',{staticClass:\"w-full space-x-8 mr-4\"},[_vm._t(\"title\",[_c('h4',{staticClass:\"title-h flex-1 text-ellipsis\"},[_vm._v(_vm._s(_vm.title))])],null,_vm.slotScope),_c('span',{staticClass:\"flex-none\"},[_vm._t(\"right-accessory\",null,null,_vm.slotScope)],2)],2)],null,_vm.slotScope)],2),_c('div',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],staticClass:\"content-wrap\"},[_vm._t(\"default\",null,null,_vm.slotScope)],2)])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Platform } from \"@Module/Resources/Models/Platform.model\";\nimport { Release } from \"@Module/Resources/Models/Release.model\";\nimport ResourcesStore from \"@Module/Resources/Store/Resources.store\";\nimport { Component, MapAction, MapGetter, Prop, Watch } from \"types-vue\";\nimport Vue from \"vue\";\n\nconst enum Status {\n Expanded = \"expanded\",\n Collapsed = \"collapsed\"\n}\n\n@Component\nexport default class ReleasesCollapse extends Vue {\n\n @Prop({ type: String })\n protected title: string;\n\n @Prop({ type: Boolean })\n protected plain: Boolean;\n \n @Prop({ type: Boolean })\n protected bordered: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected separated: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected loading: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected disabled: boolean;\n\n @Prop({ type: Boolean, default: true })\n protected defaultCollapsed: boolean;\n\n @MapGetter(ResourcesStore.Mapping)\n protected release: Release;\n\n @MapAction(ResourcesStore.Mapping)\n protected expanded: Status = Status.Expanded;\n\n protected created() {\n if (this.defaultCollapsed) {\n this.expanded = Status.Collapsed;\n }\n }\n\n protected get isExpanded(): boolean {\n return this.expanded === Status.Expanded;\n }\n\n protected get classBinding() {\n return {\n \"is-expanded\": this.isExpanded,\n \"is-loading\": this.loading,\n \"is-separated\": this.separated\n }\n }\n\n protected get slotScope() {\n return {\n expanded: this.isExpanded,\n disabled: this.disabled,\n loading: this.loading\n }\n }\n\n protected onCollapseStatusChange(status: Status) {\n this.$emit(\"expand\", status === Status.Expanded);\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./ReleasesCollapse.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./ReleasesCollapse.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ReleasesCollapse.vue?vue&type=template&id=cbca32c6&scoped=true&\"\nimport script from \"./ReleasesCollapse.ts?vue&type=script&lang=ts&\"\nexport * from \"./ReleasesCollapse.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./ReleasesCollapse.vue?vue&type=style&index=0&id=cbca32c6&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"cbca32c6\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-form',{staticClass:\"service-selector-form\",attrs:{\"autocomplete\":\"off\"}},[_c('transition',{attrs:{\"name\":\"el-fade-in\"}},[(!_vm.isFocused && !_vm.$mq.md)?_c('span',{staticClass:\"hotkey\"},[_vm._v(\"CTRL + \"+_vm._s(_vm.focusKey))]):_vm._e()]),_c('el-select',{directives:[{name:\"hotkey\",rawName:\"v-hotkey\",value:(_vm.keymap),expression:\"keymap\"}],ref:\"input\",staticClass:\"service-selector\",class:_vm.serviceSelectorClass,attrs:{\"value\":_vm.currentServicePath,\"autocomplete\":\"off\",\"placeholder\":_vm.$mq.sm ? 'Services' : 'CxLink Services',\"size\":\"large\",\"remote\":\"\",\"remote-method\":function (text) { return _vm.searchText = text || null; },\"popper-class\":\"service-selector__dropdown\",\"filterable\":\"\",\"default-first-option\":\"\"},on:{\"change\":_vm.onServiceSelected,\"focus\":function($event){_vm.isFocused = true},\"blur\":function($event){_vm.isFocused = false},\"visible-change\":_vm.onDropdownVisibleChange},nativeOn:{\"keydown\":function($event){return _vm.handleKeyDown($event)}}},[_c('core.empty',{attrs:{\"slot\":\"empty\",\"description\":\"No service meets your filtering crieria.\"},slot:\"empty\"}),_c('el-popover',{attrs:{\"slot\":\"prefix\",\"placement\":\"bottom-start\",\"transition\":\"el-zoom-in-top\",\"offset\":-20,\"open-delay\":500,\"width\":\"min-content\",\"trigger\":\"hover\",\"disabled\":!_vm.hasAppInfo},slot:\"prefix\"},[(_vm.hasAppInfo)?_c('core.details',[_c('div',{staticClass:\"info-popover__label flex items-center content-space-between space-x-16\",attrs:{\"slot\":\"label\"},slot:\"label\"},[_c('core.label',{attrs:{\"icon-spacing\":\".5rem\",\"icon-size\":\"16px\"}},[_c('i',{staticClass:\"el-icon-box\",attrs:{\"slot\":\"icon\"},slot:\"icon\"}),_c('H1',[_vm._v(\"Service information\")])],1),_c('div',{staticClass:\"space-x-4\"},[(_vm.currentRoute.isServiceInPreview)?_c('el-tooltip',{attrs:{\"effect\":\"light\",\"placement\":\"top\",\"content\":\"In Preview\",\"transition\":\"el-zoom-in-bottom\",\"enterable\":false}},[_c('i',{staticClass:\"el-icon-view\"})]):_vm._e(),(!!_vm.currentRoute.service.meta.appInfo.legacy)?_c('el-tooltip',{attrs:{\"effect\":\"light\",\"placement\":\"top\",\"content\":\"Legacy Service\",\"transition\":\"el-zoom-in-bottom\",\"enterable\":false}},[_c('i',{staticClass:\"el-icon-warning-outline\"})]):_vm._e()],1)],1),_c('div',{staticClass:\"flex flex-wrap container-y-16 container-x-16\"},[_c('core.details',{attrs:{\"label\":\"Name\",\"value\":_vm.currentRoute.service.meta.menu.label}}),_c('core.details',{attrs:{\"label\":\"Version\",\"value\":_vm.currentRoute.service.meta.appInfo.version}})],1)]):_vm._e(),_c('core.icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.currentRoute.isRoot),expression:\"!currentRoute.isRoot\"}],staticClass:\"mt-6\",attrs:{\"slot\":\"reference\",\"type\":!_vm.currentRoute.isRoot ? _vm.currentRoute.service.meta.menu.icon.type : null,\"name\":!_vm.currentRoute.isRoot ? _vm.currentRoute.service.meta.menu.icon.name : ''},slot:\"reference\"})],1),_vm._l((_vm.groupedServiceRoutes),function(menuItem){return _c('el-option-group',{key:menuItem.group.id,attrs:{\"label\":menuItem.group.label}},_vm._l((menuItem.items),function(aServiceRoute){return _c('el-option',{key:aServiceRoute.path,attrs:{\"label\":_vm.normalizeServiceName(aServiceRoute.meta.menu.label),\"value\":aServiceRoute.path}},[_c('div',{staticClass:\"flex items-center content-space-between w-full space-x-8\"},[_c('div',{staticClass:\"flex-1 flex items-center space-x-8\"},[_c('core.icon',{staticClass:\"service-icon\",attrs:{\"type\":aServiceRoute.meta.menu.icon.type,\"name\":aServiceRoute.meta.menu.icon.name}}),_c('span',[_vm._v(_vm._s(aServiceRoute.meta.menu.label))])],1),_c('div',{staticClass:\"space-x-4\"},[(aServiceRoute.isServiceInPreview)?_c('el-tooltip',{attrs:{\"effect\":\"light\",\"placement\":\"top\",\"content\":\"In Preview\",\"transition\":\"el-zoom-in-bottom\",\"enterable\":false}},[_c('i',{staticClass:\"preview-icon el-icon-view\"})]):_vm._e(),(aServiceRoute.isServiceLegacy)?_c('el-tooltip',{attrs:{\"effect\":\"light\",\"placement\":\"top\",\"content\":\"Legacy Service\",\"transition\":\"el-zoom-in-bottom\",\"enterable\":false}},[_c('i',{staticClass:\"legacy-icon el-icon-warning-outline\"})]):_vm._e()],1)])])}),1)}),(!!_vm.searchText)?_c('div',{staticClass:\"enter-hint text-disabled text-align-center\"},[_c('small',[_c('core.label',{attrs:{\"type\":\"inherit\",\"icon-size\":\"16px\",\"icon-spacing\":\"3px\"}},[_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"information-circle-outline\"},slot:\"icon\"}),_c('span',[_vm._v(\"Press enter to select the first item\")])],1)],1)]):_vm._e()],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import NavigationStore from '@Core/Store/Navigation/Navigation.store';\nimport { ConsoleRoute } from '@Core/Models/ConsoleRoute';\nimport { Component, MapGetter, Vue } from 'types-vue';\nimport { ElSelect } from 'element-ui/types/select';\nimport { Utils } from '@Core/Utils/Utils';\nimport { Console } from 'vue-router';\n\ninterface ConsoleMenuGroup {\n id: Console.RouteGroupId,\n label?: string;\n position: number;\n}\n\ninterface MenuItemModel {\n group: ConsoleMenuGroup,\n items: ConsoleRoute[]\n};\n\n@Component\nexport default class ServiceSelector extends Vue {\n\n @MapGetter(NavigationStore.Mapping)\n protected currentRoute: ConsoleRoute;\n\n @MapGetter(NavigationStore.Mapping)\n protected availableServiceRoutes: ConsoleRoute[];\n\n protected isFocused: boolean = false;\n protected searchText: string = null;\n \n protected focusKey: string = \"s\";\n\n protected mounted() {\n this.overrideSelectDebounce();\n }\n\n private overrideSelectDebounce() {\n const select = this.$refs.input as any;\n select.debouncedOnInputChange = () => { select.onInputChange(); };\n select.debouncedQueryChange = (e: any) => { select.handleQueryChange(e.target.value); };\n }\n\n protected get environment(): string {\n return process.env.VUE_APP_ENV;\n }\n\n protected get groupedServiceRoutes(): MenuItemModel[] {\n const serviceRoutes = this.availableServiceRoutes || [];\n const text = this.searchText?.toLowerCase() || \"\";\n const filteredServiceRoutes = serviceRoutes.filter(item => {\n return item.meta.menu.label?.toLowerCase().includes(text) ?? false;\n }).sort((a, b) => a.meta.menu.label.localeCompare(b.meta.menu.label));\n const serviceGroups = Utils.groupBy(filteredServiceRoutes, route => route.meta.menu.groupId);\n return Object.keys(serviceGroups).map((groupId: Console.RouteGroupId) => {\n const group = this.getConsoleMenuGroup(groupId || \"default\");\n return { group, items: serviceGroups[group.id] }\n }).sort((a, b) => a.group.position - b.group.position);\n }\n\n protected normalizeServiceName(name: string): string {\n return name.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\");\n }\n\n protected async onDropdownVisibleChange(visible: boolean) {\n if (visible) { return; }\n await Utils.sleep(200);\n this.searchText = null;\n }\n\n protected get currentServicePath(): string {\n return !this.currentRoute.isRoot \n ? this.currentRoute.service.path \n : null;\n }\n\n protected get hasAppInfo(): boolean {\n return !!this.currentRoute?.service.meta.appInfo;\n }\n\n protected get serviceSelectorClass(): Record {\n return { \n \"has-selection\": !!this.currentServicePath \n };\n }\n\n private getConsoleMenuGroup(id: Console.RouteGroupId): ConsoleMenuGroup {\n switch (id) {\n case \"service\": \n return { id: \"service\", label: \"Services\", position: 0 };\n case \"internal\": \n return { id: \"internal\", position: 1 };\n case \"admin\": \n return { id: \"admin\", label: \"Administration\", position: 9999 };\n default: \n return { id: \"default\", position: -1 };\n }\n }\n\n protected async onServiceSelected(path: string) {\n this.$router.replace(path).catch(e => e);\n await this.$nextTick();\n const select = this.$refs.input as ElSelect;\n select.blur();\n }\n\n protected toggleFocus() {\n const select = this.$refs.input as ElSelect;\n if (this.isFocused) {\n select.blur();\n } else {\n select.focus();\n }\n }\n\n protected get keymap(): Record {\n const keyMap = {};\n keyMap[`ctrl+${this.focusKey}`] = this.toggleFocus;\n return keyMap;\n }\n\n protected handleKeyDown(event: KeyboardEvent) {\n if (event.ctrlKey && event.key === this.focusKey) {\n this.toggleFocus();\n }\n }\n \n}","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./ServiceSelector.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./ServiceSelector.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ServiceSelector.vue?vue&type=template&id=d17f9ca4&scoped=true&\"\nimport script from \"./ServiceSelector.ts?vue&type=script&lang=ts&\"\nexport * from \"./ServiceSelector.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./ServiceSelector.vue?vue&type=style&index=0&lang=scss&\"\nimport style1 from \"./ServiceSelector.vue?vue&type=style&index=1&id=d17f9ca4&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"d17f9ca4\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"contract-purchase-notif-content flex-y space-y-6\"},[_c('notifications.contract-purchase-org-selection-dialog',{ref:\"dialog\",attrs:{\"notification\":_vm.notification},model:{value:(_vm.contractOrg),callback:function ($$v) {_vm.contractOrg=$$v},expression:\"contractOrg\"}}),(!_vm.hideTypeLabel)?_c('core.label',{attrs:{\"icon-y-offset\":\"-1px\"}},[_c('i',{staticClass:\"el-icon-shopping-bag-1\",attrs:{\"slot\":\"icon\"},slot:\"icon\"}),_c('H3',[_vm._v(_vm._s(_vm.notification.label))])],1):_vm._e(),_c('div',{staticClass:\"text-semibold\"},[_vm._v(\"You have a \"+_vm._s(_vm.contractService)+\" contract purchase pending to be accepted and assigned to an organization.\")]),(_vm.noOrganization)?_c('orgs.no-org-alert',{staticClass:\"mt-4\",attrs:{\"description\":\"To be able to accept and assign a contract purchase, you must belong to at least one organization.\",\"compact\":\"\",\"plain\":\"\"}}):_vm._e(),_c('notifications.notification-summary-container',[_c('core.details',{attrs:{\"label\":\"Origin\",\"spacing\":\"1px\"}},[_c('el-tag',{attrs:{\"size\":\"tiny\",\"effect\":\"dark\",\"type\":\"info\",\"disable-transitions\":\"\"}},[_c('span',[_vm._v(_vm._s(_vm.contractOrigin))])])],1),_c('core.details',{attrs:{\"label\":\"Service\",\"spacing\":\"2px\"}},[_c('span',[_vm._v(_vm._s(_vm.contractService))])])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import NotificationContentMixin, { INotificationContent, UiSuccessNotificationMap } from \"@Module/Notifications/Mixins/NotificationContentMixin\";\nimport ContractPurchaseOrgSelectionDialog from \"../../ContractPurchaseOrgSelectionDialog/ContractPurchaseOrgSelectionDialog\";\nimport NotificationsInboxStore, { AcceptContractPurchasePayload } from \"@Module/Notifications/Store/NotificationsInbox.store\";\nimport { ContractPurchaseNotification } from \"@Module/Notifications/Models/ContractPurchaseNotification.model\";\nimport { ContractOrigin } from \"@Module/Licensing/Models/ContractOrigin\";\nimport { Organization } from \"@Module/Orgs/Models/Organization.model\";\nimport NavigationStore from \"@Core/Store/Navigation/Navigation.store\";\nimport { Component, MapAction, MapGetter, mixins, Prop } from \"types-vue\";\nimport { ConsoleRoute } from \"@Core/Models/ConsoleRoute\";\nimport OrgsStore from \"@Module/Orgs/Store/Orgs.store\";\nimport { ServiceID } from \"@Service/ServiceID\";\n\ntype ConfigDialog = ContractPurchaseOrgSelectionDialog;\n\n@Component\nexport default class ContractPurchaseNotifContent extends mixins(NotificationContentMixin) implements INotificationContent {\n\n @Prop({ type: Object, required: true })\n protected notification: ContractPurchaseNotification;\n\n @Prop({ type: Boolean, default: true })\n protected isInbox: boolean;\n\n @MapGetter(OrgsStore.Mapping)\n protected noOrganization: boolean;\n\n @MapGetter(OrgsStore.Mapping)\n protected currentOrg: Organization;\n\n @MapGetter(NavigationStore.Mapping)\n protected currentRoute: ConsoleRoute;\n\n @MapAction(NotificationsInboxStore.Mapping)\n protected acceptContractPurchaseNotification: (payload: AcceptContractPurchasePayload) => Promise;\n\n protected contractOrg: Organization = null;\n protected configuring: boolean = false;\n\n protected mounted() {\n this.$watch(\n () => (this.$refs.dialog as ConfigDialog)?.isOpened ?? false,\n isOpened => this.configuring = isOpened,\n { immediate: true }\n );\n }\n\n public get canAccept(): boolean {\n return !this.noOrganization;\n }\n\n public get canResend(): boolean {\n return false;\n }\n\n public get canCancel(): boolean {\n return false;\n }\n\n public get isConfiguringResponse() {\n return this.configuring;\n }\n\n public getSuccessNotifConfig(): UiSuccessNotificationMap {\n return {\n Accept: {\n title: \"Contract purchase accepted\", \n message: `Your ${this.contractService} contract purchase from ${this.contractOrigin} has been successfully accepted and assigned.`,\n duration: 6000\n },\n Decline: {\n title: \"Contract purchase declined\", \n message: `Your ${this.contractService} contract purchase from ${this.contractOrigin} has been successfully declined.`,\n duration: 6000\n }\n }\n }\n\n protected get contractOrigin(): string {\n return ContractOrigin.nameOf(this.notification.contractOrigin);\n }\n\n protected get contractService(): string {\n return ServiceID.nameOf(this.notification.service)\n }\n\n public async accept(): Promise {\n this.contractOrg = this.currentOrg;\n const orgSelectionDialog = this.$refs.dialog as ConfigDialog;\n const shouldProceed = await orgSelectionDialog.open();\n if (!shouldProceed) { return false; }\n await this.acceptContractPurchaseNotification({\n notification: this.notification,\n organization: this.contractOrg\n });\n return true;\n }\n\n}","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--13-3!./ContractPurchaseNotifContent.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--13-3!./ContractPurchaseNotifContent.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ContractPurchaseNotifContent.vue?vue&type=template&id=17d9411d&\"\nimport script from \"./ContractPurchaseNotifContent.ts?vue&type=script&lang=ts&\"\nexport * from \"./ContractPurchaseNotifContent.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OrgEditorForm.vue?vue&type=style&index=0&id=69c328b9&lang=scss&scoped=true&\"","import { ConsoleError } from \"@Core/Errors/ConsoleError\";\n\ninterface SignInApiErrorMeta {\n username: string;\n code: number;\n}\n\nexport class SignInApiError extends ConsoleError {}","import { ConsoleError } from \"@Core/Errors/ConsoleError\";\nimport { ISignUpDto } from \"../Models/SignUp/SignUp.model\";\n\nexport class SignUpApiError extends ConsoleError {}","import { NewPwdChallenge } from \"../Models/SignIn/NewPwdChallenge.model\";\nimport { ConsoleError } from \"@Core/Errors/ConsoleError\";\n\ninterface NewPwdApiErrorMeta {\n username: string;\n challenge?: NewPwdChallenge;\n}\n\nexport class NewPwdApiError extends ConsoleError {}","import { ConsoleError } from \"@Core/Errors/ConsoleError\";\n\ninterface ForgotPwdApiErrorMeta {\n username: string;\n}\n\nexport class ForgotPwdApiError extends ConsoleError {}","import { ConsoleError } from \"@Core/Errors/ConsoleError\";\n\ninterface SignOutApiErrorMeta {\n accessToken: string;\n}\n\nexport class SignOutApiError extends ConsoleError {}","import { ConsoleError } from \"@Core/Errors/ConsoleError\";\n\ninterface ChangePwdApiErrorMeta {\n username: string;\n}\n\nexport class ChangePwdApiError extends ConsoleError {}","import { ConsoleError } from \"@Core/Errors/ConsoleError\";\n\ninterface GetRolesApiErrorMeta {}\n\nexport class GetRolesApiError extends ConsoleError {}","import { ConsoleError } from \"@Core/Errors/ConsoleError\";\n\ninterface GetRolePermissionsApiErrorMeta {\n id: number;\n}\n\nexport class GetRolePermissionsApiError extends ConsoleError {}","import { SignIn } from \"../Models/SignIn/SignIn.model\";\nimport AxiosAPI from \"@Core/API/AxiosAPI\";\nimport { ISignInResponseDto, SignInResponse } from \"../Models/SignIn/SignInResponse.model\";\nimport { ISignInChallengeDto, SignInChallenge } from \"../Models/SignIn/SignInChallenge.model\";\nimport { SignInApiError } from \"../Errors/SignInApiError\";\nimport { SignUp } from \"../Models/SignUp/SignUp.model\";\nimport { SignUpApiError } from \"../Errors/SignUpApiError\";\nimport { NewPwdChallenge } from \"../Models/SignIn/NewPwdChallenge.model\";\nimport { NewPwdApiError } from \"../Errors/NewPwdApiError\";\nimport { ForgotPwd } from \"../Models/ForgotPwd/ForgotPwd.model\";\nimport { ForgotPwdApiError } from \"../Errors/ForgotPwdApiError\";\nimport { SignOutApiError } from \"../Errors/SignOutApiError\";\nimport { ChangePwdApiError } from \"../Errors/ChangePwdApiError\";\nimport { GetRolesApiError } from \"../Errors/GetRolesApiError\";\nimport { GetRolePermissionsApiError } from \"../Errors/GetRolePermissionsApiError\";\nimport { IRoleDto, IRolePermissionsDto } from \"../Models/Roles/AccessRole.model\";\nimport { Recovery } from \"../Models/Recovery.model\";\n\nclass AuthAPI extends AxiosAPI {\n private static instance: AuthAPI;\n \n public static get Instance(): AuthAPI {\n return this.instance || (this.instance = new this());\n }\n\n protected url(slug?: string): string {\n const baseUrl = process.env.VUE_APP_SERVICE_URL_AUTH;\n return !!slug ? `${baseUrl}/${slug}` : baseUrl;\n }\n\n protected rolesUrl(slug?: string): string {\n const baseUrl = `${process.env.VUE_APP_SERVICE_URL_BACKEND}/roles`;\n return !!slug ? `${baseUrl}/${slug}` : baseUrl;\n }\n\n public async signOut(accessToken: string): Promise {\n try {\n const url = this.url(\"authentication/servicesignout\");\n await this.axios.post(url, undefined, { headers: { \"Access-Header\": accessToken } });\n } catch (error) {\n const message = `An error occurred while signing out. Please try again later.`;\n throw new SignOutApiError(message, {\n cause: error,\n meta: { accessToken }\n });\n }\n }\n\n public async signIn(model: SignIn): Promise {\n try {\n const requestDto = model.toDto();\n const url = this.url(\"authentication/servicesignin\");\n const response = await this.axios.post(url, requestDto, { unauthenticated: true });\n const responseDto: ISignInResponseDto | ISignInChallengeDto = response.data;\n if (this.isSignInChallengeDto(responseDto)) {\n const challenge = SignInChallenge.fromDto(responseDto);\n challenge.keepSession = model.keepSession;\n return challenge;\n } else {\n return SignInResponse.fromDto(responseDto);\n }\n } catch (error) {\n if (error.response.status === 413) {\n const challenge = SignInChallenge.fromDto({ challenge_name: \"VALIDATION_REQUIRED\", username: model.email, session: null });\n challenge.keepSession = model.keepSession;\n return challenge;\n }\n const message = `An error occurred while signing in. Please check your email and password.`;\n throw new SignInApiError(message, { \n cause: error, \n meta: { username: model.email, code: error.response.status }\n });\n }\n }\n\n public async signUp(model: SignUp): Promise {\n const requestDto = model.toDto();\n const environment = process.env.VUE_APP_ENV;\n const url = this.url(\"user/register\");\n try {\n await this.axios.post(url, requestDto, { unauthenticated: true });\n } catch (error) {\n const message = `An error occurred while signing up.`;\n throw new SignUpApiError(message, { \n cause: error, \n meta: requestDto\n });\n }\n }\n\n public async changePassword(username: string, newPwd: string): Promise {\n try {\n const url = this.url(\"user/changepassword\");\n const response = await this.axios.post(url, {\n username, newpassword: newPwd\n });\n const data = response.data as { success: boolean };\n if (data.success !== true) {\n const msg = `This request ended with a failure flag into the response body. (success: ${data.success})`;\n throw new Error(msg);\n }\n } catch (error) {\n const message = `An error occurred while changing your password. Please try again later.`;\n throw new ChangePwdApiError(message, {\n cause: error,\n meta: { username }\n });\n }\n }\n\n public async forgotPwd(model: ForgotPwd): Promise {\n const requestDto = model.toDto();\n const url = this.url(\"authentication/forgotpassword\");\n try {\n await this.axios.post(url, requestDto, { unauthenticated: true });\n } catch (error) {\n const message = `An error occurred requesting your password recovery.`;\n throw new ForgotPwdApiError(message, { \n cause: error, \n meta: { username: requestDto.username }\n });\n }\n }\n\n public async confirmForgotPwd(model: ForgotPwd): Promise {\n const requestDto = model.toDto();\n const url = this.url(\"authentication/confirmforgotpassword\");\n try {\n await this.axios.post(url, requestDto, { unauthenticated: true });\n } catch (error) {\n const message = `An error occurred performing your password recovery.`;\n throw new ForgotPwdApiError(message, { \n cause: error, \n meta: { username: requestDto.username }\n });\n }\n }\n\n public async respondToNewPwdChallenge(challenge: NewPwdChallenge): Promise {\n try {\n const requestDto = challenge.toDto();\n const url = this.url(\"authentication/activateuser\");\n const response = await this.axios.post(url, requestDto, { unauthenticated: true });\n const responseDto: ISignInResponseDto = response.data;\n return SignInResponse.fromDto(responseDto);\n } catch (error) {\n const message = `An error occurred while responding to mandatory password change. Please try again.`;\n throw new NewPwdApiError(message, { \n cause: error, \n meta: { username: challenge.username, challenge }\n });\n }\n }\n\n public async verifyCode(challenge: Recovery): Promise {\n try {\n const requestDto = challenge.toDto();\n const url = this.url(\"authentication/activateuser\");\n const response = await this.axios.post(url, requestDto, { unauthenticated: true });\n const responseDto: ISignInResponseDto = response.data;\n return response.data;\n } catch (error) {\n const message = `An error occurred while responding to mandatory password change. Please try again.`;\n throw new NewPwdApiError(message, { \n cause: error, \n meta: { username: challenge.username }\n });\n }\n }\n\n private isSignInChallengeDto(dto: any): dto is ISignInChallengeDto {\n if (!dto) return false;\n return !!(dto as ISignInChallengeDto).challenge_name;\n }\n\n public async getRolePermissions(id: number): Promise {\n try {\n const url = this.rolesUrl(`${id.toString()}/permissions`);\n const response = await this.axios.get(url);\n return response.data;\n } catch (error) {\n const message = `An error occurred while retrieving user organizations.`;\n throw new GetRolePermissionsApiError(message, { \n cause: error, \n meta: { id }\n });\n }\n }\n\n public async getRoles(): Promise {\n try {\n const url = this.rolesUrl();\n const response = await this.axios.get(url);\n return response.data;\n } catch (error) {\n const message = `An error occurred while retrieving role list.`;\n throw new GetRolesApiError(message, { cause: error });\n }\n }\n\n}\n\nexport default AuthAPI.Instance;","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-breadcrumb',{attrs:{\"separator\":\"/\",\"separator-class\":\"el-icon-arrow-right\"}},[_vm._l((_vm.route.breadcrumb),function(item){return [_c('el-breadcrumb-item',{key:item.path,attrs:{\"to\":(!!item.meta.breadcrumb && !!item.meta.breadcrumb.noLink) || _vm.shouldDisable(item) ? '' : item.path}},[_vm._v(\" \"+_vm._s(item.meta.menu.label)+\" \")])]}),(_vm.shouldAppendCurrentRoute)?_c('el-breadcrumb-item',[_vm._v(_vm._s(_vm.route.meta.menu.label))]):_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { ConsoleRoute } from \"@Core/Models/ConsoleRoute\";\nimport NavigationStore from \"@Core/Store/Navigation/Navigation.store\";\nimport { Component, MapGetter, Prop } from \"types-vue\";\nimport Vue from \"vue\";\n\n@Component\nexport default class Breadcrumb extends Vue {\n\n @Prop({ required: true })\n protected route: ConsoleRoute;\n\n \n @MapGetter(NavigationStore.Mapping)\n protected currentRoute: ConsoleRoute;\n\n protected get shouldAppendCurrentRoute(): boolean {\n return !this.route.meta.breadcrumb?.hidden;\n }\n\n protected shouldDisable(item): boolean {\n return item.redirect?.name === this.currentRoute.name ;\n }\n\n}","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./Breadcrumb.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./Breadcrumb.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Breadcrumb.vue?vue&type=template&id=9ce395e2&\"\nimport script from \"./Breadcrumb.ts?vue&type=script&lang=ts&\"\nexport * from \"./Breadcrumb.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { YesNoOption } from \"@Core/Components/YesNoCheckboxGroup/YesNoCheckboxGroup\";\nimport { HostFilters } from \"@Module/Licensing/Models/HostFilters.model\";\n\nexport class AbapSuiteHostFilters extends HostFilters {\n\n public production: YesNoOption[];\n public sIds: string[];\n\n protected initialize() {\n super.initialize();\n this.production = [];\n this.sIds = [];\n }\n\n public static create(): AbapSuiteHostFilters {\n return new AbapSuiteHostFilters();\n }\n\n public get isFiltering(): boolean {\n return super.isFiltering \n || this.sIds.length > 0\n || this.production.length > 0;\n }\n\n}","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Alert.vue?vue&type=style&index=0&lang=scss&\"","import { Action, Getter, Module, Mutation, VuexModule } from \"types-vue\";\nimport { MenuStoreState } from \"./Menu.state\";\nimport { Utils } from \"@Core/Utils/Utils\";\nimport { ActionContext } from \"vuex\";\n\nconst enum MenuStoreCommit {\n SetFloatingMenuVisible = \"_setFloatingMenuVisible\"\n}\n\n@Module({ namespaced: true })\nexport default class MenuStore extends VuexModule implements MenuStoreState {\n public static readonly Mapping = Utils.createVuexMappingOptions(\"Menu\");\n\n public _isFloatingMenuVisible: boolean = false;\n\n @Getter()\n public isFloatingMenuVisible(): boolean {\n return this._isFloatingMenuVisible;\n }\n\n @Mutation()\n public _setFloatingMenuVisible(visible: boolean): void {\n this._isFloatingMenuVisible = visible;\n }\n\n @Action({ commit: MenuStoreCommit.SetFloatingMenuVisible })\n public async setFloatingMenuVisible(visible: boolean): Promise {\n return visible;\n }\n\n @Action({ useContext: true, commit: MenuStoreCommit.SetFloatingMenuVisible })\n public async toggleFloatingMenuVisibility(ctx: ActionContext): Promise {\n return !ctx.state._isFloatingMenuVisible;\n }\n\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"users-role-manager space-y-8\"},[_c('div',{staticClass:\"flex container-x-8 container-y-8 flex-wrap\"},[_c('el-input',{staticClass:\"flex-3\",staticStyle:{\"min-width\":\"15rem\"},attrs:{\"disabled\":_vm.users.length === 0,\"size\":\"small\",\"placeholder\":\"Search users\",\"prefix-icon\":\"el-icon-search\",\"clearable\":\"\"},model:{value:(_vm.filters.search),callback:function ($$v) {_vm.$set(_vm.filters, \"search\", $$v)},expression:\"filters.search\"}}),_c('orgs.role-selector',{staticClass:\"flex-2\",staticStyle:{\"min-width\":\"15rem\"},attrs:{\"disabled\":_vm.users.length === 0,\"size\":\"small\",\"placeholder\":\"Filter users by role\",\"multiple\":\"\",\"clearable\":\"\"},model:{value:(_vm.filters.roles),callback:function ($$v) {_vm.$set(_vm.filters, \"roles\", $$v)},expression:\"filters.roles\"}},[_c('core.empty',{attrs:{\"slot\":\"empty\",\"description\":\"No matching role\",\"no-icon\":\"\",\"compact\":\"\"},slot:\"empty\"})],1)],1),_c('core.list',{staticClass:\"m-x-4\",attrs:{\"data\":_vm.filteredUsers,\"label-key-path\":\"fullName\",\"id-key-path\":\"username\",\"description-key-path\":\"username\",\"selectable\":false,\"compact\":\"\"},scopedSlots:_vm._u([{key:\"accessory-right\",fn:function(ref){\nvar item = ref.item;\nreturn (!!item.getOrgRoleForOrg(_vm.currentOrgRole.organization))?_c('div',{staticClass:\"flex items-center space-x-8\"},[(!_vm.permissions.CanEditOrgUsers)?_c('orgs.org-role-tag',{attrs:{\"role\":item.getOrgRoleForOrg(_vm.currentOrgRole.organization).role}}):[(!_vm.permissions.CanEditOrgUsers || item.getOrgRoleForOrg(_vm.currentOrgRole.organization).role.isManaged && !_vm.currentUserHasManagedRole)?_c('orgs.org-role-tag',{attrs:{\"role\":item.getOrgRoleForOrg(_vm.currentOrgRole.organization).role}}):_c('orgs.role-selector',{staticStyle:{\"max-width\":\"8.1rem\"},attrs:{\"size\":\"mini\",\"disabled\":_vm.isLoading},model:{value:(item.getOrgRoleForOrg(_vm.currentOrgRole.organization).role),callback:function ($$v) {_vm.$set(item.getOrgRoleForOrg(_vm.currentOrgRole.organization), \"role\", $$v)},expression:\"item.getOrgRoleForOrg(currentOrgRole.organization).role\"}},[_c('core.empty',{attrs:{\"slot\":\"empty\",\"description\":\"No matching role\",\"no-icon\":\"\",\"compact\":\"\"},slot:\"empty\"})],1)],_c('el-tooltip',{attrs:{\"effect\":\"light\",\"placement\":\"top\",\"transition\":\"el-zoom-in-bottom\",\"content\":\"Delete user\",\"enterable\":false}},[(_vm.permissions.CanDeleteOrgUsers)?_c('el-button',{attrs:{\"size\":\"mini\",\"type\":\"danger\",\"icon\":\"el-icon-delete\",\"disabled\":_vm.isLoading,\"loading\":_vm.remove.loading},on:{\"click\":function($event){return _vm.onRemoveUserFromCurrentOrg(item)}}}):_vm._e()],1),(item.hasUncommittedChanges && _vm.permissions.CanEditOrgUsers)?[_c('el-divider',{staticClass:\"org-user-save-discard-separator\",attrs:{\"direction\":\"vertical\"}}),_c('el-tooltip',{attrs:{\"effect\":\"light\",\"placement\":\"top\",\"transition\":\"el-zoom-in-bottom\",\"content\":\"Discard changes\",\"enterable\":false}},[_c('el-button',{attrs:{\"size\":\"mini\",\"icon\":\"el-icon-refresh-left\",\"disabled\":_vm.isLoading},on:{\"click\":function($event){return item.discardUncommittedChanges()}}})],1),_c('el-tooltip',{attrs:{\"effect\":\"light\",\"placement\":\"top\",\"transition\":\"el-zoom-in-bottom\",\"content\":\"Save changes\",\"enterable\":false}},[_c('el-button',{attrs:{\"size\":\"mini\",\"type\":\"primary\",\"disabled\":_vm.isLoading,\"loading\":_vm.update.loading,\"icon\":\"el-icon-check\"},on:{\"click\":function($event){return _vm.onUpdateOrgUserRole(item)}}})],1)]:_vm._e()],2):_vm._e()}}],null,true)},[(_vm.isFiltering)?_c('core.empty',{attrs:{\"slot\":\"empty\",\"compact\":\"\"},slot:\"empty\"},[_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"people-circle\"},slot:\"icon\"}),_c('div',{staticClass:\"flex-y space-y-16 items-center\"},[_c('span',[_vm._v(\"No user meets your filtering criteria.\")]),_c('el-button',{staticClass:\"w-max-content\",attrs:{\"size\":\"small\",\"icon\":\"el-icon-delete\"},on:{\"click\":_vm.clearFilters}},[_c('span',[_vm._v(\"Clear filters\")])])],1)],1):_vm._t(\"empty\",[_c('core.empty',{attrs:{\"slot\":\"empty\",\"description\":\"There are no users.\"},slot:\"empty\"},[_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"people-circle\"},slot:\"icon\"})],1)],{\"slot\":\"empty\"})],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { OrganizationRole } from \"@Module/Orgs/Models/Roles/OrganizationRole.model\";\nimport { AccessRole, Role } from \"@Module/Auth/Models/Roles/AccessRole.model\";\nimport { Permission } from \"@Module/Auth/Models/Roles/Permissions.model\";\nimport { Component, MapAction, MapGetter, Prop } from \"types-vue\";\nimport UsersStore from \"@Module/Users/Store/Users.store\";\nimport { User } from \"@Module/Users/Models/User.model\";\nimport OrgsStore from \"@Module/Orgs/Store/Orgs.store\";\nimport AuthStore from \"@Module/Auth/Store/Auth.store\";\nimport { Execution } from \"@Core/Models/Execution\";\nimport { ServiceID } from \"@Service/ServiceID\";\nimport { Notify } from \"@Core/Utils/Notify\";\nimport Vue from \"vue\";\n\ninterface UserRoleManagerFilters {\n search: string;\n roles: Role[];\n}\n\n@Component\nexport default class UsersRoleManager extends Vue {\n\n @Prop({ type: Array, required: true, default: () => [] })\n protected users: User[];\n\n @MapGetter(AuthStore.Mapping)\n protected roles: Role[];\n\n @MapGetter(AuthStore.Mapping)\n protected accessRole: AccessRole;\n\n @MapGetter(OrgsStore.Mapping)\n protected currentOrgRole: OrganizationRole;\n\n @MapAction(UsersStore.Mapping)\n protected updateOrgUserRole: (user: User) => Promise;\n\n @MapAction(UsersStore.Mapping)\n protected removeUserFromCurrentOrg: (user: User) => Promise;\n\n protected remove = Execution.create((user: User) => this.removeUserFromCurrentOrg(user))\n protected update = Execution.create((user: User) => this.updateOrgUserRole(user))\n\n protected filters: UserRoleManagerFilters = {\n search: null,\n roles: []\n }\n\n protected get currentUserHasManagedRole(): boolean {\n return this.currentOrgRole.role.isManaged;\n }\n\n protected get isFiltering(): boolean {\n return !!this.filters.search \n || (!!this.filters.roles && this.filters.roles.length > 0);\n }\n\n protected get filteredUsers(): User[] {\n const filteredUsers = this.users.filter(user => user.meetsFilter(this.filters.search));\n return this.filters.roles.length === 0 \n ? filteredUsers \n : filteredUsers.filter(user => this.filters.roles.some(role => {\n const userRoleInCurrentOrg = user.getRemoteOrgRoleForOrg(this.currentOrgRole.organization).role;\n return role.id === userRoleInCurrentOrg.id;\n }));\n }\n\n protected clearFilters() {\n this.filters = {\n search: null, roles: []\n }\n }\n\n protected async onRemoveUserFromCurrentOrg(user: User) {\n try {\n const title = `Remove user from organization`;\n const message = `Are you sure you want to remove the user ${user.username} from ${this.currentOrgRole.organization.name} organization?`;\n await this.$prompt(message, title, {\n type: \"warning\",\n cancelButtonText: \"Cancel\",\n confirmButtonText: `Remove user from ${this.currentOrgRole.organization.name}`,\n confirmButtonClass: 'el-button--danger',\n dangerouslyUseHTMLString: true,\n inputErrorMessage: `Type '${user.username}' to confirm`,\n inputValidator: value => value === user.username,\n inputPlaceholder: `Type '${user.username}' to confirm`\n });\n await this.remove.run(user)\n if (this.remove.error) {\n Notify.Error({\n title: \"Remove from organization error\",\n message: this.remove.error.message\n });\n } else {\n Notify.Success({\n title: \"User removed from organization\",\n message: `User ${user.username} successfully removed from ${this.currentOrgRole.organization.name} organization.`\n });\n }\n } catch {}\n }\n\n protected async onUpdateOrgUserRole(user: User) {\n await this.update.run(user);\n if (!!this.update.error) {\n Notify.Error({\n title: \"Error updating user access role\",\n message: this.update.error.message\n });\n } else {\n Notify.Success({\n title: \"User access role updated\",\n message: `The access role for ${user.username} has been susccessfully updated.`\n });\n }\n }\n\n protected get isLoading(): boolean {\n return this.remove.loading || this.update.loading;\n }\n\n protected get permissions() {\n return {\n CanListOrgUsers: this.accessRole.can(ServiceID.Console, Permission.ListOrgUsers),\n CanDeleteOrgUsers: this.accessRole.can(ServiceID.Console, Permission.DeleteOrgUsers),\n CanEditOrgUsers: this.accessRole.can(ServiceID.Console, Permission.EditOrgUsers),\n CanCreateOrgUsers: this.accessRole.can(ServiceID.Console, Permission.CreateOrgUsers)\n }\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./UsersRoleManager.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./UsersRoleManager.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./UsersRoleManager.vue?vue&type=template&id=9a4f9e10&scoped=true&\"\nimport script from \"./UsersRoleManager.ts?vue&type=script&lang=ts&\"\nexport * from \"./UsersRoleManager.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./UsersRoleManager.vue?vue&type=style&index=0&id=9a4f9e10&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"9a4f9e10\",\n null\n \n)\n\nexport default component.exports","import { HostFilters } from \"@Module/Licensing/Models/HostFilters.model\";\n\nexport class EmoryHostFilters extends HostFilters {\n\n public versions: string[];\n public ips: string[];\n public sIds: string[];\n\n protected initialize() {\n super.initialize();\n this.versions = [];\n this.sIds = [];\n this.ips = [];\n }\n\n public static create(): EmoryHostFilters {\n return new EmoryHostFilters();\n }\n\n public get isFiltering(): boolean {\n return super.isFiltering \n || this.versions.length > 0\n || this.sIds.length > 0\n || this.ips.length > 0;\n }\n\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar item = ref.item;\nvar disabled = ref.disabled;\nreturn _c('span',{staticClass:\"list-container\"},_vm._l((_vm.release.resources),function(resource){return _c('div',[(resource.subcategory !== 'Release Note')?_c('div',{staticClass:\"resource-container\"},[_c('span',[_vm._v(_vm._s(resource.description))]),_c('div',[(!!resource.release_note_id)?_c('el-tooltip',{attrs:{\"open-delay\":500,\"effect\":\"light\",\"content\":\"Package notes\",\"enterable\":false}},[_c('el-button',{attrs:{\"disabled\":disabled,\"type\":\"text\",\"size\":\"mini\",\"icon\":\"el-icon-notebook-2\"},on:{\"click\":function($event){return _vm.downloadResource(resource.release_note_id)}}})],1):_vm._e(),_c('el-tooltip',{attrs:{\"open-delay\":500,\"effect\":\"light\",\"content\":resource.file,\"enterable\":false}},[_c('el-button',{attrs:{\"disabled\":disabled,\"type\":\"text\",\"size\":\"mini\"},on:{\"click\":function($event){return _vm.downloadResource(resource.id)}}},[_vm._v(\"Download\")])],1)],1)]):_vm._e()])}),0)}}])},[((!!_vm.label || !!_vm.$slots.label) && (_vm.selectedVersion !== null && _vm.selectedDimension !== null))?_c('div',{staticClass:\"label-wrap\"},[_vm._t(\"label\",[_c('span',{staticClass:\"list-label\"},[_vm._v(_vm._s(_vm.label))])])],2):_vm._e(),(_vm.releases.length == 0)?_c('core.empty',{attrs:{\"slot\":\"empty\",\"description\":\"There are no maintenance packages yet\"},slot:\"empty\"},[_c('i',{staticClass:\"el-icon-box\",attrs:{\"slot\":\"icon\"},slot:\"icon\"})]):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Resource, ResourceType } from \"@Module/Resources/Models/Resource.model\";\nimport { UISize, UIPlacement } from \"@Service/Settings/Store/AppSettings/AppSettings.state\";\nimport { Organization } from \"@Module/Orgs/Models/Organization.model\";\nimport { Component, MapAction, MapGetter, Prop, Watch } from \"types-vue\";\nimport { Release } from \"@Module/Resources/Models/Release.model\";\nimport ResourcesApi from \"@Module/Resources/API/Resources.api\";\nimport OrgsStore from \"@Module/Orgs/Store/Orgs.store\";\nimport { ServiceID } from \"@Service/ServiceID\";\nimport { Notify } from \"@Core/Utils/Notify\";\nimport AuthStore from \"@Module/Auth/Store/Auth.store\";\nimport { SessionToken } from \"@Module/Auth/Models/SessionToken.model\";\nimport Vue from \"vue\";\nimport { Execution } from \"@Core/Models/Execution\";\nimport ResourcesStore from \"@Module/Resources/Store/Resources.store\";\nimport { WizardConfig } from \"@Module/Resources/Models/WizardConfig.model\";\nimport { Dimension } from \"@Module/Licensing/Models/Dimension.model\";\n\n@Component\nexport default class ReleasesList extends Vue {\n\n @Prop({ type: String, required: true })\n protected serviceId: ServiceID;\n\n @Prop({ type: Number, default: null})\n protected selectedVersion: Number;\n\n @Prop({ type: Object, default: null})\n protected selectedDimension: Dimension;\n\n @Prop({ type: Boolean, default: false })\n protected disabled: boolean;\n\n @Prop({ type: String, default: null })\n protected label: string;\n\n\n @Prop({type: Array})\n protected releases: Release[] \n\n\n @Prop({ type: String, default: true })\n protected loading: boolean; \n\n protected getResourceLink = Execution.create(ResourcesApi.getResourceLink, ResourcesApi);\n\n\n\n protected async downloadResource(resId: number) {\n try {\n const resourceLink = await this.getResourceLink.run(resId, this.serviceId);\n window.open(resourceLink);\n } catch (error) {\n let message = \"An error occurred starting the resource download. Please, try again later.\";\n Notify.Error({ title: \"Download error\", message });\n }\n } \n\n }\n\n ","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./ReleasesList.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./ReleasesList.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ReleasesList.vue?vue&type=template&id=0d450f4e&\"\nimport script from \"./ReleasesList.ts?vue&type=script&lang=ts&\"\nexport * from \"./ReleasesList.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./ReleasesList.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SubMenuItem.vue?vue&type=style&index=0&id=20c8a96e&lang=scss&scoped=true&\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OrgRoleEditor.vue?vue&type=style&index=0&lang=scss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"space-y-16\"},[_c('el-form',{attrs:{\"label-width\":\"110px\",\"label-position\":\"right\"}},[_c('el-select',{staticClass:\"w-full\",attrs:{\"disabled\":_vm.releases.length === 0,\"value\":_vm.value,\"placeholder\":_vm.placeholder,\"placeholder\":\"Select a release\",\"filterable\":\"\"},on:{\"change\":_vm.onReleaseSelected}},[_c('ion-icon',{staticClass:\"ml-4\",staticStyle:{\"font-size\":\"16px\"},attrs:{\"slot\":\"prefix\",\"name\":\"cube-outline\"},slot:\"prefix\"}),_vm._l((_vm.releases),function(release){return _c('el-option',{key:release.name,attrs:{\"label\":release.description,\"value\":release.id}})}),_c('core.empty',{attrs:{\"slot\":\"empty\",\"description\":\"No release meets your filtering criteria.\"},slot:\"empty\"},[_c('ion-icon',{attrs:{\"slot\":\"icon\",\"name\":\"cube-outline\"},slot:\"icon\"})],1)],2)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Prop } from \"types-vue\";\nimport { Release } from \"@Module/Resources/Models/Release.model\";\nimport { ServiceID } from \"@Service/ServiceID\";\nimport Vue from \"vue\";\n\n\nconst enum PackageTypeTab {\n Installation = \"installation\",\n Upgrade = \"upgrade\",\n Maintenance = \"maintenance\"\n}\n\n@Component\nexport default class ReleaseSelector extends Vue {\n\n @Prop({ type: String, default: \"Pick a release\" })\n protected placeholder: string;\n\n @Prop({ type: [Object, Array], default: null })\n protected releases: Release[];\n\n @Prop({ type: Number, default: null })\n protected value: Number;\n\n @Prop({ type: Boolean, default: false })\n protected disabled: boolean;\n\n @Prop({ type: Boolean, default: false })\n protected allowBrowsing: boolean;\n\n protected searchText: string = null;\n\n protected onReleaseSelected(release: Number ): void {\n const selectedRelease = release || null;\n this.$emit(\"input\", selectedRelease);\n this.$emit(\"update:value\", selectedRelease);\n this.$emit(\"select\", selectedRelease);\n this.$emit(\"change\", selectedRelease);\n this.searchText = null;\n } \n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./ReleaseSelector.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./ReleaseSelector.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ReleaseSelector.vue?vue&type=template&id=648fca89&\"\nimport script from \"./ReleaseSelector.ts?vue&type=script&lang=ts&\"\nexport * from \"./ReleaseSelector.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import DayJS, { Dayjs } from \"dayjs\";\nimport Clone from \"lodash.clonedeep\";\nimport IsEqual from \"lodash.isequal\";\n\nexport interface IOrganizationDto {\n id: number;\n name: string;\n uuid: string;\n is_test: boolean;\n domain_name?: string;\n parent_id?: number;\n updated_at: string;\n created_at: string;\n}\n\nexport interface IUpdateOrganizationDto {\n is_test: boolean;\n domain_name: string;\n}\n\nexport class Organization {\n public readonly id: number;\n public readonly name: string;\n public readonly uuid: string;\n public readonly isTest: boolean;\n public readonly domain?: string;\n public readonly parentId?: number;\n public readonly creation: Dayjs;\n public readonly modification: Dayjs;\n public readonly remote?: IOrganizationDto;\n\n private constructor(dto: IOrganizationDto) {\n this.id = dto.id;\n this.name = dto.name;\n this.uuid = dto.uuid;\n this.isTest = dto.is_test;\n this.parentId = dto.parent_id;\n this.domain = dto.domain_name;\n this.creation = DayJS(dto.created_at);\n this.modification = DayJS(dto.updated_at);\n if (dto.id !== undefined) {\n this.remote = dto;\n this.remote.uuid = this.uuid;\n this.remote.created_at = this.creation.toISOString();\n this.remote.updated_at = this.modification.toISOString();\n }\n }\n\n public static create(dto?: Partial): Organization {\n return new Organization({ \n id: undefined, \n uuid: dto?.uuid, \n name: dto?.name, \n is_test: false,\n created_at: DayJS().toISOString(),\n updated_at: DayJS().toISOString(),\n parent_id: dto?.parent_id,\n domain_name: dto?.domain_name\n });\n }\n\n public static fromDto(dto: IOrganizationDto): Organization {\n return new Organization(dto);\n }\n\n public meetsSearch(query: string): boolean {\n const text = query ? query.toLowerCase() : \"\";\n const meetsName = this.name.toLowerCase().includes(text);\n const meetsUuid = this.uuid.toLowerCase().includes(text);\n const meetsDomain = this.domain?.toLowerCase().includes(text) ?? false;\n return meetsName || meetsUuid || meetsDomain;\n }\n\n public get isRemote(): boolean {\n return this.id !== undefined;\n }\n\n public discardUncommittedChanges() {\n Object.assign(this, new Organization(this.remote));\n }\n\n public get hasUncommittedChanges(): boolean {\n if (!this.isRemote) { return true; }\n const dto = JSON.parse(JSON.stringify(this.toDto()));\n const remote = JSON.parse(JSON.stringify(this.remote));\n return !IsEqual(dto, remote);\n }\n\n public clone(): Organization {\n return Clone(this);\n }\n\n public toUpdateDto(): IUpdateOrganizationDto {\n const { is_test, domain_name } = this.toDto();\n return { is_test: is_test !== this.remote?.is_test ? is_test : undefined, domain_name };\n }\n\n public toDto(): IOrganizationDto {\n return {\n id: this.id ?? undefined,\n name: this.name,\n uuid: this.uuid,\n is_test: this.isTest,\n parent_id: this.parentId,\n domain_name: this.domain?.toLowerCase() || undefined,\n created_at: this.remote?.created_at,\n updated_at: this.remote?.updated_at,\n };\n }\n \n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"space-y-8\"},[_c('core.details',{attrs:{\"label\":\"Hostname\"}},[_c('core.prop-value-selector',{attrs:{\"data\":_vm.serviceLicenseHosts,\"disabled\":_vm.disabled,\"size\":_vm.size,\"prop\":\"hostname\",\"placeholder\":\"Filter by hostname\",\"multiple\":\"\",\"filterable\":\"\",\"clearable\":\"\"},model:{value:(_vm.value.hostnames),callback:function ($$v) {_vm.$set(_vm.value, \"hostnames\", $$v)},expression:\"value.hostnames\"}})],1),_vm._t(\"default\",null,null,_vm.slotScope)],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { UISize } from \"@Service/Settings/Store/AppSettings/AppSettings.state\";\nimport { Host } from \"@Module/Licensing/Models/Host.model\";\nimport { HostFilters } from \"@Module/Licensing/Models/HostFilters.model\";\nimport { License } from \"@Module/Licensing/Models/License.model\";\nimport LicensingStore from \"@Module/Licensing/Store/Licensing.store\";\nimport { ServiceID, ServiceMap } from \"@Service/ServiceID\";\nimport { Component, MapGetter, Prop } from \"types-vue\";\nimport Vue from \"vue\";\n\n@Component\nexport default class HostFiltersPanel extends Vue {\n\n @Prop({ type: Object, required: true })\n protected value: HostFilters;\n\n @Prop({ type: String, required: true })\n protected serviceId: ServiceID;\n\n @Prop({ type: Array, default: null })\n protected data: Host[];\n\n @Prop({ type: Boolean, default: false })\n protected disabled: boolean;\n \n @Prop({ type: String, default: null })\n protected size: UISize;\n\n @MapGetter(LicensingStore.Mapping)\n protected licenses: ServiceMap;\n\n protected get serviceLicenses(): License[] {\n return this.licenses[this.serviceId] || [];\n }\n\n protected get serviceLicenseHosts(): Host[] {\n return this.data || this.serviceLicenses.map(license => license.hosts).flat();\n }\n\n protected get slotScope() {\n return {\n filters: this.value,\n serviceId: this.serviceId,\n data: this.serviceLicenseHosts,\n disabled: this.disabled,\n size: this.size\n }\n }\n\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./HostFiltersPanel.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./HostFiltersPanel.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./HostFiltersPanel.vue?vue&type=template&id=693cba2a&\"\nimport script from \"./HostFiltersPanel.ts?vue&type=script&lang=ts&\"\nexport * from \"./HostFiltersPanel.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ResourcesList.vue?vue&type=style&index=0&lang=scss&\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InviteMemberForm.vue?vue&type=style&index=0&id=71fe5757&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('core.dialog',{ref:\"dialog\",attrs:{\"top\":\"10vh\",\"width\":\"45rem\",\"append-to-body\":\"\",\"visible\":_vm.fInfoDialogVisible},on:{\"closed\":_vm.onClosed},scopedSlots:_vm._u([{key:\"footer\",fn:function(ref){\nvar cancel = ref.cancel;\nreturn _c('div',{staticClass:\"space-x-16\"},[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.onClosed}},[_vm._v(\"Close\")]),(!_vm.isEdit)?_c('core.superadmin-button',{attrs:{\"slot\":\"reference\",\"size\":\"small\"},on:{\"click\":_vm.createElement},slot:\"reference\"},[_c('span',[_vm._v(\"Add Financial Info\")])]):_vm._e(),(_vm.isEdit)?_c('core.superadmin-button',{attrs:{\"slot\":\"reference\",\"size\":\"small\"},on:{\"click\":_vm.updateElement},slot:\"reference\"},[_c('span',[_vm._v(\"Update Financial Info\")])]):_vm._e()],1)}}])},[_c('div',{staticClass:\"reports-form\"},[_c('core.label',{attrs:{\"slot\":\"title\",\"icon-size\":\"18px\",\"icon-spacing\":\".6rem\"},slot:\"title\"},[_c('H2',[_vm._v(\"Add Financial Information\")])],1),_c('div',{staticClass:\"flex flex-wrap container-x-16 container-y-16 mb-16\"},[_c('core.details',{staticClass:\"flex-2\",attrs:{\"label\":\"Month\"}},[_c('el-date-picker',{staticClass:\"flex-2 mb-16\",attrs:{\"type\":\"month\",\"placeholder\":\"Pick a month\"},model:{value:(_vm.fInfo.date),callback:function ($$v) {_vm.$set(_vm.fInfo, \"date\", $$v)},expression:\"fInfo.date\"}})],1),_c('core.details',{staticClass:\"flex-1\",attrs:{\"label\":\"Amount\"}},[_c('el-input-number',{staticClass:\"flex-1 mb-16\",attrs:{\"precision\":2,\"step\":0.5},model:{value:(_vm.fInfo.amount),callback:function ($$v) {_vm.$set(_vm.fInfo, \"amount\", $$v)},expression:\"fInfo.amount\"}})],1)],1),_c('div',{staticClass:\"flex flex-wrap container-x-16 container-y-16 mb-16\"},[_c('core.details',{staticClass:\"flex-1\",attrs:{\"label\":\"Project\"}},[_c('el-input',{staticClass:\"flex-3 mb-16\",attrs:{\"disabled\":_vm.fInfo.type !== 'Professional Services'},model:{value:(_vm.fInfo.project),callback:function ($$v) {_vm.$set(_vm.fInfo, \"project\", $$v)},expression:\"fInfo.project\"}})],1),_c('core.details',{staticClass:\"flex-1\",attrs:{\"label\":\"Type\"}},[_c('el-select',{staticClass:\"flex-3 mb-16\",attrs:{\"placeholder\":\"Select\"},model:{value:(_vm.fInfo.type),callback:function ($$v) {_vm.$set(_vm.fInfo, \"type\", $$v)},expression:\"fInfo.type\"}},_vm._l((_vm.typeOptions),function(item){return _c('el-option',{key:item.id,attrs:{\"value\":item.type}})}),1)],1)],1)],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Contract } from \"@Module/Licensing/Models/Contract.model\";\nimport LicensingStore from \"@Module/Licensing/Store/Licensing.store\";\nimport { Payment } from \"@Module/Reports/Models/Payment.model\";\nimport { IReportContractDto, ReportContract } from \"@Module/Reports/Models/ReportContract.model\";\nimport ReportsStore from \"@Module/Reports/Store/Reports.store\";\nimport { DatePickerOptions } from \"element-ui/types/date-picker\";\nimport DayJS from \"dayjs\";\nimport { Component, MapAction, MapGetter, Prop, Watch} from \"types-vue\";\nimport Vue from \"vue\";\nimport Dialog from \"@Core/Components/Dialog/Dialog\";\nimport { Execution } from \"@Core/Models/Execution\";\nimport { Notify } from \"@Core/Utils/Notify\";\nimport { cloneDeep } from \"lodash\";\nimport { FInfo, IfInfoDto, fInfoTypes } from \"@Module/Reports/Models/FinancialInfo.model\";\nimport ReportsApi from \"@Module/Reports/API/Reports.api\";\n\n@Component\nexport default class FinancialInfoDialog extends Vue {\n @MapGetter(ReportsStore.Mapping)\n protected fInfoDialogVisible: boolean;\n\n @MapAction(ReportsStore.Mapping)\n protected addFInfo: (fInfo: IfInfoDto) => Promise;\n\n @MapAction(ReportsStore.Mapping)\n protected setFInfoDialogVisible: (visible: boolean) => void\n\n @MapAction(ReportsStore.Mapping)\n protected updateFInfo: (fInfo: IfInfoDto) => Promise;\n\n protected fInfo = FInfo.create();\n protected add = Execution.create((fInfo: IfInfoDto) => this.addFInfo(fInfo));\n protected update = Execution.create((fInfo: IfInfoDto) => this.updateFInfo(fInfo));\n protected getFinancialTypes = Execution.create(() => ReportsApi.getFinancialTypes());\n protected isEdit = false;\n protected typeOptions: fInfoTypes[] = [];\n\n public open(editFInfo: FInfo = FInfo.create(), isEdit: boolean) {\n this.fInfo = cloneDeep(editFInfo);\n if (isEdit) {\n this.isEdit = true;\n }\n const dialog = this.$refs.dialog as Dialog;\n return dialog.open();\n }\n\n protected async fetchFinancialTypes() {\n const dtos = await this.getFinancialTypes.run();\n this.typeOptions = dtos.map((dto) => ({ id: dto.id, type: dto.type }));\n }\n\n\n protected onClosed() {\n this.fInfo = FInfo.create();\n (this.$refs.dialog as Dialog).cancel();\n this.isEdit = false;\n this.add.reset();\n this.update.reset();\n this.setFInfoDialogVisible(false);\n }\n\n protected mounted() {\n this.fetchFinancialTypes();\n }\n\n onOpen() {\n this.setFInfoDialogVisible(true) \n }\n\n @Watch(\"fInfo\", { deep: true })\n protected onTypeChanged() {\n if (this.fInfo.type !== 'Professional Services'){\n this.fInfo.project = null;\n }\n }\n\n private async createElement() {\n let date = this.fInfo.date ? DayJS(this.fInfo.date).locale('es').format(\"YYYY-MM-DD\") : null;\n let newFInfo = { amount: this.fInfo.amount, date: date, type: this.fInfo.type, project: this.fInfo?.project };\n await this.add.run(newFInfo);\n if (!this.add.error) {\n Notify.Success({\n title: \"Financial info added\",\n message: \"Financial info successfully added.\",\n duration: 3000\n });\n (this.$refs.dialog as Dialog).success(true);\n } \n}\n\n private async updateElement() {\n let date = this.fInfo.date ? DayJS(this.fInfo.date).locale('es').format(\"YYYY-MM-DD\") : null;\n let newFInfo = { amount: this.fInfo.amount, date: date, type: this.fInfo.type, project: this.fInfo?.project, id: this.fInfo.id};\n await this.update.run(newFInfo);\n if (!this.update.error) {\n Notify.Success({\n title: \"Financial info updated\",\n message: \"Financial info successfully updated.\",\n duration: 3000\n });\n (this.$refs.dialog as Dialog).success(true);\n } \n }\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./FinancialInfoDialog.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!./FinancialInfoDialog.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./FinancialInfoDialog.vue?vue&type=template&id=e683d296&scoped=true&\"\nimport script from \"./FinancialInfoDialog.ts?vue&type=script&lang=ts&\"\nexport * from \"./FinancialInfoDialog.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./FinancialInfoDialog.vue?vue&type=style&index=0&id=e683d296&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"e683d296\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-header',{staticClass:\"header flex p-y-6 p-x-32 space-x-32 items-center\",class:_vm.headerClass},[(_vm.$mq.md)?_c('el-button',{staticClass:\"floating-menu-toggle-button h-full\",attrs:{\"type\":\"text\"},nativeOn:{\"click\":function($event){$event.stopPropagation();return _vm.toggleFloatingMenuVisibility($event)}}},[_c('ion-icon',{attrs:{\"name\":\"menu-outline\"}})],1):_c('router-link',{staticClass:\"flex-none h-full flex items-center\",attrs:{\"to\":\"/cxlink/home\"}},[_c('img',{attrs:{\"height\":\"70%\",\"src\":\"logos/cxlink-logo_color.svg\"}})]),_c('core.service-selector',{staticClass:\"flex-1 header-service-selector\"}),_c('el-menu',{staticClass:\"el-menu-demo\",attrs:{\"mode\":\"horizontal\"}},[_c('el-menu-item',[_c('a',{staticClass:\"header-link\",attrs:{\"href\":_vm.documentationUrl,\"target\":\"_blank\"}},[_vm._v(\"Docs\")])]),_c('el-menu-item',[_c('a',{staticClass:\"header-link\",attrs:{\"href\":\"https://www.syntax.com/software/cxlink/\",\"target\":\"_blank\"}},[_vm._v(\"Website\")])])],1),_c('div',{staticClass:\"line\"}),_c('div',{staticClass:\"header-controls flex-3 flex content-end space-x-6\"},[_c('transition',{attrs:{\"name\":\"el-zoom-in-bottom\"}},[(!!_vm.currentOrgRole && _vm.canSwitchOrg && !_vm.$mq.sm)?_c('el-tooltip',{staticClass:\"no-leave-el-transition\",attrs:{\"content\":\"Organization switcher\",\"effect\":\"light\",\"placement\":\"bottom\",\"disabled\":_vm.orgSwitcherPopoverVisible,\"transition\":\"el-zoom-in-bottom\",\"enterable\":false}},[_c('el-popover',{attrs:{\"width\":\"min-content\",\"disabled\":_vm.shouldDisableControls,\"placement\":\"bottom\",\"transition\":\"el-zoom-in-top\"},on:{\"hide\":function () { return _vm.$refs.orgSwitcher.blur(); }},model:{value:(_vm.orgSwitcherPopoverVisible),callback:function ($$v) {_vm.orgSwitcherPopoverVisible=$$v},expression:\"orgSwitcherPopoverVisible\"}},[_c('core.pulse',{staticClass:\"h-full\",attrs:{\"slot\":\"reference\",\"position\":\"left\",\"disabled\":_vm.currentOrgRole.isMain,\"type\":\"warning\",\"x-offset\":\"16px\",\"y-offset\":\"7px\"},slot:\"reference\"},[_c('el-button',{staticClass:\"h-full\",attrs:{\"disabled\":_vm.shouldDisableControls,\"size\":\"medium\",\"type\":\"text\",\"icon\":\"el-icon-office-building\"}},[_c('span',{staticClass:\"current-org-name\"},[_vm._v(_vm._s(_vm.currentOrgRole.organization.name))])])],1),_c('orgs.org-switcher',{ref:\"orgSwitcher\",attrs:{\"compact\":\"\"},on:{\"select\":function($event){_vm.orgSwitcherPopoverVisible = false}}})],1)],1):_vm._e()],1),_c('transition',{attrs:{\"name\":\"el-zoom-in-bottom\"}},[(!_vm.signedOut && !_vm.signingIn && !_vm.signingOut)?_c('notifications.notifications-inbox-popover',{staticClass:\"no-leave-el-transition\",attrs:{\"disabled\":_vm.shouldDisableControls}},[_c('el-badge',{staticClass:\"notifications-badge h-full\",attrs:{\"slot\":\"reference\",\"value\":_vm.inbox.length,\"hidden\":_vm.inbox.length === 0},slot:\"reference\"},[_c('el-button',{staticClass:\"header-button h-full\",attrs:{\"size\":\"medium\",\"disabled\":_vm.shouldDisableControls,\"type\":\"text\",\"icon\":\"el-icon-postcard\"}})],1)],1):_vm._e()],1),(!_vm.$mq.md)?_c('el-tooltip',{attrs:{\"content\":\"Settings\",\"effect\":\"light\",\"placement\":\"bottom\",\"transition\":\"el-zoom-in-bottom\",\"enterable\":false,\"visible-arrow\":true}},[_c('el-button',{staticClass:\"header-button h-full\",attrs:{\"size\":\"medium\",\"type\":\"text\",\"icon\":\"el-icon-set-up\",\"disabled\":_vm.signingIn || _vm.signingOut || (!!_vm.currentRoute && _vm.currentRoute.path === '/settings/application')},on:{\"click\":_vm.goToAppSettings}})],1):_vm._e(),_c('core.user-menu',{staticClass:\"ml-4\"}),(_vm.$ENV.isLocal)?_c('auth.role-testing'):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import NotificationsInboxStore from \"@Module/Notifications/Store/NotificationsInbox.store\";\nimport { UIContentSizeMode } from \"@Service/Settings/Store/AppSettings/AppSettings.state\";\nimport AppSettingsStore from \"@Service/Settings/Store/AppSettings/AppSettings.store\";\nimport { OrganizationRole } from \"@Module/Orgs/Models/Roles/OrganizationRole.model\";\nimport { Notification } from \"@Module/Notifications/Models/Notification.model\";\nimport NavigationStore from \"@Core/Store/Navigation/Navigation.store\";\nimport { Component, MapAction, MapGetter } from \"types-vue\";\nimport { AuthStatus } from \"@Module/Auth/Store/Auth.state\";\nimport { ConsoleRoute } from \"@Core/Models/ConsoleRoute\";\nimport AuthStore from \"@Module/Auth/Store/Auth.store\";\nimport OrgsStore from \"@Module/Orgs/Store/Orgs.store\";\nimport MenuStore from \"@Core/Store/Menu/Menu.store\";\nimport { Map } from \"@Core/Models/Map\";\nimport Vue from \"vue\";\n\n@Component\nexport default class Header extends Vue {\n\n @MapGetter(AppSettingsStore.Mapping)\n protected isPlainUi: boolean;\n\n @MapGetter(NavigationStore.Mapping)\n protected docsUrl: string;\n\n @MapGetter(AppSettingsStore.Mapping)\n protected uiContentSizeMode: UIContentSizeMode;\n\n @MapAction(MenuStore.Mapping)\n protected toggleFloatingMenuVisibility: () => Promise;\n\n @MapGetter(NavigationStore.Mapping)\n protected currentRoute: ConsoleRoute;\n\n @MapGetter(AuthStore.Mapping)\n protected authStatus: AuthStatus;\n\n @MapGetter(OrgsStore.Mapping)\n protected currentOrgRole: OrganizationRole;\n\n @MapGetter(NotificationsInboxStore.Mapping)\n protected inbox: Notification[];\n\n @MapGetter(OrgsStore.Mapping)\n protected canSwitchOrg: boolean;\n\n protected orgSwitcherPopoverVisible: boolean = false;\n\n protected goToAppSettings() {\n this.$router.push(\"/settings/application\").catch(e => e);\n }\n\n protected get restoringSession(): boolean {\n return this.authStatus === AuthStatus.RestoringSession;\n }\n\n protected get signingOut(): boolean {\n return this.authStatus === AuthStatus.SigningOut;\n }\n\n protected get signedOut(): boolean {\n return this.authStatus === AuthStatus.SignedOut;\n }\n\n protected get signingIn(): boolean {\n return this.authStatus === AuthStatus.SigningIn;\n }\n\n protected get signedIn(): boolean {\n return this.authStatus === AuthStatus.SignedIn;\n }\n\n protected get shouldDisableControls(): boolean {\n return this.signingIn || this.signingOut || this.restoringSession;\n }\n\n protected get documentationUrl(): string{\n return `${process.env.VUE_APP_SERVICE_URL_DOCS}`\n }\n\n protected get headerClass(): Map {\n return {\n \"is-plain\": this.isPlainUi,\n \"is-airy\": this.uiContentSizeMode === \"airy\",\n \"is-docs-embedded\": !!this.docsUrl,\n }\n }\n \n}","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./Header.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./Header.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Header.vue?vue&type=template&id=3fb85024&scoped=true&\"\nimport script from \"./Header.ts?vue&type=script&lang=ts&\"\nexport * from \"./Header.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./Header.vue?vue&type=style&index=0&lang=scss&\"\nimport style1 from \"./Header.vue?vue&type=style&index=1&id=3fb85024&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3fb85024\",\n null\n \n)\n\nexport default component.exports","import DayJS, { Dayjs } from \"dayjs\";\n\nexport interface ILeadGeneratorDto {\n id: string;\n name: string;\n}\n\nexport class LeadGenerator {\n id?: string;\n name: string;\n\n private constructor(dto: ILeadGeneratorDto ) {\n this.id = dto.id;\n this.name = dto.name;\n }\n\n public static create(dto?: Partial): LeadGenerator {\n return new LeadGenerator({\n id: dto?.id,\n name: dto?.name,\n });\n }\n\n public toDto(): ILeadGeneratorDto {\n return {\n id: this.id,\n name: this.name,\n };\n }\n\n public static fromDto(dto: ILeadGeneratorDto ): LeadGenerator {\n return new LeadGenerator(dto);\n }\n}"],"sourceRoot":""}